FYI: An appeals court may kill a GNU GPL software license
Defense of FOSS licensing rests on the shoulders of a guy in Virginia
Updated At some point in the months ahead, the United States Court of Appeals for the Ninth Circuit will consider an effort to reverse a California federal district court's decision in Neo4j v. PureThink.
If the appellate court upholds that decision, which endorsed database maker Neo4j's right to amend the GNU Affero General Public License, version 3, governing the use of its software with new binding terms, current assumptions about the enforceability of copyleft licenses will no longer apply.
A summary of the situation: The GNU AGPLv3 is a free and open source software (FOSS) license largely based on the GNU GPLv3, both of which are published by the Free Software Foundation (FSF). Neo4j provided database software under the AGPLv3, then tweaked the license, leading to legal battles over forks of the software.
The AGPLv3 includes language that says any added restrictions or requirements are removable, meaning someone could just file off Neo4j's changes to the usage and distribution license, reverting it back to the standard AGPLv3, which the biz has argued and successfully fought against in that California district court.
Now the matter, the validity of that modified FOSS license, is before an appeals court in the USA.
"I don't think the community realizes that if the Ninth Circuit upholds the lower court’s ruling, it won’t just kill GPLv3," PureThink's John Mark Suhy told The Register.
"It will create a dangerous legal precedent that could be used to undermine all open-source licenses, allowing licensors to impose unexpected restrictions and fundamentally eroding the trust that makes open source possible."
Perhaps equally concerning is the fact that Suhy, founder and CTO of PureThink and iGov (the two firms sued by Neo4j), and presently CTO of IT consultancy Greystones Group, is defending GPL licenses on his own, pro se, without the help of the FSF, founded by Richard Stallman, creator of the GNU General Public License.
"I'm actually doing everything pro se because I used up all my savings to fight it in the lower court," said Suhy. "I'm surprised the Free Software Foundation didn't care too much about it. They always had an excuse about not having the money for it. Luckily the Software Freedom Conservancy came in and helped out there."
Asked to comment on why the FSF has chosen not to participate, a spokesperson for the non-profit said, "I cannot disclose anything on the FSF's legal strategies or elaborate on the complexities of the case.
"However, I can state that the FSF does not allow the making or distributing of altered versions of the licenses, including the GNU AGPLv3, resulting in unauthorized derivative works and confusing users. The FSF is working to make sure this is understood."
In January, the Software Freedom Conservancy, an open source advocacy group that intervened to help Suhy several years ago, submitted an amicus brief to the Ninth Circuit. The group said, "The lower court's interpretation, if upheld on appeal, could radically alter the community's understanding of whether and how 'further restrictions' ... may be added and removed."
The appeals court now has to decide whether to accept the friend-of-the-court filing – the plaintiff Neo4j has objected. And at some later date, the appeals court will render a decision.
In-depth
The issue before the appeals court boils down to the right to remove contractual restrictions added to the terms of the APGL. This right is spelled out in AGPLv3, section 7, paragraph 4: "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." Other GPLs contain similar terms.
The California court issued a partial summary judgment in 2022. The court did affirm that a license created by combining the AGPL with other non-open-source terms cannot be called "free and open source." But it also accepted Neo4j's interpretation of the license such that licensors (those licensing software) could add additional restrictive terms but licensees (those using the software) could not remove those terms.
It was the removal of Neo4j's terms, as allowed under the AGPL, and the competition that ensued that sparked the litigation.
In May 2018, Neo4j dropped the GNU Affero General Public License (AGPL) for its Neo4j EE (enterprise edition) and replaced it with a new license that incorporated the AGPLv3 with the Commons Clause license. The revised license disallowed non-paying software users from reselling the code or offering support services.
- WordPress war latest: Ploy to trademark Hosted WordPress, Managed WordPress derailed
- Free-software warriors celebrate landmark case that enforced GNU LGPL
- Honey co-founder's Pie Adblock called out for copying GPL'd uBlock Origin files
- Open Source Initiative tries to define Open Source AI
As a result, Neo4j's open source code was forked under the name ONgDB, as allowed under AGPL, and offered by The Graph Foundation, PureThink, and iGov as a free, open source alternative that lacked the Common Clause restrictions added to Neo4j's software.
Then in 2018 and 2019, Neo4j and its Swedish subsidiary sued, claiming violations of its amended license and of its trademarks. The Graph Foundation settled in February 2021. And in May that year, Neo4j won a partial summary judgment [PDF] against Suhy's PureThink and iGov.
Much of the case focused on trademark violations. But the court's preliminary injunction also included the following prohibition: Suhy was enjoined from "representing that Neo4j Sweden AB’s addition of the Commons Clause to the license governing Neo4j Enterprise Edition violated the terms of AGPL or that removal of the Commons Clause is lawful, and similar statements."
That's the court saying the AGPL can be modified with the addition of the Commons Clause license and that modification cannot be undone, despite what the AGPL says.
According to the Software Freedom Conservancy, US District Court Judge Edward J. Davila, of San Jose, California, erred in his decision to accept Neo4j's interpretation of the AGPL. And the matter has been under appeal since then.
The appeal, however, presents some risk to the FOSS community because it might fail and set a precedent. Were Suhy to simply pay damages and move on, the district court's decision would be relevant mainly to that one case. Other litigation might cite the decision in arguments but it wouldn't be binding.
A ruling from the Ninth Circuit, however, can be expected to set a binding legal precedent within its jurisdiction – the Western US, Alaska, Guam, and Hawaii – unless the Supreme Court gets involved.
So if the district court's decision is upheld, the law would support taking GPL code and adding restrictions that cannot be removed, contrary to the entire purpose of the GPL. It might also imperil Neo4j forks ONgDB and DozerDB.
Suhy said that he's unsure why the Free Software Foundation didn't choose to intervene.
"They actually did not want me to appeal," Suhy explained.
"I've actually had other organizations reach out to me and try to stop me from appealing. I basically said: Listen, this is my livelihood. I'm fighting for myself and protecting my family. Why don't you help me either by giving legal guidance or by providing a lawyer?
"I was willing to work with them. I want to make sure that we protect the license and make sure that there's no dangerous precedent. And the only thing that they could come up with was not to appeal, which I couldn't do."
On its licensing page, Neo4j insists: "Neo4j is committed to open source. Neo4j Community Edition is fully open source, licensed and distributed under GPL v3.
"Neo4j offers a number of commercial licensing options, including free licenses for development, startups, academic-educational uses and of course, evaluation." ®
Updated to add on February 28
The Register understands that the FSF is now planning to file an amicus brief shortly.