What's with the move to MIT over AGPL for utilities?
-
If you're developing software for a platform that doesn't allow users to replace dynamic libraries (game consoles, iOS, many embedded/commercial systems), you won't be able to legally use any GPL or AGPL libraries.
While I strongly agree with the motives behind copyleft licenses, I personally never use them because I've had many occasions where I was unable to use any available library for a specific task because they all had incompatible licenses.
I release code for the sole purpose of allowing others to use it. I don't want to impose any restrictions on my fellow developers, because I understand the struggle it can bring.
Even for desktop programs, I prefer MIT or BSD because it allows others to take snippets of code without needing to re-license anything.
Yes I understand that means anyone can make a closed-source fork, but that doesn't bother me.
If I wanted to sell it I might care, but I would have used a different license for a commercial project anyway.If the only problem is that you can't use dynamic linking (or otherwise make relinking possible), you still can legally use LGPL libraries. As long as you license the project using that library as GPL or LGPL as well.
However, those platforms tend to be a problem for GPL in other ways. GPL has long been known to conflict with Apple's App Store and similar services, for example, because the GPL forbids imposing extra limits that restrict user freedom and those stores have a terms of service that does exactly that.
-
Only if they make changes/improvements to the code. If it's a library that is used then no, AFAIK you don't need to.
If you link to GPL library, your software has to be GPL. You are confusing it with LGPL. Though you can bypass this by making the library its own standalone app. Like let's say FFmpeg which is just a frontend for libAV libraries. (ignore that these libraries are actually LGPL, so you can link to them.)
-
Because most corporations do not contribute their changes back if it's MIT/BSD licensed
Oh so you're saying the companies are not altruistic? I'd agree. I thought you were saying that the people making the FOSS were not being altruistic.
-
I would understand if Canonical want a new cow to milk, but why are developers even agreeing to this? Are they out of their minds?? Do they actually want companies to steal their code? Or is this some reverse-uno move I don't see yet? I cannot fathom any FOSS project not using the AGPL anymore. It's like they're painting their faces with "here, take my stuff and don't contribute anything back, that's totally fine"
Does anyone use MPL anymore? Is it a decent middle ground or the worst of both worlds?
-
Some people might say that so many companies contributing free and open code to clang/llvm instead of GCC is real world evidence against the idea that companies only contribute to free software because the GPL makes them. Or even that permissive licenses can lead to greater corporate sharing than the GPL does. Why does Apple openly contribute to LLVM but refuse to ship GPL3 anything?
According to the web, Red Hat is the most evil company in Open Source. They are also the biggest contributor to Xorg and Wayland. Those are MIT licensed. Why don’t they just keep all their code to themselves? The license would allow it after all. Why did they license systemd as GPL? They did not have to.
The memory allocator used in my distro was written by Microsoft. I have not paid them a dime and I enjoy “the 4 freedoms” with the code they gave me because it is completely free software. Guess what license it uses?
you (and everyone else who thinks the gpl is just about contributing back) are missing the point. the main goal of the gpl licenses (including the lgpl) is user freedom. they ensure that you can modify any piece of gpl software anywhere it's used. if you use a propietary system that includes gpl/lgpl software, you should be able to modify the gpl parts to do whatever you want. say for some reason you're using a system that includes ai slop in its shell, but the shell is a gpl application. you could just grab a fork of the shell stripped of ai functionality and replace the system's shell with it
that's impossible with permissive licenses. with permissive licenses, you could be using a system with 80% open source software and be completely unaware of it, unable to change it as you see fit. from the pov of the user, "permissive" licenses are restrictive; copyleft licenses are freer bc its restrictions are there to forbid the developer from locking down free software for the users
of course companies are going to prefer permissive licenses. they want to take advantage of using free labor enable by open source while keeping the freedom to lock down said open source software in their systems. so, when given the option, they will always prefer to contribute back to software with permissive licenses
and that's the whole problem here: you giving them the option by creating a copyfree alternative to an important piece of copyleft software. do you think companies would ever comtribute to linux if any bsd was a viable alternative to linux? but the kernel community at large decided to stick to the gpl, so the companies have no choice
it's true that copyfree software isn't any less free than copyleft software, and i'm not even completely against using permissive licenses. my issue is creating an mit alternative to gpl software
-
Oh so you're saying the companies are not altruistic? I'd agree. I thought you were saying that the people making the FOSS were not being altruistic.
The very act of writing FOSS code is altruistic. Indeed, I'm looking at the big corporations when I point and say "thief!".
Some companies do work that I like though. Mullvad is a prime example. Recently I've been looking at Nym and I like their ideas and work. I really liked that the big giants like Google and IBM collaborated for k8s. I believe Uber has done something wonderful for the FOSS community too but I don't remember what it is. The fact is that they can if they try
-
I would understand if Canonical want a new cow to milk, but why are developers even agreeing to this? Are they out of their minds?? Do they actually want companies to steal their code? Or is this some reverse-uno move I don't see yet? I cannot fathom any FOSS project not using the AGPL anymore. It's like they're painting their faces with "here, take my stuff and don't contribute anything back, that's totally fine"
For me, my personal projects are generally MIT licensed. I generally don't like "restrictions" on licenses, even if those "restrictions" are requiring others to provide their source and I want as many people to use my projects as possible, I don't like to restrict who uses it, even if it's just small/home businesses who don't want to publish the updated source code.
With that said, though, I have been starting to come around more to AGPL these days.
-
For me, my personal projects are generally MIT licensed. I generally don't like "restrictions" on licenses, even if those "restrictions" are requiring others to provide their source and I want as many people to use my projects as possible, I don't like to restrict who uses it, even if it's just small/home businesses who don't want to publish the updated source code.
With that said, though, I have been starting to come around more to AGPL these days.
I wohld agree, because you really downplay the scenario.
As soon as you accidentallt create something, which everyone starts to use or has an use case, then some Cooperation will copy that thing, make it better and make your community dissappear because there is the newer tool which you cant change the code of anymore and need to use a monthly subscription or something to even use.
So, it somehow seems like you're gaslighting yourself by downplaying the use case.
Mostly it will be small buisnesses and hobbyists, which I would like to code for them too. Especially when they are nice and friendly. But as soon as Microsoft, Google, Meta, Amazon gets hands on it and sees a potential to squeeze money through it by destroying it, then they will surely do it.
-
I like BSDs more than GPL just personal choice
Squeek, squack. Your opinion is whack
-
Note that AGPL can take changes from MIT but MIT can't take changes that are purely AGPL without following the AGPL.
So, as far as I can understand, any improvements done to the AGPL version cannot be carried over to the MIT version (without very painful and careful re-implementation / re-engineering). That alone would be a big advantage to the hypothetical AGPL fork.
Thats the point of GPl licenses. You cant close source it.
MIT is a free and also heavy closed source friendly. GPL fixes the greed
-
I wohld agree, because you really downplay the scenario.
As soon as you accidentallt create something, which everyone starts to use or has an use case, then some Cooperation will copy that thing, make it better and make your community dissappear because there is the newer tool which you cant change the code of anymore and need to use a monthly subscription or something to even use.
So, it somehow seems like you're gaslighting yourself by downplaying the use case.
Mostly it will be small buisnesses and hobbyists, which I would like to code for them too. Especially when they are nice and friendly. But as soon as Microsoft, Google, Meta, Amazon gets hands on it and sees a potential to squeeze money through it by destroying it, then they will surely do it.
I edited my comment to better and more fully reflect my thoughts. It's hard to properly express myself when I've been as sick as I have been with bronchitis and possible pneumonia for the past 4 weeks.
Hopefully my comment now better reflects my thoughts.
-
If the only problem is that you can't use dynamic linking (or otherwise make relinking possible), you still can legally use LGPL libraries. As long as you license the project using that library as GPL or LGPL as well.
However, those platforms tend to be a problem for GPL in other ways. GPL has long been known to conflict with Apple's App Store and similar services, for example, because the GPL forbids imposing extra limits that restrict user freedom and those stores have a terms of service that does exactly that.
I guess I forgot to mention that those platforms usually require you to sign NDA's that prevent you from releasing any code that references their SDK.
This makes it impossible to license your entire project as GPL/AGPL, as you would be breaking the NDA. -
I would understand if Canonical want a new cow to milk, but why are developers even agreeing to this? Are they out of their minds?? Do they actually want companies to steal their code? Or is this some reverse-uno move I don't see yet? I cannot fathom any FOSS project not using the AGPL anymore. It's like they're painting their faces with "here, take my stuff and don't contribute anything back, that's totally fine"
Canonical still licenses most of their stuff under GPL3, including new stuff. The license (other than it being open) was probably not even a consideration in deciding to experiment with uutils.
-
Thats the point of GPl licenses. You cant close source it.
MIT is a free and also heavy closed source friendly. GPL fixes the greed
Yes. I did not say otherwise.
I get downvoted for stating a fact, and yet the only answer essentially agrees with why I said... shrugs
-
I would understand if Canonical want a new cow to milk, but why are developers even agreeing to this? Are they out of their minds?? Do they actually want companies to steal their code? Or is this some reverse-uno move I don't see yet? I cannot fathom any FOSS project not using the AGPL anymore. It's like they're painting their faces with "here, take my stuff and don't contribute anything back, that's totally fine"
fyi: GNU coreutils are licensed GPL, not AGPL.
there is so much other confusion in this thread, i can't even
-
Only if they make changes/improvements to the code. If it's a library that is used then no, AFAIK you don't need to.
If you are using a GPL library that is statically linked to code with a different license the result is one binary that has inside both GPL and other license code, which would not be allowed under the GPL terms, because it requires at the binaries that use the source code must have their source code available in full.
The only case in which you don't need to provide the source for GPL software is if you don't actually distribute the code to customers.. private code does not have to be published with its source, as long as you never made the binaries public and never gave it to anyone else. Only when you give it to someone you need to provide the code.
This allows for a loophole in which if you are providing a service, then you can run the software privately in your server without sharing the source code to the clients which do not really run the server program although indirectly benefit from its results. This is why the AGPL was created, since it has a clause to force also those offering services to make the source of the server available to the users of the service.
-
What's stopping people from doing that today is network effects. There are enough differences today between bsd coreutils and gnu coreutils that substituting one for the other doesn't work out of the box.
The chain of events that would cause a problem are: due to Ubuntu popularity rust MIT core utils overtakes gnu coreutils and people drop support for gnu coreutils, then a large and we'll funded corporate entity could privately fork rust coreutils and lock people in.
To me, the problem is not really so much about "locking people in" (it's also unclear what you mean by that, if they were already using that ecosystem before using coreutils aren't they already locked in?)
To me, the problem is the lack of trust.. how can I be sure that the version of uutils shipped with "X Corp OS" has not had some special sauce added-in for increased tracking, AI magic, backdoor or "security" reasons?
-
The only problem is companies will always try to use MIT and using it for small projects will set a precedent. And we don't have a governing body strong enough to enforce the GPL (nobody listens to the FSF)
Ha, well, if my single-digit-downloads (all by me) NPM module is influential enough to set precedent, then I'd consider that a success.
-
Ah, OK. No, of course not. I was thinking more about hobby developers.
I think many hobby developers also see "hobby" developing as part of their career.
So they would happily try and have their hobby align with future employment possibilities.
-
"apolitical" tech-bros who are mostly just interested in their six figure paychecks and fancy toys.
This, I understand.
laissez-faire "libertarians" who are ideologically opposed to the restrictions in the GPL
This, I do not. Apologies for my tone in the next paragraph but I'm really pissed off (not directed at you):
WHAT RESTRICTIONS???? IF YOU LOT HAD EVEN A SHRED OF SYMPATHY FOR THE COMMUNITY YOU WOULD HAVE BOYCOTTED THE MIT AND APACHE LICENSE BY NOW. THIS IS EQUIVALENT TO HANDING CORPORATIONS YOUR WORK AND BEGGING THEM TO SCREW OVER YOUR WORK AND THE FOSS COMMUNITY.
I feel a bit better but not by much. This makes me vomit.
I write code for a living. I cannot, by any means, utilize a GPL library to support the needs of our customers and will either have to write my own replacement or dig to find something with less restrictions like MIT.
On many occasions, we will find bugs or usage gaps or slowdowns that can get pushed back to the MIT licensed open source cause we were able to use it in the first place. If your goal is to make sure your library gets used and gets external contributors, I don't see how GPL helps the situation as it limits what developers can even choose your library in the first place. If your goal is spreading the ideology that all software should be free, go keep banging your drum for GPL.