Hacker News new | ask | show | jobs
by keskival 677 days ago
The point of an OSS license in these kinds of situations is pretty simple:

They need to pick a license which is salty enough so that big corporations cannot use it, but have to buy a special license from the authors.

Meanwhile they can support and benefit from the open source community without bureaucracy, and get a maximal userbase to create content on the web about this stack, and have a maximal number of people who know this stack and want to use it.

AGPL is perfect for this.

3 comments

Absolutely. As the copyright owners, the authors of the software can always sell permissions to corporations. This allows software to become free. Stallman himself has suggested this to corporations:

https://www.gnu.org/philosophy/selling-exceptions.html

People have pointed out to me that the above is not quite the same as what happens today with people building proprietary SaaS platforms. So I emailed Stallman to ask about the ethics of it. This was his reply:

  > It is my understanding that as the copyright holders
  > they have the right to do it without any problems.
  > They leverage the AGPLv3 to make it harder for their
  > competitors to use the code to compete against them.

  I see what you mean. The original developer can engage
  in a practice that blocks coopertation.

  By contrast, using some other license, such as the ordinary GPL,
  would permitt ANY user of the program to engage in that practice.
  In a perverse sense that could seem more fair, but I think it is
  also more harmful.

  On balance, using the AGPL is better.
That's so cool that he responded! Thank you for sharing
I thought the point of copyleft was mainly to protect the freedoms of users.

But apparently it’s also used as a filter of who can interact and benefit from it.

But I don’t really understand all of it.

One thing I always wondered about selling separate licenses alongside GPL:

Can the authors (holding the copyright) distribute code under a different license when there were external contributors under GPL?

> Can the authors (holding the copyright) distribute code under a different license when there were external contributors under GPL?

No, if any contributions were made under the GPL, they'd have to get permission to change the license to AGPL from every contributor or remove their contributions.

Most projects like this require you license your contributions in a way that lets them sell non-AGPL licenses (see their Contributor License Agreement) https://cla-assistant.io/paradedb/paradedb

So basically they can do whatever they want with your contributions.

By default the contributors also hold copyright and need to consent to the separate licensing.

However, this is typically solved by using a contributor licence agreement (CLA) where all contributors click through a form before submitting a PR where they declare that they own the copyright for the PR and they give a license for the organization to relicense the work and derivatives. Sometimes the whole copyright is transferred to the organization in these agreements.

I didn't check but according to some comments here the CLA in this case is already embedded into the AGPL license.

In principle this scheme guarantees that the original organization always has special rights over all of the open source community, as they can dual license all the derivative works.

Thank you!

This might be a viable licensing scheme for Swiss government contractors now. The federal government requires open source licenses for all software projects as of last year or so.

(A)GPL+CLA might be a good way to ensure the interests of the both the Swiss people and the flexibility or competitiveness of contractors, allowing them to retain proprietary licenses where needed or wanted.

Follow up:

Am I correct in thinking that this might slightly hinder contributions on one hand, but ultimately anyone could still maintain an _independent_ fork?

Or in other words: Would contributions to a fork still require signing the CLA and essentially allow the original authors to dual license any such contributions?

Contributions to a fork could be done under just the AGPL, without any CLAs (also to the original repo, but those won't be accepted). Then the entire fork is effectively AGPL only. I don't think any original CLAs would apply to the fork, unless the fork owner is the same legal entity/successor as defined in there. Same goes for the original authors, they'd need CLAs from all fork contributors.
Spreading copyright among as many entities as possible to make relicensing more difficult is not a problem you should "solve". It's a feature of the license. A CLA ensures that contributors will be treated unfairly, and I hope it deters many potential contributors.
Where there is a will, there is a way. Big corporations could use the license and stick to its terms, but no, they don't want to. Better in their view to just take take take and never give. What they don't see however, and what is on no ones quarterly number sheet, is all the talent they don't attract.
Which is funny, as enterprise customers have no issue in buying closed source software, but the moment they see a GPL, they lose their mind.
The most significant reason there is that the license must be taken under the strictest interpretation without a more specific business level agreement between the two.

Apple for instance forbade GPLv3 because the anti-Novell clauses, which could be interpreted as "with a lost patent lawsuit, you can't merely license the technology but must secure and license the technology for all parties who may use or create a derivative of the original GPLv3 work". If you thought a court would agree with this interpretation, you'd be crazy to touch the software.

AGPL takes the strictest interpretation of a derivative work that even content created using the AGPLed software internally for an administrative function (such as storing your business data in a database) is a derivative work, and that the output of your software thus has restrictions under it by AGPL. Before AGPL, the only times we would see statements as such was to assure businesses that such an interpretation would not be taken - standard C libraries, compiled output, and java code with classpath exceptions are three popular examples.

I find the AGPL to run counter to the original purpose of the GPL, which I understand to be to protect the communities developing software from having their work superseded by commercial entities not giving back. The lack of examples of AGPL projects where contributors are not required to execute some form of CLA illustrates how it is often not being embraced to foster communities, but to protect against them and even exploit them.

No, that's a gross mischaracterization based on ignorance. It only applies to AGPL because it prevents SaaS services. And because it can't be proven that an AGPL app isn't required as part of a SaaS service to function, then it can't be used anywhere in a MAANG shop.