← Back to context

Comment by simonw

9 hours ago

What's the rationale for the dual licensing? It looks like the Go backend is AGPL but the TypeScript frontend is Apache 2.0.

Why not keep it all AGPL?

Backend under AGPL prevents someone hosting it as a service. AGPL specifies that hosting _is_ distribution. Therefore, anyone hosting it must do so with public code. This provides a soft form of exclusivity to run their own Cloud.

A frontend, permitting customizability, white-labeling, and so on, makes more sense to be more permissive.

Grafana is a solid example to illustrate why.

Moved from Apache to AGPLv3 in 2021 specifically so cloud providers couldn't host modified versions without contributing back, while keeping plugins Apache-licensed.

  • Prohibiting a user of your software from modifying it and using it to run their business goes against both freedoms 0 and 1.

    This “users are obligated ‘give back’ the moment they make money with the gift they were given” is nonsense and anyone paying attention knows it. A business making money using free software doesn’t take anything away from the releasing organization.

    The anti-commerce bent of a subset of the free software zealots hate business so much that they tried to smuggle a EULA into the free software community. It’s nonsensical. Furthermore, the AGPL has never once been tested in court.

    • You receive permission to use and modify a piece of software under conditions set by the creator. It is a license, not a gift. If you don’t like the conditions, use something else or create your own thing.

      I will never understand these complaints. Not only do you want stuff for free, you also want to impose your preferred usage conditions on the creator. Where does this entitlement come from?

    • > Prohibiting a user of your software from modifying it and using it to run their business goes against both freedoms 0 and 1.

      It does not prohibit modifications - it just demands that those who exercise the freedoms share their modifications under the same license, and most businesses balk at that.

      > The anti-commerce bent of a subset of the free software zealots hate business so much...

      The root of the problem is actually the anti-free-software bent that business zealots have, because they want to be able take code for free and make money off of it without giving any of their changes back under the same terms; open-source contributors are not suckers to be exploited. Things would be so much better if the moochers weren't trying to capture all of the value downstream of other people's work, but just some or even most of it.

    • I'm not sure what you are complaining about, AGPL is doing nothing against commerce and you are free to fork and sell a service using that fork. Just make sure to provide the code source of your fork to your user so they can also make their own forks, potentially making their own commercial services with them. It might be to most pro commerce licence I know.

    • > Prohibiting a user of your software from modifying it and using it to run their business goes against both freedoms 0 and 1.

      Then it's good that it allows both modification and using it to run a business?

      > This “users are obligated ‘give back’ the moment they make money with the gift they were given” is nonsense

      But they are under no such obligation! They can make all the money they want and give nothing back. They can even modify the software to better serve their business. The only restriction is that if they do so, they have to make their modifications available. Which means they're way ahead of where they were before being given the initial software; why do you feel a software developer who decides to give the world a gift should be restricted in what gift they're giving? "Thanks for the chocolate, but the bar was too small so I didn't have enough left over for my kid to try some. Why do you hate my kid?"

      > A business making money using free software doesn’t take anything away from the releasing organization.

      First, that is false. They could damage the market for the original software. (And if they don't modify the software, then there's no problem in the first place.)

      Second, why are you so hung up on the "making money" part, when that is explicitly allowed by the AGPL? It's just kind of bizarre -- it's a license that says over and over that you can charge for everything related to it, and you're complaining about it being hostile to people who want to charge money for things.

      Thinking about it, I'm wondering if this is genuine confusion and you don't know what the AGPL is? If so, maybe start by searching for "charge" in https://www.gnu.org/licenses/agpl-3.0.en.html . It has nothing against "using it to run [a] business". There is no "moment they make money with the gift" that changes anything: you are explicitly allowed to charge for anything you like -- distribution, usage of the service, support, whatever.

    • GPL and AGPL don't even prohibit for-profit businesses from using software with those licenses, they just say you don't get to pretend it's your own intellectual property and privatize it.

      It's not anti-commerce or anti-business to contractually prohibit selfish entities from absconding with public goods for private gain and refusing to contribute any public good back in the process.

      Similar idea to public roads - if you want to use public roads that the rest of us enjoy, pay taxes like the rest of us do. Using public roads without paying taxes doesn't make you a savvy businessman, it makes you an amoral freeloader.

      If you want an intellectual property moat, fund the labor to build it yourself. The world doesn't owe you a penny.

AGPL stops others from running a competing cloud service using the Go backend. It does nothing for the frontend except scare off enterprise users.

  • You can totally run AGPL code as a service. You can run it as a service unmodified or if you modify it, you just need to make the source available.