Live data from Hacker News

Why we picked AGPL

blog.paradedb.com

241–250 of 312 posts

Re: Why we picked AGPL

#241

Earlier quoted context omitted.

The question isn't about modifications to the library/service itself, but whether with other code linking to it in any way is what you have considered a derivative work that should also be covered by the AGPL. For a library I'd say that was a definite yes. For a service it is someone's less clear, some provide connective tissue (language bindings or other access modules) under less strict licenses which creates an ob…

The "any coupling" logic would also make anything running on Linux GPL, which is definitely not the case. Using background service such as Minio as an unmodified black box for data storage as part of your app is unambiguously not derivative work. If you were to write something like a management UI for Minio and offer it with your hosted Minio service, then I can at least see the argument, although it still doesn't co…

The "or very definite answers to the question" is important there. Linus has explicitly answered the question, and if you use any of the Linux headers then yes you should release that software under the GPL. Under this circumstance your "which is definitely not the case" is incorrect.

[EDIT: after reading the information in the link provided by actionfromafar, I'm pull that back a bit: headers marked appropriately can be used and provided a shield similar to scales via glibc & similar (see below) - but check any headers you do use to make sure that they are in fact thusly marked (and note that this goes back to my "… or very definitely answers the question")]

It has also explicitly been said that making calls to the kernel indirectly by other means does not carry the same requirement, so if you use glibc (to give what is perhaps the most common example) and it causes the kernel to be called, you do not inherit GPL requirements from the kernel. What requirements you inherit depend on the license of the library, in this example LGPL which is glibc's license and that doesn't confer any such requirement from linking or other such coupling.

Whether this indirect call via another library that isn't itself GPL licensed acting as a shield holds generally, or just where explicitly stated as with Linux, I'm not sure off the top of my head. I'd have to reread the licence to refresh myself on the exact details and that isn't something I have the time to do right now, but in the case of Linux it doesn't matter if that is a general property or not because of specific things that have been officially stated.

There is a further exception that allows the making of binary blobs to act as drivers and such writing the kernel. I'm not sure if that is just a refinement of the same shield, or something more specific. Again I'd had to reread to be more sure (I've not gone over the "fine print" here in detail for some years).

> Using background service such as Minio as an unmodified black box for data storage as part of your app is unambiguously not derivative work.

That is certainly the case for LGPL, but by my understanding it isn't for GPL nor by extension AGPL. Minio's maintainers themselves shrug on the matter and suggest you either lawyer up or pay for commercial licensing if your work is not also AGPL and therefore directly compatible (see https://github.com/minio/minio/blob/master/COMPLIANCE.md).

Re: Why we picked AGPL

#242
post #3

Every so often I run through the common set of licenses to double-check which one I want to personally use for my projects (both commercial and for fun), and I always end up back at AGPL. For me, it just strikes the right balance between open-source and restricting corporations from disproportionately profiting off of my labor.

A gift freely given doesn’t care what the recipient does with the gift. This idea that corporations aren’t legitimate users of GPL software is simply anti-capitalist bitterness. The ability to run a service with GPL software is a feature, not a bug (or “loophole”).

Re: Why we picked AGPL

#243
post #209

The AGPL is great, even for business. I make a living from AGPL software. Lots of people generally don't like it, because AGPL was not written to please the largest number of developers, but rather to protect the basic software freedoms of end-users. In a sense, the AGPL guarantees more freedoms, is more free, than other licenses such as MIT/BSD for end-users. But depends on the point of view. Many developers don’t l…

Using a gift freely given isn’t stealing. Just as all other forms of copying data are not stealing.

Obviously.

Re: Why we picked AGPL

#244

> 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…

Thank you for pointing this out.

It is logically obvious that the AGPL is a nonfree license. I have been saying this for some time.

It is a very unpopular thing to say.

Re: Why we picked AGPL

#245
post #171

I totally get this. I recently changed the license on my project from MIT to AGPL after getting a dm from someone interested in buying the project. I make absolutely no money at the moment, if anything I'm paying out of pocket for the domain, and don't think will any time soon. My only goal was to protect the project from getting commercialized by someone else. I've gotten questions about it and have been questioning…

“protect”? What harm is done by more people using your software?

Re: Why we picked AGPL

#246

Earlier quoted context omitted.

The question isn't about modifications to the library/service itself, but whether with other code linking to it in any way is what you have considered a derivative work that should also be covered by the AGPL. For a library I'd say that was a definite yes. For a service it is someone's less clear, some provide connective tissue (language bindings or other access modules) under less strict licenses which creates an ob…

Well that's not Op's question. They're asking "if I use Minio in my stack without modifications (as a file server that my other services interact with via an API), do I have to AGPL all the stuff the touches Minio or not?" (Minio is basically a FOSS S3) [0]. You're asking about linking, which is covered in the FAQ [1]: "You have a GPLed program that I'd like to link with my code to build a proprietary program. Does t…

I'm not sure that interpretation is correct. I don't read the intention that way (but I'd have to reread the licenses on detail to refresh myself before speaking more definitively).

Having said that, the fact that minio's documentation answers the question with a shrug and says "lawyer up" (see https://github.com/minio/minio/blob/master/COMPLIANCE.md) seems quite telling.

Re: Why we picked AGPL

#247
post #233

Earlier quoted context omitted.

When I'm using the term "free software", I mean this: https://www.gnu.org/philosophy/free-sw.html#four-freedoms Straight from the gnu's mouth! "The freedom to run the program as you wish, for any purpose (freedom 0)." > But the purpose of the AGPL has nothing to do with people using the software in ways that the license chooser doesn't like Yes it is. If you wrote a network program, and you specifically don't like th…

> Straight from the gnu's mouth! > > "The freedom to run the program as you wish, for any purpose (freedom 0)." That gnu's mouth spoke 3 other clauses, and finished up with: > A program is free software if it gives users adequately *all* of these freedoms. [emphasis mine] >> But the purpose of the AGPL has nothing to do with people using the software in ways that the license chooser doesn't like > > Yes it is. If you…

The main problem is the hypocrisy: the FSF promulgating a non-free license as a free license.

On their website, they have a list of nonfree licenses, for which they give reasons.

Several are identified as nonfree because redistributors may not sell the code. Guess what: GNU Affero says you must make the modified code available free of charge. Thus, it should be listed in the nonfree license section for that reasons.

Several are identified as nonfree because they restrict use, such as that the software may not be used for human rights abuses. Oops, GNU Affero has use restrictions.

> For the purpose of running it on my server without giving out my changes" is not about running it, that's about something incurred as a result of running it.

"My changes" could mean making minor changes to integrate it with 500,000 lines of my company's existing proprietary code, as well as third party proprietary code. Oops, that all has to be AGPLed if the combined program has network users. Which is a nonstarter, so such an integration shall not be made.

A GPLed program can be so combined and run for network users; nothing needs to be put under the GPL unless it is redistributed. How on earth can that be wrong, if the GPL allows it?

This is in accordance with Freedom 0.

I have no problem with the GNU Affero license existing, and people deciding that it's the best choice for their project. The problem is it being promoted and encouraged as a free license. People believe it. How could it not be free? Everyone says so, and it's from GNU/FSF.

Re: Why we picked AGPL

#248
post #118

I don't know about ParadeDB, but this was very off-putting for me in case of Minio when they switched to AGPL. If you check their answers to various license questions, they are essentially this: if you use Minio in your stack/product (for profit), then we recommend our commercial license or consult with a lawyer if your use case is covered by AGPL or not. What me and I guess many others wanted was a simple yes/no to…

This feels like dealing with government agencies where you go out of your way to get clarification to make sure you are doing everything correctly, but they refuse to give a clear answer to they can bother you about it later.

Copyright does not have clear answers. Teachers has always wanted a clear answer to "how many pages can I copy from a book", and they usually get the same answer. There is no cleanly defined number of pages, but fair use do exist so they have to apply they own judgement in each case.

The same questions has been asked about how many seconds of TV/radio is fair to copy, for example as stock footage or in reviews. Many people will say something like "3-5 seconds generally accepted", but each creator has to apply their own judgement per case.

What is a derivative work is one of the most debated aspect of copyright law, likely only second to fair use debates. Only a court of law has any real ability to give a clear answer and then only to a specific case.

Re: Why we picked AGPL

#249
post #91

Earlier quoted context omitted.

> can't use the software in certain ways (e.g. use in a binary firmware blob) Yes, you can. You can combine a GPLed program with whatever you want; you just can't redistribute the result if the combination runs afoul of the GPL. redistribution is not use. Use is running the program, reading the program, trying changes and such. You can combine GNU Bash with proprietary code and let users remotely log in to your box t…

Honestly, I'm getting the impression you're too being too rigid with definitions: anchoring too strongly in the incidental specifics of GPL as being "free software" while ignoring its goals.

The GPL promotes the four essential freedoms posted on the GNU/FSF website. They are not incidental.

There is a lengthy article by RMS "Why programs must not limit the freedom to run them".

https://www.gnu.org/philosophy/programs-must-not-limit-freed...

Re: Why we picked AGPL

#250
I’ve been pretty involved in open source projects most of my career. The license you choose should reflect the community you are trying to create. But it probably only makes sense to protect application level code with a copyleft license.

Most code has no real value beyond the time it saves you and its software developer contributors so it should be as liberally licensed as possible. You want to encourage contributions from the widest possible user base which includes developers of closed source software. They are already incentivised into upstreaming their changes to you on a liberal basis.

Post reply on HN