Live data from Hacker News

Why we picked AGPL

blog.paradedb.com

61–70 of 312 posts

Re: Why we picked AGPL

#61
post #40

Earlier quoted context omitted.

This. The AGPL deception is you brand yourself as community-minded. As long as you don't rely on external contributions that's fair. But what the AGPL startups don't emphasize is they require you to either assign your copyright to them or give them extra privileges to your contributions to be able to relicense it under non AGPL (if they don't they don't know what they are doing). AGPL is also not considered a very sa…

What happens if you (the contributor) fork the project, make a really great feature in your own fork, make it available as the license requires, then the startup integrates changes from the fork back into their own project. Does this then prevent them from ever changing the license away from AGPL?

Yes. If they do it they will be able to license the form back as AGPL but that wouldn't let them license the new thing under their commercial license (effectively useless commercially). At that point they are a peer with you.

Some startups may not know this or knowingly violate this.

Re: Why we picked AGPL

#62

I love the AGPL. I can't imagine it becoming popular for generic business functionality in library form, but for highly-specialized libraries (in my case scientific with industrial applications) it was everything I was looking for --- not least because automated license scanners flag it and scare potential parasites away. It's also a great choice for complete pieces of software (such as DBs, as in this case) to offer…

Blog author here. I couldn't agree more. Thank you for your kind words and for sharing the academic perspective of using the AGPL - super interesting!

Re: Why we picked AGPL

#63

Earlier quoted context omitted.

Note that they can't "take it away" completely. The AGPL ensures that the community AGPL licensed code will always have to be open source, and that anybody else can use it too. So a developer who has contributed to an AGPL codebase cannot be denied access to it. Due to the AGPL license, any code will always be open source and thus the CLA cannot claim exclusivity over the contributed code and prevent its (re)use by t…

You don't need CLA for legal protection, Developer certificate of origin is enough. https://en.m.wikipedia.org/wiki/Developer_Certificate_of_Ori...

We've looked into the DCO before. It turns out CLAs are more common and easier to deal with, thanks to a tool like cla-assistant.io. We ended up opting for it for the sake of simplicity.

Re: Why we picked AGPL

#64
post #42

Earlier quoted context omitted.

Their github repo just says AGPL 3.0. Can you point me to the other constraining terms are? This would be quite interesting (like the "Open Core" people). And when I say "interesting" I don't mean a positive feature.

The project is licensed under AGPL, but outside contributors have to sign away their rights with CLA if they wish to contribute to the main project. It's in CONTRIBUTING.md [1] > In order for us, Retake, Inc. (dba ParadeDB) to accept patches and other contributions from you, you need to adopt our ParadeDB Contributor License Agreement (the "CLA"). The current version of the CLA can be found here. https://github.com/p…

TL;DR: my quick read is that they are trying to do the right thing.

My not super-close reading is that this is actually reasonable (but note: I wrote the original GNU blanket assignment back around 1989 or 1990 so you may consider my perspective bogus).

This agreement says that you confirm that you have the right to license your contribution (that what you wrote isn’t actually your employer’s), and that they can use it without restriction, even if there’s something patented in the submission. It doesn’t stop you from using the code for something else. But you can’t come back later and say “hey, yank out these lines of code which I sent you long ago”. It's not even an assignment -- you retain ownership.

If I were doing this, personally, I might add something to the effect of “btw if the company tries to change the license in a way incompatible with the AGPL 3.0 or later versions this license I have you becomes void” but that could implicitly be in there (if explicit, I missed it in my quick read).

Re: Why we picked AGPL

#65
post #37
post #15

Earlier quoted context omitted.

A key issue for me is API compatibility. It's nice to do simple and scalable, but you can't have both at once. API compatibility message I can run simple for small setups and scalable for large ones. That's nice and something I strive for in software I build.

doesn't look like the case here as they don't even have an API (to be drop-in replacement for ES)

We have some API-compatibility in faceted search. But yes, we are not (today) a drop-in replacement for ES. We have many migrations from ES/OpenSearch and users find that converting their code over is well worth the savings in maintenance, no-ETL and increased uptime, though.

That said, we may one day add ES API compatibility if we can :)

Re: Why we picked AGPL

#66
post #50

Earlier quoted context omitted.

The project is licensed under AGPL, but outside contributors have to sign away their rights with CLA if they wish to contribute to the main project. It's in CONTRIBUTING.md [1] > In order for us, Retake, Inc. (dba ParadeDB) to accept patches and other contributions from you, you need to adopt our ParadeDB Contributor License Agreement (the "CLA"). The current version of the CLA can be found here. https://github.com/p…

The duplicitous language is a bit slimy here. "In order for us, Retake, Inc. (dba ParadeDB) to accept patches and other contributions from you, you need..." makes it sound like their hands are tied, you must assign copyright, there's no other option. In reality, this is a (contributor-hostile) choice they made. They could have made different ones.

But you aren’t assigning copyright, you’re getting a license to bundle the contribution with the rest of the package.

And they don’t feel safe including a patch without a license to use it. Not an unreasonable position to take.

The wording is explicit (italics mine):

> You hereby grant to the Company and to recipients of software distributed by the Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to…

Re: Why we picked AGPL

#67

> Elasticsearch alternative built on Postgres Without horizontal scaling it's more like a hosted/queryable Lucene.

Blog author here. That's fair! We'll add horizontal scaling eventually, but for now, our customers (including some large brands!) have not needed it. Turns you single nodes are remarkably powerful nowadays

Re: Why we picked AGPL

#68
post #7

Earlier quoted context omitted.

I'm still not following - you're talking about restrictions on use, but what restrictions on use does AGPL apply? What can I not do with AGPL software? What are the forbidden activities you reference? The only caveat seems to be making the source code available to users of the software, which is also the case with GPLv2, just under narrower conditions. I have no dog in this race, nor any particular attachment to any…

> which is also the case with GPLv2 No it isn't; under the GPLv2, the source code must be available to those to whom compiled code has been redistributed. Whether they are users doesn't matter. The restrictions are that if you violate the license, your use of the program is infringing. > What can I not do with AGPL software? You cannot change it and run it yourself, without hosting the source code. You cannot combine…

> You cannot combine an AGPL program with proprietary code and operate it, because you cannot release the proprietary code.

Question (IANAL), but isn't it also the case that you can't combine AGPL code with GPLv2 code? Like maybe you write a patch that glues Minio's (AGPL) and Git's (GPLv2) source code (I just picked the two first projects that came up when searching for those licenses).

Maybe your glue patch can be dual-licensed and that specific patch wouldn't have any problems.

But since (1) both licenses are viral and require that everything touched by them is licensed under that exact license; and (2) you are unable to change either project's license; then it seems to me that you would be unable to release your patch since it wouldn't be considered independent.

Or if you can release your patch as a separate project somehow, I think you still wouldn't be able to host this modified version of Minio because you can't satisfy both licenses at the same time.

So, expanding on your message:

>> What can I not do with AGPL software?

> You cannot change it and run it yourself, without hosting the source code.

> You cannot combine an AGPL program with proprietary code and operate it, because you cannot release the proprietary code.

(My addition) "You cannot combine an AGPL program with other open source software, unless their license is compatible with AGPL (e.g. MPL 2.0 or GPLv3)."

My understanding might be wrong though, because IANAL and these licenses are unapproachable to a mere mortal like me, but I just wanted to point out that AGPL also prevents combining with other open source software even if their license is another GNU license.

Re: Why we picked AGPL

#69

> The AGPL license permits free use, modification, and distribution of software, provided that distributed, derivative works of the software are released under the same license. Here is the rub: free software permits unconditional use. The GPL without the A, or MIT or BSD licenses are not EULAs; they place restrictions or conditions on redistribution, not on use. (With regard to use, they have only certain liability…

> The AGPL restricts use; it is an EULA It does not. You can absolutely host AGPL software as a service, you just have to share any modifications you made with those that use the service.

Sure, and you can absolutely use Photoshop, if you paid for it, and promise not to reverse engineer anything.

Or, what do you think usage restrictions are or look like?

If you don't share those modifications then you must not host that software such that it communicates with visitors; that's a restriction.

The modifications that you are required to share cannot be any arbitrary modifications; anything you add has to be AGPL compatible.

If the modifications combine the software with GPL-incompatible pieces, then you cannot share those modifications, which means there is no legal way to host that software for visitors.

Re: Why we picked AGPL

#70

Earlier quoted context omitted.

Note that they can't "take it away" completely. The AGPL ensures that the community AGPL licensed code will always have to be open source, and that anybody else can use it too. So a developer who has contributed to an AGPL codebase cannot be denied access to it. Due to the AGPL license, any code will always be open source and thus the CLA cannot claim exclusivity over the contributed code and prevent its (re)use by t…

You don't need CLA for legal protection, Developer certificate of origin is enough. https://en.m.wikipedia.org/wiki/Developer_Certificate_of_Ori...

Is this actually legally binding? What would be the difference w.r.t. informed consent, between DCOs and the "I have read and accept the terms and conditions" checkboxes from most websites?

It also gives me similar vibes to the Do-Not-Track HTTP header since both can be enabled by default.

Post reply on HN