I’m torn on issues like this. I respect and support companies that intend to make their software free and open for personal and academic use, but charge for commercial use. But the licensing challenges surrounding support of this intent is tricky, and is often attacked by FOSS purists. I don’t think a good license exists for companies like Neo4j, MongoDB, Elastic, etc…and we need one.
(I have contributed OSS in a minor way via a few original projects. I don’t run a business. I don’t have a dog in this fight. But imo ..)
If you start an OSS project, get contributions, then the thing becomes a hit, and then when money comes knocking on the door — investors want returns as it happens — and you then suddenly realize that you wanted a business after all. Then you will run into then “no good license” issue if you still want the help of free OSS patches, workers, and OSS monicker but need to protect business interests.
One the other hand, you can start with intent of making a business from your OSS project, and give non-transferable non-commercial license grants (of a foundational subset e.g. a single node graph db) to whoever wants to see or help you with the code. This scenario is (ianal) supported by existing commercial licenses. However this -may- limit the free flow of code and love and care by non-stakeholders of your commercial endeavor. I am not sure if anyone has ever tried this.
IMHO it’s because we have no real way to pivot with this stuff, and you said it well enough, I just want to add:
In my mind, you’re either an OSS person who “goes viral” and maybe gets picked up or a large “thank you” contrib to your “buy me a coffee” bucket.. or you’re actually trying to make a product but need to “market test” on the old (but hardly ever used anymore) “shareware” concept. Free market testing and occasional PRs is not a proper path to IPO or venture capital. It’s just that you didn’t realize it when you set out, or you did and you’re “meta gaming” the lifecycle.
With a (to be invented?) license that allows pivoting, I reckon it can be the kind of thing that happens, and is a potential known to any product with that license.
Not that it works especially well for patents, but I could imagine a RAND licensing scheme for open source contributors that triggers when a license transitions from open to closed.
I imagine readers who've never babysat open source projects think that you "get contributions" and "free OSS patches, workers" but those things, for 99.9% of projects are 1-illusory, 2-when and if they materialize, usually more cost than benefit.
Patches are not the only contribution, although I am sure that while not every OSS projects get many, the most visible ones do get also Patches. Anyway whatabout the early testing, bugfiling, documentation and helping others to understand how to use these projects. A lot of people get involved with these activites because they want to support an OSS Project and often these, (especially testing early releases and Developer advocacy) are more important than a patch contribution for the success of the project and the chance for it to become profitable.
This is so true. I don't really want people to contribute because it takes more time to assess what they did vs just mindlessly doing it yourself. If I had the time to review I would rather implement the feature or fix.
I don’t think it’s about it being a hit so much as the business dynamics have changed incredibly the last 13 years, when many of these projects took off. Open source as a business is incompatible with the Cloud.
This is an excellent point. Something changed. I'd argue that that however yet again brings us back to question of intent. There were pathways, RH for ex., that had worked as viable business models. But then cloud messed up with the well laid 'plans'.
what’s the label for open source idealists who view IP/copyright as fundamentally incompatible with the mission?
i’m not talking about the MIT or “permissive license” crowd, but the smaller group which explicitly avoids providing a license because doing so would grant legitimacy to the idea that intellectual property is a thing which should be licensed/controlled.
tends to have an overlap in piracy circles and anarchists, probably because copyright is tied to the state/legal code. anyway i see enough of them now where the acronyms like FOSS, FLOSS, etc definitely don’t apply, but i’m not sure what label to use instead.
It's a good model but only when it starts like that from the beginnig.
How many developers have contributed to that open source because of the liberal orginal license? Now they take all that work and make it commercial? Ok but in that case the rights should revert to the orginal contributors and the company should make licensing terms with them for the Commercial part.
Most of the controversies have been about this bait&switch Aproach.
Unless all your contributors signed copyright assignment to you (or you have no external contributors), you cannot just restrict license this way for copyleft licenses.
Ofcourse the contributors have signed copyright assignment to you (that's mostly standard practice) but they have done so for a project that at the time was with the liberal license. It may not be illegal but it's certainly abusive to then switch licenses because chances are those would not have signed the copyright away for free for a commercial product in the first place.
The real problem is that they picked the AGPL, which has the Further Restrictions clause. If they didn’t want that, then they should have picked something else. They could have created a custom license, but instead they proudly announced that they were choosing the AGPL, and they gained significant goodwill from that. This lawsuit demonstrates that they are either incompetent, or that they were attempting to use the AGPL in a fraudulent way.
I know virtually nothing about the software, but I keep hearing over and over about the licensing problems. I doubt it’s the reason they want people to remember their name.
Yeah, if money and time is no object graph databases are a joy to use but being a commercial database is pretty much the death knell for support in different languages and frameworks.
That is essentially a proprietary license that will turn the licensed work to FOSS software after a given period of time. So that everyone can use and fork the software, but the original author can also make money out of it sustainably.
Thank you for bringing that license to my attention. I've been figuring out licensing for a project and out of all the ways I've looked into, this one fits my thinking the most.
> But if the license is referred to as the AGPLv3, then its Further Restrictions Clause – which allows users of APGLv3 licensed software to remove added licensing terms – should apply. If the court accepts that argument, it would be a significant reversal: PureThink would be allowed to fork Neo4J EE under the AGPLv3.
Huh, what if they removed that but still called it an AGPLv3 license?
Also does that apply to other GPL licenses like the normal GPL or LGPL?
If they had removed the Further Restrictions clause and still called it the AGPLv3, then they would have infringed on the FSF’s trademarks. The FSF grants anyone a license to use the language of the GPL, LGPL and AGPL licenses however they want, provided they either use the whole thing under the proper name, or they use only the parts they want under a name of their own.
That is an aspect the fine article omitted, alas. It explains the title as well as giving a reason why a private company couldn't release something under whatever license they like.
Basically: they can, but cannot give the license a trademarked name then.
I don’t understand how this argument helps PureThink at all. Even if Neo4j is not allowed to refer to their license as “AGPLv3 with the commons clause as follows” then isn’t that between them and FSF?
PureThink isn’t a party to that dispute, and the inclusion of the clause was apparently stated at the beginning of the license that they are, presumably, subject to.
That said, what does look interesting to me is the whole ‘Additional Conditions’ section of AGPL which one could argue is still effective over what is written in the “Commons clause.” From that clause:
> Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.
Since it does not limit the Additional Conditions section or say ‘notwithstanding’ that verbiage, then it seems it would still be subject to subsequent removal of the commons clause condition.
"defendants PureThink and founder John Mark Suhy, who were sued by database biz Neo4j in November 2018, for alleged trademark and competition law violations."
That is what i meant. PureThink (got) sued.
Ironically, i would guess they'd like to have nothing to do with the matter and get back to whatever it is they do. neo4j have lawers in the drawers, they can battle for years over this.
I’m talking specifically about the defense in the article that ‘if they include AGPLv3 in the title then it has to be AGPLv3’ due to the GPL/AGPL being a trademark owned by the FSF (this is argued in the expert report linked in the article.)
That defense somehow would require a trademark issue with the FSF to be remedied by granting a more lenient license to the third party (PureThink, the defendant here.)
As I understood it, AGPLv3's contains a clause that allows the users (Purethink in this case) to remove additional conditions added to the license. In this case to remove the Commons clause because it was added to the AGPLv3. So they can use the Software under pure AGPLv3.
| But if the license is referred to as the AGPLv3, then its Further Restrictions |Clause – which allows users of APGLv3 licensed software to remove added
|licensing terms –
If they had called anything else than AGPLv3 (something that i understand is permissable) than they can not remove the extra restrictions because only the users of AGPLv3 can remove those.
If someone took the name Mikey Mouse. Stamped it on a dvd along with some +18 content, and then had the guts to sue Walt's brother and friends for taking that film, editing it to make it suitable for kids, i bet we would call that totally absurd.
We aren't far off with this court case, unless i don't understand the issue.
And for those who undoubtly miss to understand the issue, they at neo4j mistakenly or knowingly put glucose in their sugar free advertised product, and pretend nobody should be allowed to remove the junk because they made the rest of the recipe and made sure to include glucose in the ingredients lists since the beginning.
Sadly they may win in the court since even hackernews readers don't immediately see the mascarade.
Apples to oranges. The Mouse is protected by copyright; GPL-ed software is protected by copyleft. When you distribute copyleft software, you're explicitly granting rights to your downstream users. You can't just decide one day to retroactively change the terms.
> And for those who undoubtly miss to understand the issue ...
Clearly, you misunderstand the issue. Neo4j specifically told people to modify their recipe however they please as long as the license is respected. Yes, this is the very license that allows this. It's a completely different (and undefendable) issue that they did so by committing the legal equivalent of copying code from Stack overflow and not even reading it. The law doesn't work like code does and you can't just claim, "Sorry, there was a bug. You will be forced to download a software update." when it comes to copyrights and contracts.
AGPL3 is radioactive to users and businesses. Google absolutely refuses to use anything with it because there's no way to prove it can't become part of some service. If some FOSS is so wonderful, users will buy support contracts with something actually free like MIT, BSD-2, or Apache 2. Forcing people to do things another way and telling them what they can or can't do with "open" source isn't free or open. Call it what it is: idealistic purity tests of extremists.
The (A)GPL licenses were designed for user freedom, not developer freedom. That indeed means that some companies might not want to use it, because they dont want to give their users access to the code. But for the people who prefer this license, that's not an unintended consequence, but the whole point.
I am unconvinced that either one is sufficiently free for end-users. It's been a bit since I've done a close reading, but doesn't GPL consider any linkage to create a derivative work? Dynamic linkage is something the end-user does.
If I'm an end-user and want to replace a GPL .so with a GPL-incompatible .so (maybe it has better performance or fewer bugs or whatever), and an installed GPL program uses that library, isn't it the case that the GPL forbids me from doing so unless I also have the right to re-license the .so as GPL?
The GPL doesn’t restrict the end user in that way. The GPL specifically allows the end user to use the software however they like. This includes combining it with software that uses an incompatible license.
The one restriction that the GPL does make only applies if you _redistribute_ your modifications. If you make modifications to the software or combine it with something else, then you are required by the terms of the GPL to license the result of those modifications under the GPL. But if you’ve modified the program by combining it with something that has license terms incompatible with the GPL then you won’t be able to do that. Since you cannot license the modified software under the GPL, you do not have permission to redistribute it.
That is a modification, but since you are redistributing it the GPL doesn’t limit you in any way. It specifically allows you to make any use of the software that you like.
How is it a modification? Replacing a dynamic library with another doesn't fit the definition under copyright law or under the GPL.
> To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy.
For the sake of continuing the hypothetical, let's say I do distribute it. Let's say I make a Linux distro that includes bash and a proprietary derivative of libedit with an API shim (fair use) to make it compatible with GNU readline.
What's interesting and potentially problematic is that the FSF clearly interprets dynamic linking to create a derivative work, but the GPL doesn't actually say that.
> The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.
There is no reason to start with the FAQ. The FAQ is irrelevant. The FAQ is not part of the GPL and has no legal force whatsoever.
What part of the GPL brings swapping dynamically linked libraries within the definition of "modify"?
Because on first read, not only is such an activity not explicitly included, it is explicitly excluded — since you do not need copyright permission for program X to swap out library Y that it relies upon, see 17 U.S.C. § 117(a)(1) (excluding copies made in memory at runtime from the need for copyright permission), it can never be a modification to do so.
I don’t know why you bring up 17 U.S.C. § 117(a)(1); it is completely irrelevant to your question. It is an important thing to understand, but it doesn’t have any effect on the answer to the question you asked. I can’t even fathom why you would think that it does. Maybe it is some kind of motivated reasoning?
The FAQ is, however, quite relevant. It’s certainly not part of the text of the GPL, but your Question is very Frequently Asked, and thus the answer to it is right there (<https://www.gnu.org/licenses/gpl-faq.html#MoneyGuzzlerInc>).
I'd like to modify GPL-covered programs and link them with the
portability libraries from Money Guzzler Inc. I cannot distribute
the source code for these libraries, so any user who wanted to
change these versions would have to obtain those libraries
separately. Why doesn't the GPL permit this? (#MoneyGuzzlerInc)
There are two reasons for this. First, a general one. If we
permitted company A to make a proprietary file, and company B
to distribute GPL-covered software linked with that file, the
effect would be to make a hole in the GPL big enough to drive
a truck through. This would be carte blanche for withholding
the source code for all sorts of modifications and extensions
to GPL-covered software.
Giving all users access to the source code is one of our main
goals, so this consequence is definitely something we want to
avoid.
More concretely, the versions of the programs linked with the
Money Guzzler libraries would not really be free software as
we understand the term—they would not come with full source
code that enables users to change and recompile the program.
This is a legal question. The statute, which is a legal authority, is absolutely relevant. The FAQ, which is not a legal authority and not part of the license and not even published by any relevant party, is absolutely irrelevant.
Is it the end-user telling the dynamic linker loader to load the .so, or is it the program you distributed to them?
> If I'm an end-user and ... isn't it the case that the GPL forbids me from doing so unless I also ...
No, it doesn't. You can do anything you want if you're the end-user. It's only when you distribute to others (outside your organisation) that the GPL kicks in.
Agreed. Google’s allergy to the AGPL should make people sit up and take notice. This is a license with teeth, so well written that even Google can’t find a way to subvert it. If you want to write software and give it away without any risk that Google will make a billion dollars off of your hard work without contributing anything back, the AGPL is the way to go.
That has a link to AGPL's Wikipedia page. So maybe that statement alone is enough to make it AGPL v3 even if they have a modified version of it elsewhere?
> If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restriction,
you may remove that term. If a license document contains a further
restriction but permits relicensing or conveying under this License, you
may add to a covered work material governed by the terms of that license
document, provided that the further restriction does not survive such
relicensing or conveying.
From the applicable version of their license[0]. Which appears to be the standard AGPL text, excepting the top and bottom. If it's dual licensed, then AGPL terms apply, which allow removing restrictions that get added.
Seems simple, it's only AGPL (from their own license! [0]):
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restriction,
you may remove that term. If a license document contains a further
restriction but permits relicensing or conveying under this License, you
may add to a covered work material governed by the terms of that license
document, provided that the further restriction does not survive such
relicensing or conveying.
uf that would also mean that itext's additional clause is unnecessary:
> When using iText 7 Community under AGPL, you must prominently mention iText and include the iText copyright and AGPL license in output file metadata, and also retain the producer line in every PDF that is created or manipulated using iText.
57 comments
[ 4.1 ms ] story [ 126 ms ] thread(I have contributed OSS in a minor way via a few original projects. I don’t run a business. I don’t have a dog in this fight. But imo ..)
If you start an OSS project, get contributions, then the thing becomes a hit, and then when money comes knocking on the door — investors want returns as it happens — and you then suddenly realize that you wanted a business after all. Then you will run into then “no good license” issue if you still want the help of free OSS patches, workers, and OSS monicker but need to protect business interests.
One the other hand, you can start with intent of making a business from your OSS project, and give non-transferable non-commercial license grants (of a foundational subset e.g. a single node graph db) to whoever wants to see or help you with the code. This scenario is (ianal) supported by existing commercial licenses. However this -may- limit the free flow of code and love and care by non-stakeholders of your commercial endeavor. I am not sure if anyone has ever tried this.
In my mind, you’re either an OSS person who “goes viral” and maybe gets picked up or a large “thank you” contrib to your “buy me a coffee” bucket.. or you’re actually trying to make a product but need to “market test” on the old (but hardly ever used anymore) “shareware” concept. Free market testing and occasional PRs is not a proper path to IPO or venture capital. It’s just that you didn’t realize it when you set out, or you did and you’re “meta gaming” the lifecycle.
With a (to be invented?) license that allows pivoting, I reckon it can be the kind of thing that happens, and is a potential known to any product with that license.
I just don’t see it being popular.
- bugs that are actually free support
- feature requests for things that some company needs, but won't pay them to create
- pull requests you can't accept, need to review, etc.
i’m not talking about the MIT or “permissive license” crowd, but the smaller group which explicitly avoids providing a license because doing so would grant legitimacy to the idea that intellectual property is a thing which should be licensed/controlled.
tends to have an overlap in piracy circles and anarchists, probably because copyright is tied to the state/legal code. anyway i see enough of them now where the acronyms like FOSS, FLOSS, etc definitely don’t apply, but i’m not sure what label to use instead.
Most of the controversies have been about this bait&switch Aproach.
That is essentially a proprietary license that will turn the licensed work to FOSS software after a given period of time. So that everyone can use and fork the software, but the original author can also make money out of it sustainably.
Huh, what if they removed that but still called it an AGPLv3 license?
Also does that apply to other GPL licenses like the normal GPL or LGPL?
That is an aspect the fine article omitted, alas. It explains the title as well as giving a reason why a private company couldn't release something under whatever license they like.
Basically: they can, but cannot give the license a trademarked name then.
PureThink isn’t a party to that dispute, and the inclusion of the clause was apparently stated at the beginning of the license that they are, presumably, subject to.
That said, what does look interesting to me is the whole ‘Additional Conditions’ section of AGPL which one could argue is still effective over what is written in the “Commons clause.” From that clause:
> Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.
Since it does not limit the Additional Conditions section or say ‘notwithstanding’ that verbiage, then it seems it would still be subject to subsequent removal of the commons clause condition.
That defense somehow would require a trademark issue with the FSF to be remedied by granting a more lenient license to the third party (PureThink, the defendant here.)
| But if the license is referred to as the AGPLv3, then its Further Restrictions |Clause – which allows users of APGLv3 licensed software to remove added |licensing terms –
If they had called anything else than AGPLv3 (something that i understand is permissable) than they can not remove the extra restrictions because only the users of AGPLv3 can remove those.
And for those who undoubtly miss to understand the issue, they at neo4j mistakenly or knowingly put glucose in their sugar free advertised product, and pretend nobody should be allowed to remove the junk because they made the rest of the recipe and made sure to include glucose in the ingredients lists since the beginning.
Sadly they may win in the court since even hackernews readers don't immediately see the mascarade.
That word is redolent of Pride parades. It brings to mind a person in costume, with eye make-up.
> And for those who undoubtly miss to understand the issue ...
Clearly, you misunderstand the issue. Neo4j specifically told people to modify their recipe however they please as long as the license is respected. Yes, this is the very license that allows this. It's a completely different (and undefendable) issue that they did so by committing the legal equivalent of copying code from Stack overflow and not even reading it. The law doesn't work like code does and you can't just claim, "Sorry, there was a bug. You will be forced to download a software update." when it comes to copyrights and contracts.
I see AGPL and I see something to skip.
If I'm an end-user and want to replace a GPL .so with a GPL-incompatible .so (maybe it has better performance or fewer bugs or whatever), and an installed GPL program uses that library, isn't it the case that the GPL forbids me from doing so unless I also have the right to re-license the .so as GPL?
The one restriction that the GPL does make only applies if you _redistribute_ your modifications. If you make modifications to the software or combine it with something else, then you are required by the terms of the GPL to license the result of those modifications under the GPL. But if you’ve modified the program by combining it with something that has license terms incompatible with the GPL then you won’t be able to do that. Since you cannot license the modified software under the GPL, you do not have permission to redistribute it.
In any case, I have serious doubts about the legality of the GPL (as opposed to the LGPL) after Google v. Oracle.
> To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy.
https://www.gnu.org/licenses/gpl-3.0.en.html
For the sake of continuing the hypothetical, let's say I do distribute it. Let's say I make a Linux distro that includes bash and a proprietary derivative of libedit with an API shim (fair use) to make it compatible with GNU readline.
What's interesting and potentially problematic is that the FSF clearly interprets dynamic linking to create a derivative work, but the GPL doesn't actually say that.
This is found in their commentary at the end of https://www.gnu.org/licenses/gpl-3.0.en.html:
> The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.
Also see: https://www.gnu.org/licenses/why-not-lgpl.html
Swapping out one library for another compatible one is a modification of the program.
What part of the GPL brings swapping dynamically linked libraries within the definition of "modify"?
Because on first read, not only is such an activity not explicitly included, it is explicitly excluded — since you do not need copyright permission for program X to swap out library Y that it relies upon, see 17 U.S.C. § 117(a)(1) (excluding copies made in memory at runtime from the need for copyright permission), it can never be a modification to do so.
The FAQ is, however, quite relevant. It’s certainly not part of the text of the GPL, but your Question is very Frequently Asked, and thus the answer to it is right there (<https://www.gnu.org/licenses/gpl-faq.html#MoneyGuzzlerInc>).
Is it the end-user telling the dynamic linker loader to load the .so, or is it the program you distributed to them?
> If I'm an end-user and ... isn't it the case that the GPL forbids me from doing so unless I also ...
No, it doesn't. You can do anything you want if you're the end-user. It's only when you distribute to others (outside your organisation) that the GPL kicks in.
"Neo4j Enterprise Edition is dual licensed under Neo4j commercial license as well as under the free Affero General Public License (AGPL) v3." [https://web.archive.org/web/20160327040441/http://neo4j.com/...]
That has a link to AGPL's Wikipedia page. So maybe that statement alone is enough to make it AGPL v3 even if they have a modified version of it elsewhere?
From the applicable version of their license[0]. Which appears to be the standard AGPL text, excepting the top and bottom. If it's dual licensed, then AGPL terms apply, which allow removing restrictions that get added.
0: https://github.com/neo4j/neo4j/blob/3.4/enterprise/neo4j-ent...
> When using iText 7 Community under AGPL, you must prominently mention iText and include the iText copyright and AGPL license in output file metadata, and also retain the producer line in every PDF that is created or manipulated using iText.
https://itextpdf.com/how-buy/AGPLv3-license