Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Essentially, by adding the commons clause to it, they did write their own license. If there is a complaint here it seems it would have to be about trademark infringement for calling it the AGPL. Not sure why SP calls this surprising. The AGPL itself is NOT licensed! There is no contract between FSF and Neo4J.


> The AGPL itself is NOT licensed! There is no contract between FSF and Neo4J.

The AGPL begins with a copyright notice, followed by the statement:

> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

That looks to me like the license terms for using the AGPL itself. Modification isn't permitted, so if you want to construct a new license with the AGPL as the starting point, you have to use the AGPL verbatim followed by exceptions, because modifying the AGPL itself to delete the bits you don't want would be copyright infringement.

Part of what's at issue here is whether Neo4J can append exceptions that effectively delete arbitrary portions of the AGPL even though Neo4J is required to keep the dead code in their license text. But Neo4J only seems to have done that implicitly, because the Commons Clause doesn't explicitly override the portions of the AGPL that talk about exceptions (and includes the problematic statement "Without limiting other conditions in the License").


You don't have to modify the AGPL to impose additional restrictions.

All you have to do is put your additional restrictions in the LICENSE.txt file and then at the end include "All further licensing conditions, rights and clauses are specified in LICENSE_AGPL.txt. Any such conditions, rights and clauses specified in LICENSE_AGPL.txt do not override, replace, nullify, void or otherwise affect conditions of this document unless specified in the very same document. This document takes precedence over any text in LICENSE_AGPL.txt"

And now you have an unmodified AGPL with additional restrictions as much as you want to.


> And now you have an unmodified AGPL with additional restrictions as much as you want to.

Sure, but Neo4J didn't come close to doing that. They just appended the Commons Clause text, which is not at all clear about which bits of the AGPL are superseded or nullified, and has some obvious flaws (eg. "as defined below" should have been changed to "as defined above").


If you do that, then you’ve got “Commons Clause + AGPL”, which would be fine, but what Neo4j built is “AGPL + Commons Clause”, which is not.


You can still just append the AGPL to your own license text or append yours to the AGPL. In neither case the AGPL is modified, you're just adding other contract conditions.

Just like in the real world it wouldn't matter if you used a boilerplate contract and then put a page at the start or end with additional conditions. So long as you see the additional conditions, it's a valid contract.


> In neither case the AGPL is modified, you're just adding other contract conditions.

That’s not nearly as clear-cut as you make it out to be, and future court rulings may contradict this one.

The AGPL after all is still a copyrighted work, and a future court may rule that the authors of the AGPL clearly intended their work to only ever be used without being bundled that way.


But the original license says that additions are allowed to be removed. They picked the license that said this, presumably because it’s open source certified. However if they did not like the terms they should not have licensed their software under that license.


Additions by other licensees can be removed. The original licensor is free to add and remove clauses as much as they like and make them enforceable, after all, they're the ones that own the copyright and get to decide which license contracts to enter and which not.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: