[HN Gopher] Why we picked AGPL
       ___________________________________________________________________
        
       Why we picked AGPL
        
       Author : philippemnoel
       Score  : 84 points
       Date   : 2024-08-12 17:39 UTC (1 days ago)
        
 (HTM) web link (blog.paradedb.com)
 (TXT) w3m dump (blog.paradedb.com)
        
       | karmakaze wrote:
       | > Elasticsearch alternative built on Postgres
       | 
       | Without horizontal scaling it's more like a hosted/queryable
       | Lucene.
        
         | grobbyy wrote:
         | 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.
        
           | nsonha wrote:
           | doesn't look like the case here as they don't even have an
           | API (to be drop-in replacement for ES)
        
             | philippemnoel wrote:
             | 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 :)
        
         | philippemnoel wrote:
         | 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
        
       | iaaan wrote:
       | 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.
        
         | aaron695 wrote:
         | > and restricting corporations from disproportionately
         | profiting off of my labor.
         | 
         | This is anti the ethos of GPL [1]
         | 
         | And that's fine, you choose a list or rules that fitted with
         | your wants, you don't have to respect A/GPL.
         | 
         | But time and time again we see most people on HN not respecting
         | the A/GPL ethos they clam to follow and not understanding what
         | A/GPL will mean in practice.
         | 
         | > disproportionately profiting
         | 
         | Off Topic to GPL. Corporations have provided more value to the
         | world than any person. Which is almost a tautology since
         | corporations are just groups of people working together.
         | "Disproportionately profiting off of my labor" would mean they
         | are providing amazing resources to people who need them.
         | 
         | You sound like you don't want others to succeed. Which is
         | different to you need to make money to live.
         | 
         | [1] The legal/logical issues we see with AGPL are from trying
         | to get the license to match the ethos. It's commendable they
         | did stick it out.
        
         | thelastparadise wrote:
         | Do you intend for companies to _use_ your software, just not
         | resell it? Or do you not even want them to use it?
        
       | kazinator wrote:
       | > _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 disclaimer
       | clauses.)
       | 
       | The AGPL restricts use; it is an EULA: end-user license
       | agreement. The antithesis of free software.
        
         | dafelst wrote:
         | Genuine question, how does AGPL restrict use? From my reading
         | of it, it is only ensuring that any modifications to the source
         | code must be made available if you "distribute" the software,
         | where distribution now includes hosting it as a service.
         | 
         | It seems more or less in the original spirit of GPLv2 but
         | updated for a SaaS driven world. If you consider v3 restrictive
         | then you must also consider v2 restrictive, just in a more
         | narrow way.
        
           | kazinator wrote:
           | Running a program, as a service or not, _isn 't_
           | redistribution. It is use.
           | 
           | The original spirit of the GPL is about identifying people
           | doing bad things we don't like and trying to prevent them.
           | All those bad things have to do with redistribution, not with
           | using the program.
           | 
           | The AGPL is still about identifying people doing bad things
           | we don't like, except now those people are just running the
           | program.
           | 
           | This is no different from Adobe, Apple, Microsoft, ...
           | identifying people using their software in ways they don't
           | like, and crafting their EULA terms to turn those activities
           | into a license violation.
           | 
           | A free software license simply cannot dictate uses, like
           | where and how you run the program, and who can access it from
           | where.
           | 
           | A free software license can only use copyright law, and only
           | be concerned with copying.
           | 
           | EULAs go beyond coypright; they try to connect non-copying
           | activities to copyright by the doctrine that if the user
           | engages in the forbidden activities, their license is
           | terminated (and thus it becomes copyright infringement for
           | them to continue to have a now unlicensed copy of the
           | software).
        
             | dafelst wrote:
             | 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 particular license, I'm just trying to better
             | understand what these restrictions are that you're
             | referencing.
        
               | kazinator wrote:
               | > _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 an AGPL program with proprietary code
               | and operate it, because you cannot release the
               | proprietary code.
        
               | Avshalom wrote:
               | >You cannot change it and run it yourself, without
               | hosting the source code.
               | 
               | Yes I can. It's only if I let other people use my changed
               | code that they become entitled to a copy.
               | 
               | >You cannot combine an AGPL program with proprietary code
               | and operate it, because you cannot release the
               | proprietary code.
               | 
               | hmm, gotta say that sounds like the proprietary code is
               | the thing infringing on my usage.
        
               | kazinator wrote:
               | Well no, someone combining the proprietary code with the
               | AGPL code infringes if they run that code such that it is
               | exposed to visitors.
        
               | meiraleal wrote:
               | >> What can I not do with AGPL software?
               | 
               | > You cannot change it and run it yourself, without
               | hosting the source code.
               | 
               | So your point is that people should be free to take
               | whatever they want for free and dont't contribute back?
               | I'm glad there is a license made to put a limit on people
               | like you then
        
               | kazinator wrote:
               | I've spent thousands of hours writing code which is under
               | the BSD license. Nice try trying to make the argument
               | about me.
               | 
               | (I've not put anything under even the dubious GPL license
               | in over 15 years, and never will.)
               | 
               | Yes, a free software license must not require people to
               | "contribute back", or anything of the sort.
               | 
               | For instance, a "free for non-commercial use" license is
               | not free. Even the people who came up with the AGPL
               | understand this, and go to great pains to explain it.
               | 
               | I understand the social problem that the AGPL is trying
               | to combat, whereby visitors are held captive by saas
               | applications over which they have no visibility or
               | control.
               | 
               | The AGPL approach is to use the power of a non-free
               | license against the problem which makes it a cure worse
               | than disease, and repugnant to developers of truly free
               | software.
               | 
               | It's almost certainly the case that the saas problem
               | _cannot_ be engaged via software licensing terms, if
               | those terms are to amount to a free software license.
               | 
               | I don't have a better idea, either, but that doesn't
               | change the fact that the AGPL is a non-free license which
               | crosses over into governing use rather than just
               | redistribution.
               | 
               | Also one issue is that the AGPL doesn't actually solve
               | anything. Visitors having the source code to my evil saas
               | platform doesn't solve the problem that they're locked to
               | it. It doesn't solve the problem that I can change the
               | code at any time and they cannot. Or that I can shut it
               | down and wipe out their data, or share it with third
               | parties. An AGPL conforming application also need not
               | provide visitors with any way to export their data.
        
               | meiraleal wrote:
               | > Also one issue is that the AGPL doesn't actually solve
               | anything. Visitors having the source code to my evil saas
               | platform doesn't solve the problem that they're locked to
               | it. It doesn't solve the problem that I can change the
               | code at any time and they cannot. Or that I can shut it
               | down and wipe out their data, or share it with third
               | parties. An AGPL conforming application also need not
               | provide visitors with any way to export their data.
               | 
               | Please enlight us about how the BSD license do it much
               | better in this area. You first complain that AGPL is
               | restrictive now complain that it should restrict even
               | more? I agree with you, maybe it is time for another
               | version of AGPL that includes data sovereignty. Let's
               | make it more difficult for corporations to profit from
               | FOSS free labor, not more easy.
        
               | kazinator wrote:
               | > _Please enlight us about how the BSD license do it much
               | better in this area._
               | 
               | It doesn't, but it's a starkly free license which lets
               | you do almost anything you want, short of plagiarism.
               | 
               | > _should restrict even more_
               | 
               | Nope; I'm explaining that it's ineffective against the
               | key harms that may be perpetrated by SaaS. No license is;
               | licensing is the wrong tool.
        
               | mattl wrote:
               | > Yes, a free software license must not require people to
               | "contribute back", or anything of the sort.
               | 
               | This was in fact Stallman's original vision for Emacs.
               | 
               | https://www.oreilly.com/openbook/freedom/ch06.html
               | 
               | "It is distributed on a basis of communal sharing, which
               | means that all improvements must be given back to me to
               | be incorporated and distributed."
        
             | sgarland wrote:
             | > Running a program, as a service or not, _isn 't_
             | redistribution. It is use.
             | 
             | Hard disagree. You're redistributing the software in a
             | manner for people to easily use it.
             | 
             | If you rip a movie you own, there's no distinction that I'm
             | aware of in copyright law between hosting the .ISO on an
             | FTP server and hosting the .MKV as a stream. They're both
             | redistributing, it's just that one is designed for
             | ephemeral consumption.
        
               | kazinator wrote:
               | That's broadcasting. The recipient of a stream can
               | capture the film to create their own .MKV they can
               | further stream or pass on.
               | 
               | Equating the running of a program with broadcasting is
               | the kind of sophistry we might expect from Apple or Adobe
               | or Oracle or their ilk.
               | 
               | Certain portions of a service program may be broadcast,
               | like for instance certain string literals carrying text
               | that appears at the remote end point. The bulk of the
               | software is not transmitted. It transmits and receives
               | messages, which are mostly not that program. The remote
               | end cannot recover a copy of the program from these
               | messages. Some bits of literal data, but none of the
               | code. (There are obvious exceptions, like programs
               | transmitted to web browsers for local execution.)
        
               | randomdata wrote:
               | _> They 're both redistributing_
               | 
               | Well, yes. While perhaps some metadata is lost, the
               | content that is worth fighting for is captured in both
               | cases. Practically speaking, there is no difference
               | between the original source, an ISO rip, and an MKV rip.
               | At least to the untrained eye, they are in every way
               | equivalent. They both are redistribution, indeed.
               | 
               | That is not the case for SaaS in question. What you
               | download during use can in no way be reconstructed into
               | its original form. You can't use the software for a while
               | and then, from what you've collected, start running the
               | software on your local machine. The artifacts of use are
               | _very_ different from the software itself. To stick with
               | your analogy, watching a movie on Netflix does not give
               | you a copy of their server software. Distribution has not
               | occurred.
        
             | graemep wrote:
             | > The AGPL is still about identifying people doing bad
             | things we don't like, except now those people are just
             | running the program.
             | 
             | Its the same "bad thing" as distributing a modified binary
             | without the source. Its a way of denying end users access
             | to the source code.
             | 
             | You can do whatever you like with AGPL code, as long as you
             | make the source available.
             | 
             | it is VERY different from saying "you cannot do this with
             | your software". It is just changing the conditions under
             | which make source available is required to keep up with how
             | people use software has changed.
             | 
             | AGPL is nothing like a EULA. It is a license, not a
             | contract. It is very similar to the GPL
        
               | kazinator wrote:
               | The AGPL is absolutely a EULA.
               | 
               | The user of a program is the one who installs it
               | somewhere and runs it.
               | 
               | Outside people interacting with the program are visitors.
               | They don't have the source code because they don't have
               | the program at all in any form. It has not been
               | distributed to them.
               | 
               | The source code to the program doesn't even do them any
               | good. They cannot use that to prevent harms perpetrated
               | by the operators of that application.
        
               | graemep wrote:
               | A EULA needs to be a contract. THe AGPL is clearly not a
               | contract nor does it meet the basic requirements for an
               | enforceable contract in common law countries. Can you
               | show me where I am wrong about this?
               | 
               | > The source code to the program doesn't even do them any
               | good. They cannot use that to prevent harms perpetrated
               | by the operators of that application.
               | 
               | It does. It means they can run their own instance instead
               | of being permanently tied to the operator of the service.
               | It means they can modify and run the software.
               | 
               | > They don't have the source code because they don't have
               | to program at all in any form.
               | 
               | That is sophistry. For the type of software AGPL is
               | designed for the functionality provided is the same as it
               | would if they had their own install. It is called
               | "software as a service" for a reason.
               | 
               | The reason the AGPL exists is because the rise of SAAS
               | has made the distinction you are making meaningless.
               | 
               | > They don't have the source code because they don't have
               | to program at all in any form.
               | 
               | Users of GPL software do not "have to program". The point
               | is they can. The same is true with AGPL.
        
               | kazinator wrote:
               | Sorry that was a typo we should have said "do not have
               | the program" (corrected).
               | 
               | But no the same is not true of the user of the AGPL. The
               | GPL user having the source code and being able to program
               | or hire somebody is utterly meaningful. That user
               | controls the installation of the program. They would like
               | the program to do something differently, or not to do
               | something unwanted. With the buildable source code they
               | can achieve that.
               | 
               | The visitor to the AGPL application have access to the
               | source code has no meaning at all. They don't have the
               | administrative access to replace the implementation (and
               | even if they did, that was just create conflict with the
               | other ivisitors).
               | 
               | The ability to set up your own clone instance its
               | completely meaningless. For example suppose that's some
               | government service website is using AGPL software. What
               | do you gain by downloading the software and running your
               | own instance? That's not where your data is; you can't
               | use that cloned instance to communicate with the service
               | agency.
               | 
               | It is the AGPL that's using outdated concepts in a new
               | context where they don't make sense. (Licensing helped us
               | win the open source war in the 1990s and 2000s, so it'll
               | work this time too right?)
               | 
               | You also may be thinking of the software of being
               | something like a photo editor or word processing
               | application that is hosted, but in which the visitor
               | works with only their own files in isolation from other
               | visitors, and from the site operators. I don't think
               | that's the main target for the AGPL. That may be called
               | "strawman AGPL". I tend to agree that the AGPL may be
               | effective in this limited situation. But effective is not
               | the same as free. A "free for personal use" software
               | license is also effective at achieving the aims of its
               | purveyor but isn't free.
        
               | aeaa3 wrote:
               | > The ability to set up your own clone instance its
               | completely meaningless
               | 
               | Isn't that the whole point?
        
               | kazinator wrote:
               | > _A EULA needs to be a contract._
               | 
               | Nope. It can just be a piece of text you agree with when
               | opening a classic mass-marked app in a shrink-warpped box
               | ("shrink-wrap EULA") or a dialog box with text where you
               | have to click that by using the software, you agree with
               | the licensing terms.
               | 
               | Exactly the same as when you deploy an AGPL program for
               | visitors, you are agreeing to its EULA.
        
             | fweimer wrote:
             | The AGPL does not restrict running the program. Only if you
             | run modified versions, things get complicated.
             | 
             | That being said, I think the AGPL is only appropriate for
             | programs that come with a built-in source redistribution
             | mechanism that ensures that modified versions automatically
             | comply with the source code redistribution requirement.
        
             | remram wrote:
             | > Running a program, as a service or not, isn't
             | redistribution. It is use.
             | 
             | This is not how I see it at all. The ones using it are the
             | users, and if they sit across the network you are
             | distributing it in a very tangible sense.
             | 
             | The idea that the admin running a service is the one doing
             | the "use" and not the users of your service is debatable to
             | say the least.
        
         | levkk wrote:
         | > The AGPL restricts use; it is an EULA: end-user license
         | agreement. The antithesis of free software.
         | 
         | This is a common misconception about Free software. It's not
         | about freedom of its users or authors, it's freedom of the
         | actual code to be available for others.
         | 
         | For example, MIT license allows users to take the code and
         | modify it without releasing modifications. This traps the new
         | version of the software, possibly forever, inside a single
         | organization.
        
           | xboxnolifes wrote:
           | It's my understanding that the MIT license has no such
           | restriction on publishing modifications. The only restriction
           | is that existing code must stay MIT licensed.
        
           | kazinator wrote:
           | Firstly, GPLed programs with proprietary modifications can
           | easily be trapped inside single organizations.
           | 
           | The original MIT-licensed program continues to exist and be
           | available regardless of the proprietary versions and
           | embeddings.
           | 
           | A copyleft license just asserts, using copyright power, that
           | such things should not exist.
           | 
           | MIT and BSD licenses just allow certain works to legally
           | exist that copyleft advocates think should not exist. The
           | copyleft is concerned with squelching the existence of
           | things, whereas the MIT and BSD licenses mostly promote
           | existence.
           | 
           | (They are concerned with squelching the existence of
           | plagiarism: an author's name and copyright notice removed
           | from the source code work, and possibly replaced with
           | another. Also, squelching the situation where the compiled
           | work is accompanied by documentation which neglect to give
           | attribution to the presence of that BSD-licensed code.)
        
         | tivert wrote:
         | > Here is the rub: free software permits unconditional use.
         | 
         | I think you're wrong.
         | 
         | > The GPL without the A, or MIT or BSD licenses are not EULAs;
         | they place restrictions or conditions on redistribution, not on
         | use.
         | 
         | The GPL, at least, puts restrictions on use: you can't use the
         | software in certain ways (e.g. use in a binary firmware blob)
         | _unless_ you distribute it in source form to the end users.
         | 
         | > The AGPL restricts use; it is an EULA: end-user license
         | agreement. The antithesis of free software.
         | 
         | The AGPL does exactly the same thing as the GPL, just with a
         | stronger distribution requirement: if you distribute access to
         | end users, you must distribute it in source form to the end
         | users.
         | 
         | The GPL was designed for the binary distribution age of
         | software, the AGPL is the GPL for the SaaS distribution age.
         | The GPL alone cannot satisfy Free Software goals in the new
         | age.
        
           | kazinator wrote:
           | > _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 to try it.
           | 
           | > _if you distribute access to end users_
           | 
           | There is no such thing. Copyright law does not recognize
           | "distributing access". The program is not being redistributed
           | when it executes and exchanges messages with remote stations.
           | 
           | "Distributing access" also reminds me of the idea of someone
           | hearing the sound of your coins jingling, or smelling your
           | cooking: as in from the famous case of Ooka_Tadasuke that
           | circulates as a popular parable:
           | 
           | https://en.wikipedia.org/wiki/Ooka_Tadasuke#Famous_cases
        
         | olavgg wrote:
         | AGPL doesn't restrict use:
         | 
         | "You are not required to accept this License in order to
         | receive or run a copy of the Program."
        
           | kazinator wrote:
           | I would say that's an unhelpfully misleading statement in the
           | license.
           | 
           | There exist obvious circumstances of the program's use with
           | which the license doesn't concern itself, and does not speak
           | to, and so in those circumstances the user is not required to
           | enter into the license.
           | 
           | A redistributor must enter into the license because it's a
           | derivative of the GPL, and so it has requirements related to
           | distribution.
           | 
           | A user who runs the program in such a way that visitors
           | communicate with it from remote stations obviously is
           | required to enter into the license also and comply with its
           | requirements.
           | 
           | The license is applied to programs for which this would be a
           | typical use.
        
         | rpdillon wrote:
         | > 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.
        
           | remram wrote:
           | Agreed. In other words, the terms restrict what you can do
           | _when you modify_ not when you run. It is also not directed
           | at end users (the  "EU" of "EULA") but at the developer or
           | sysadmin.
        
         | purpleidea wrote:
         | > The antithesis of free software.
         | 
         | Those who oppose the GPL are precisely the people it was
         | designed to protect against.
         | 
         | I think we found a good example of your wishes here. You are
         | against the GPL if you have an ulterior motive to make
         | something proprietary and avoid contributing back!
        
       | keskival wrote:
       | 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.
        
         | zelphirkalt wrote:
         | 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.
        
       | PhilippGille wrote:
       | They looked at 4 licenses (Apache, Business Source License, AGPL,
       | Elastic License) representing different categories.
       | 
       | I think the Mozilla Public License represents another category
       | and should always be evaluated as well. (or the Eclipse Public
       | License or CDDL are similar)
       | 
       | They are less permissive than Apache in that they require
       | contributing back (as in open sourcing _changes_ under same
       | license), but more permissive than AGPL in that you can
       | _statically_ link an MPL licensed library into your project
       | without having to open source your project.
        
         | graemep wrote:
         | LGPL also allows that.
         | 
         | What MPL is missing AFAIK that AGPL does have is requiring
         | making source/changes available when providing the software as
         | a network service.
        
           | PhilippGille wrote:
           | No, LGPL has specific requirements for static linking. When
           | your product is usually a Go binary that you can publish as
           | is, using an LGPL library makes it tricky.
           | 
           | And re network service, I don't see the MPL tying the
           | requirement to making changes available to a method of
           | distribution.
        
             | graemep wrote:
             | Good point. I am used to thinking in terms of thinks that
             | are dynamically linked.
        
             | michaelsbradley wrote:
             | Static linking with LGPL is possible for proprietary
             | software; the requirements are sometimes misunderstood:
             | If you statically link against an LGPLed library, you must
             | also provide your application in an object (not necessarily
             | source) format, so that a user has the opportunity to
             | modify the library and relink the application.
             | 
             | https://www.gnu.org/licenses/gpl-
             | faq.html#LGPLStaticVsDynami...
             | 
             | So, relinkability is the key. For some platforms and
             | toolchains that may be impractical but for others not so
             | much.
        
       | JohannesSuenden wrote:
       | 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 a free tier for
       | communal benefit, provided you're genuinely willing to let the
       | project develop a life of its own if the open source community
       | finds reason to mobilize around it.
       | 
       | For academic use AGPL compliance is a natural part of life
       | anyway, for non-profits it's a little bit of effort but there's
       | no fundamental objection, and when companies get involved it
       | ensures that either my collaborators and I get a payout for SaaS-
       | ification/proprietarization, or that it only gets used in
       | internal tooling, which means that money gets redistributed to
       | labor (often also to us via consulting fees or custom development
       | arrangements anyway, since we know the code best).
       | 
       | It's a model for software development that I can really get
       | behind.
       | 
       | Best of luck to you!
        
         | philippemnoel wrote:
         | 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!
        
       | Hamcha wrote:
       | Correction: they chose AGPL with a poison pill (CLA) so they can
       | benefit from it and take it away whenever they want more.
        
         | tgma wrote:
         | 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 safe license by large
         | organizations even if you want to run it internally unmodified,
         | alongside the rest of your application. Many big companies have
         | blanket bans on AGPL.
        
           | jay_kyburz wrote:
           | 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?
        
             | tgma wrote:
             | 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.
        
         | gumby wrote:
         | 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.
        
           | dns_snek wrote:
           | 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/paradedb/paradedb/blob/6b829681190684f241.
           | ..
           | 
           | > 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 reproduce, prepare derivative works of, publicly
           | display, publicly perform, sublicense, and distribute Your
           | Contributions and such derivative works.
           | 
           | https://cla-assistant.io/paradedb/paradedb
        
             | growse wrote:
             | 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.
        
               | mperham wrote:
               | Like what? Be specific. If you are not a lawyer, please
               | say so.
        
               | gumby wrote:
               | 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...
        
             | gumby wrote:
             | 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 assignment 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"
             | 
             | 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).
        
         | thisislife2 wrote:
         | 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 the
         | developer in any manner.
         | 
         | The only concern then is ethical - will the developer be
         | monetarily compensated if the product makes money? I believe
         | they should be. Other open source developers may disagree.
         | 
         | Note also that for a commercial open source project, a CLA can
         | offer some legal protection - by signing a CLA a developer
         | declares that they own the copyright on the code, which reduces
         | the liability of the commercial venture behind the open source
         | product if someone contributes "pirated" code.
        
           | trueismywork wrote:
           | You don't need CLA for legal protection, Developer
           | certificate of origin is enough. https://en.m.wikipedia.org/w
           | iki/Developer_Certificate_of_Ori...
        
             | philippemnoel wrote:
             | 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.
        
       | jay_kyburz wrote:
       | I don't understand why they say
       | 
       | "Future-Proof: Thanks to the copyleft provision, cloud vendors
       | cannot easily resell our project without our consent. This gives
       | us confidence in our ability to monetize without fear of
       | predatory competition. ParadeDB just turned one year old, and
       | we've already been contacted by four cloud providers who, had we
       | not chosen the AGPL license, may have privately forked and
       | distributed ParadeDB."
       | 
       | Nothing in the license requires cloud vendors from reselling the
       | project. They just need to make the source available?
       | 
       | What am I missing?
        
       | purpleidea wrote:
       | The fact that they aren't mentioning their CLA which gives them
       | extra rights that everyone in the community doesn't get means
       | they're disingenuous in writing this article...
       | 
       | As an analogy it's as if someone was selling you a new car, but
       | neglected to tell you that it doesn't come with a steering wheel
       | or tires.
       | 
       | Be transparent and tell the whole story, don't be sneaky.
        
       ___________________________________________________________________
       (page generated 2024-08-13 23:01 UTC)