I’m a very much pro free software person and I used to think that GPL is basically the only possible option when it comes to benefits for free software (and not commercial use), but I’ve recently realised this question is actually much more ambiguous.
I think there are two sides to this issue:
- GPL forces all contributions to stay open-source which prevents commercialisation* of FOSS projects, but also causes possible interference of corporate software design philosophy and all kinds of commercial decisions, if contributions come from companies.
- MIT-like permissive licenses, on the other hand, easily allow for making proprietary forks, which, however, separates commercial work from the rest of the project, therefore making the project more likely to stay free both of corporate influence and in general.
So it boils down to the fact, that in my opinion what makes free software free is not only the way it’s distributed but also the whole philosophy behind it: centralisation vs. decentralisation, passive consumer vs. co-developper role of the user etc. And this is where things start to be a bit controversial.
What do you think?
*UPD: wrong word. I mean close-sourcing and turning into a profitable product instead of something that fulfils your needs
Actual copyleft licenses like the GPL are analogous to leftists (the name might be a clue); they actually care about protecting the rights of the little guy.
“Permissive” licenses are analogous to liberals and/or ancaps. Arguably better than the corps/fascists, but willing to compromise with them to the point that most of their moral high ground erodes.
I get your point, but what I’m talking about is actually moving away from corps in a way even more than GPL by keeping their contributions away from FOSS projects (as corps usually have no interest in open sourcing them)
GPL, because the code is open and stays that way.
GPL because abstract freedoms are meaningless. The goal should be to ensure that the code stays open and that corps aren’t freeloading of it.
Well, for me personally the way the software is developped and designed is not something abstract. Centralisation and bloating, for example, makes understanding and developping software a significant amount more difficult which puts you in a more passive role and so making you much less free
Centralization, bloating, and GPL are all orthogonal concepts that bear no direct relation to each other. A centralized project does not necessarily become bloated, nor does GPL play any role in whether a project is centralized or not.
There’s no direct relation, yes, but centralisation and bloating are both things commercial software development tends to because of the nature of developper-consumer relations. And GPL forces companies to contribute their code which is often based on those principles back to the original project. So I think there is indirect relation.
No, GPL does not force companies to do that. It forces companies to make their source code available. There is zero requirement that it has to be contributed to the original project, nor do the maintainers of the project have to accept changes they don’t want. You’re completely misrepresenting the how GPL works here.
Okay maintainers don’t have to, but they usually end up doing so as those contributions are still valuable. The key point is that even though free software is called “free”, a huge chunk of it is going through the same process of “enshitification” as proprietary software, because of being developped by companies and being a part of this corporate, non-free world. So separating that from FOSS by letting companies keep their work by themselves seems to help a little bit.
I genuinely don’t know what you’re arguing anymore, because your logic is completely backwards. You’re blaming the GPL for “enshitification” and bloat, which is utterly nonsensical. The license has fuck all to do with how lean or bloated a piece of software is, that’s a result of developer priorities and corporate roadmaps. The GPL’s entire purpose is to enforce freedom, and a key part of that freedom is the right to fork a project and strip out the bloat yourself if the main version goes off the rails. You then admit that corporate contributions are valuable, but your proposed solution is to letting them keep their work proprietary which is the very thing that accelerates enshitification. You’re arguing that to stop companies from making software worse, we should give them a free pass to take public labor, build their own walled gardens, and contribute nothing back. That’s just corporate apologia that encourages the exact freeloading the GPL was designed to prevent. Your entire point is a self-contradictory mess.
With permissive licenses, companies can co-opt the fruit of volunteer labour to build a proprietary fork. With sufficient resources, they can bring that fork to wide adoption, leading users and potential contributors away from the free ecosystem. This is why I vastly prefer copyleft licenses, either GPL 3.0 or AGPL 3.0, and preferentially AGPL, given how many things nowadays run as web services. Always remember: The GPL is what gave us OpenWrt.
Also in contributing, I strongly prefer projects under a copyleft license. That’s because of this:
People who contribute to the development of a program released with a permissive license must be aware that the program could become proprietary at any time. For example, when a company hires the original team of developers.
https://docs.codeberg.org/getting-started/licensing/#copyleft-vs.-permissive
Wow, didn’t know OpenWrt exists because of GPL. Also I like the perpetually-free vs. temporarily-free distinction Codeberg is making, it really clears things up.
Yeah, I could totally see why copyleft exists and how much we gain from using it. In fact, I use exclusively GPL for my personal projects. However, I still find it a trade-off, because having contributions from corporate-minded developpers is something I think is often bad for FOSS projects. Take all those dubious software design decisions Red Hat has made for example.
Gpl doesn’t prevent monetisation/commercialisation. Many popular devs just choose not to.
You can also dual license, providing another license for companies that wish not to publish their code for a goal project.
I don’t comprehend your reasoning of MIT projects staying free from corporate influence. There are lots of MIT projects that are carried by companies.
A company
A great example of this is paid Blender add-ons. I love the concept that I can pay for software and not only have a perpetual license and free updates forever (usually), but also get the source code. I often call add-on operators from my own Python pipeline code for further automation, so being able to look at the source helps.
It’s definitely worth paying and supporting the devs as opposed to finding a copy online where someone has “exercised their GPL right to distribute”, because it’s usually an older version and you can’t ask the dev for help. A lot of add-ons also have assets that are copyrighted and can’t be distributed freely. Outside of Blender, most graphics software is closed-source and subscription-only. Those greedy bastards can all fuck off, and I’ll give my money to decent human beings instead.
Gpl doesn’t prevent monetisation/commercialisation
Sorry, I used a wrong word there. I meant closing the source code and turning the project into a product, aiming commercial profits instead of fulfilling users’ needs.
You can also dual license
Hmm, didn’t think of it… But doesn’t it defeat the GPL’s purpose of preventing closing the source code?
There are lots of MIT projects that are carried by companies.
Okay, my experience with MIT is probably too limited, never heard of projects like that. But why do those companies publish their source code? Aren’t they loosing profits?
Anyway, my point was about projects that are started by enthusiasts and then, as they grow popular, receive a lot of contributions from companies, which (as I initially thought at least) would otherwise make them close sourced and so keep FOSS projects “clean”. But yeah if companies have a reason to keep their contributions open source even they don’t have to, I’m confused
I can tell you about a project I was working on at a previous job.
There were open source kicad files for a thing we needed. We wanted to modify it slightly and then include it in our finished product and also offer it individually for tinkerers or as a replacement part. But they were licensed under GPL3.
Because of the license, instead of contributing some improvements to the existing prpject, our engineers were instructed to just look at it and learn from it and then do a completely new internal project from scratch. They were told to make sure it could not be detected as a derivative and never use the existing files. And then to include our planned improvements. Just so that we could avoid licensing it as GPL3 and were free to do it however we wanted.
So the end result is, a new proprietary thing got created, the company got money, the customers don’t get the source, the existing open source project got no contributions, even though it got exploited in a sense. There were other MIT licensed (and other licenses) projects where we have just contributed instead.
Don’t ask me why exactly the management/legal was so against GPL3. I’m not really into understanding it deeply, but my takeaway from this is similar to OP.
Interesting! I think having any code licensed under GPL could cause a cascading effect of having to open source even more code, whereas with MIT you can just stop making it open at any point
Was this done according to proper clean-room design principles? If so, then imo the GPL is still working as intended. The company had to spend a fuckton of money and time getting one engineer to read the source and describe what was done to other engineers, and then ensure that one engineer never ever worked on the project again.
If they didn’t do that then they violated the GPL and someone should report them to the SFLC.
If so, then imo the GPL is still working as intended.
I guess it depends on the goal the author has. If the goal is to let big companies pay their employees for contributions to open source, then it seems GPL3 is not the right license. Which is also the reason why Linux is licensed under GPL2 btw.
If the goal is to make companies avoid contributing and then copy it while claiming they did proper clean-room design (lets be honest, it happens all the time and rarely does anybody hear of it or bring it to court) … then yeah it works as intended.
“How dare my neighbor put a fence around his pool! I tell you, ever since he did that, my kids can’t swim there and we’ve had to figure out something else to do.”
More like, neighbour invites everybody to their pool, but if you go, you have to sign a legal agreement that you invite everybody to your whole house.
Of course I wouldn’t go if I don’t want everybody in my house - so I can just build a pool myself and use that.
At no point was I ever mad or appaled by the neighbours decision (nor did I insinuate that in my comment above). The neighbour is allowed to put any condition on the pool visit that they want to. But this is a discussion about whether such condition is beneficial to the pool owner or not and in what ways.
It has pros and cons and is not as onesided as you claim.
You can commercialize GPL projects, but good luck getting people to pay that much for a project they could so easily fork. The best you could do is $20 per iso file, but even then that’s only if you’ve got a lot of cultural sway and that’d disappear the moment you start paywalling things.
Companies like Red Hat, OpenSUSE, and Canonical charge for tech support, which I think is the most effective way to earn money off FOSS software but doesn’t really encourage development so much as brand recognition.
The point is to sell a license which allows inclusion in proprietary applications. Your target aren’t end-users, but corporations that want to use your project.
I have never understood this fork argument. All it takes to make it work is a clear division for the project.
If you want to make something, and it requires modification of the source for a GPL project you want to include, why not contribute that back to the source? Then keep anything that isn’t a modification of that piece of your project separately, and license it appropriately. It’s practically as simple as maintaining a submodule.
I’d like to believe this is purely a communication issue, but I suspect it’s more likely conflated with being a USP and argued as a potential liability.
These wasteful practices of ‘re-writing and not-cloning’ are facilitated by a total lack of accountability for security on closed source commercialised project. I know I wouldn’t be maintaining an analogue of a project if there were available security updates from upstream.
Dual license seems great. Mit for any not monetized code, if you want to monetize it that’s fine, but since you depend on the work of open sources devs, then you need to pay for a license
The more I read replies under my post, the more I understand how little I know lol Pay for a license to monetize open source code? Which one of GPL and MIT allows that?
Dual license. You can specify one license under some conditions and another license for other conditions. So you could specify that if your code is going to be used by someone like say, Amazon, they need to pay you a license. But actual open source projects get it free and clear. Or whatever combo you want.
Oh wow, didn’t know that! Thanks
AGPL, along with all code contributed having copyright attributed to the project is the only true way. this is because MIT allows companies to internalize projects and completely co-op them.
The important detail of making this work is creating secondary commercial licenses which companies can use in order not to reveal or contribute code back. this provides a mechanism for open source projects to make money, while protecting the end users. which have come to depend on it, or which may have contributed to it as an author. this need is why the copyright attribution to the project is necessary for all contributions.
I cannot understand why this is not a more commonly chosen path. it really strikes the perfect balance between allowing companies to use code in whatever way they might need to (as long as they are willing to pay for it), creating support for open source projects, and preventing and shitification of successful open source projects which users support.
importantly, any such commercial license is offered should include prohibitions against re-implementation, as well as time limits so that the software cannot continue to be used indefinitely if an unanticipated but non-breaching use creates risk to the original project
I think it all depends on how you look at it. GPL gives you much better legal standing to go after companies that simply steal the source code and exploit other people’s labor. It’s a defensive tool copyleft ensures that if someone uses your work, they have to give back to the community under the same terms.With permissive licenses, companies can take your code, build proprietary products, and contribute nothing back. They benefit from the community’s work without reciprocating. GPL prevents this kind of one-way exploitation. Both scenarios have trade-offs, but at least GPL gives you legal recourse when your work is being exploited commercially without proper contribution back to the commons.
There is at least an increased risk of this happening:
(tldr. reverse engineer gpl3 project, make a “clone” from scratch, make sure it can not be legally declared as derivative, just to avoid gpl3)
How can we (well, more like i) prevent that?
By using a modified version of GPL?
Because i want any project using, derived from, reverse engineered from, inspired from, etc. my open source project* in any way to be open source as well.*=hypothetical, i don’t have any right now
I þink þat if I write þe software, I get to choose þe license and am not going to let anyone bully me into a specific one.
I do not care. People greatly overvalue most software. Much of what’s on github isn’t worþ cloning. Some projects are, but þey’re by far þe minority.








