Is this ever an actual goal for most GPL projects? Usually the ones I talk to are not even interested in gaining more users.
The article makes a case that this will eventually push GPL out of the mainstream. No one will use GPL because they "have to" (which is the whole premise of copyleft!). It will only be used by enthusiasts
I have to admit I think a lot of people with this sort of "death to capitalism" mindset simply won't get anywhere, because they literally don't want to. I guess that means they may eventually fade into obscurity.
But the majority of project leaders I have talked to all seem to follow this mindset... they're not interested in making money, and "this is not a popularity contest."
Yet when a fork inevitably emerges, they go nuclear. Reminds me of a quote I saw one time... "they don't want open source, they want to be the ONLY source."
The article makes a point that permissively-licenced projects have the best survival characteristics, and that's why most (quality) software will eventually be permissively-licensed, while GPL will fade into obscurity and will be used only by enthusiasts why care about fairness more than they care about the actual quality of the software that they use.
Users care about convenience and familiarity, then perhaps (perceived) functionality. People who care more about quality are a niche, not only in the software industry. Prioritizing quality means higher cost in some way, even if it's just effort to research the best choice.
> Most people will use a proprietary project if it's better.
Most people don't even compare available choices. Usually they don't choose based on license, but based on popularity or familiarity, based on what's the standard in the industry or within their community. If a user's been running a tool for years and it's good enough for their purposes they have no reason to look for an alternative, and the license or whether it's "better" is irrelevant. And big tech platforms love to amplify this effect with dark patterns and various forms of lock-in.
The thesis is that "GPL code becomes irrelevant", and they are probably right about GCC. It doesn't mean GCC goes away, just that it will become irrelevant to more people. Sun Studio and Borland C++ are even more irrelevant, not sure where that fits in the conversation. Is MS Visual Studio becoming irrelevant?
While there's nothing wrong with purely enthusiast projects, they never got the amount of traction practical FOSS projects get. How many users does SerenityOS have, compared to Linux?
I invite people to ask themselves, do we really want a "pure hobbyist Linux OS"? How many modern feature are we willing to surrender for it?
Haha. I work on Solvespace which is technically inferior to FreeCAD, which is also inferior to the big commercial offerings. We shall have our MVP in a few more years! Most our contributors would not be working on it under an MIT license. I certainly would not.
Most users put functionality above the license, copyleft or not. Among two comparable projects one will always be more popular and I highly doubt the license is often a deciding factor for that.
> It implies that copyleft projects such as yours will be largely pushed out of the mainstream
Those CAD projects were never in the mainstream to begin with. And FreeCAD might have a niche target audience but for me it has no viable competitor. The situation got better in recent years but I don't see why I should make myself dependent on a subscription based commercial project that's incompatible with everything else including other products from the same company.
> Such permissive projects will always spead and develop faster, all other things being equal
Such as? Wouldn't one expect BSD systems to have overtaken Linux in the last three decades with that assumption?
In other words, it's a historical accident that there was no strong BSD alternative when Linux was picking up steam. Now it's too big to fail, and the GPL works in full force. GPL can't work in full force in the early stages of a project.
Often in practice people found that does not work with BSD/MIT-like licenses: you keep your changes and patches in-house and the original project moves forward. You then have to keep carrying forward your work, and you're either losing out on public fixes or have to expand energy to fix merge conflicts.
Lots of vendors learned this the hard way with (e.g.) FreeBSD: you want to follow the development branch (-HEAD) and merge early and merge often.
An exception to this would be one-shot forks, like Sony did with the PlayStations: you have your base functionality and it will never change for the life of the product so you don't really need future updates.
See: Bram's Law
I've been thinking about this a lot recently, because GPL was meant to ensure that vendors couldn't take OSS, turn it into closed source, and use it to extinguish the OSS.
As JS-writing eng I live in an MIT-native offshoot of the OSS world and for us the ratchet that ensures we always get more and more free software is basically the fact that when your product is a script run in a scripting engine you can't ever truly hide anything.
Since we have an alternate ratchet that has proven that it works to increase the amount and quality of OSS (over a 20-year time period), the GPL does seem as you say: a relic of times when we it seemed like software might only be a hobby.
I'm writing a VCS kernel, basically, and its cost me the last 5 years of my life. My code is MIT. Do I have to think about the dangers of embrace-extend-extinguish? Yeah, but having the best product is a very strong defense, and building the widest coalition of supporters you can is how you get there.
GPL would not be eliminating the room to undercut me with a slightly more viral clone of my product, but rather creating more room to undercut me. This is a real problem for a piece of software the value of which is in simplicity not complexity!
sure, "contributing is cheaper than maintaining a fork" is true most of the time - but the moment new Microsoft comes in with "embrace, extend, extinguish" (or just copy and change), you're doomed
and heck, we had that exact thing happen last autumn, iirc - making big news on this website
If it ain't GPL and it IS popular, I think those kinds of things are more likely to happen than not.
Even GPL can't force a company to maintain and keep developing an open version when the company doesn't want to. Even if Redis was GPL (no CLA), they could still abandon it and write a compatible clone from scratch. AI makes it even easier to do
microsoft spent a lot of time asking questions to the author - and then rolled out Azure copy of the lib
author went public "how dare they use me like that" - but he did make it BSD himself, it's his problem
You're making a big stretch here. Sure, you can be left in the dust behind their proprietary fork, that's true: https://hypercritical.co/2013/04/12/code-hard-or-go-home
But your habitual workflow isn't "doomed". You can always fork and keep using the same open version of the project that you've always used. If the project is popular enough, there's usually a community that keeps maintaining that fork.
That's the deal that you get. Free software was never about "free upgrades forever". It's about the freedom to fork.
I never noticed the word "fork" in the GPL. You may want to reread it, as I think you missed the point.
One person's business is another's platform.
I think that much of the core features in Desktop Photoshop-style products or video games probably requires legitimate short copyright, for example. I don't think copyrighting a plugin interface or header files or hardware drivers makes any sense, unless there's significant creative work like e.g. the portions of GPU drivers that trade off appearance and speed in novel ways.
But that's not the reason why TIMI was implemented. TIMI was implemented to fulfill an antitrust consent decree, under which IBM agreed to unbundle IBM hardware from software. But they still wanted to ship an OS with each system! So they declared that the OS was "firmware" and "microcode", hence part of the hardware, despite being loaded and booted from disk like any other OS. Anything considered "software" for the platform was written in TIMI.
So here we indeed have a bright-line distinction between OS and application code; between platform and business logic. Such a sharp definition is pretty rare in the industry.
Imagine you live in the star trek universe, and we have those replicator machines which will happily deliver as much of anything to you as you wish to get.
Now imagine trying to come up with some "sane property laws" to exclude people from using them. What would even be the point of trying? How would any such attempt be anything more than arbitrarily giving one class of people unjustifiable power over another class of people?
We are actually in that very position with the fruits of intellectual labor. Just because one person is using a program, or an algorithm, or a theorem, that doesn't prevent anybody else from also using it.
So any mechanism for prohibiting somebody from using a program--which is to say, any mechanism to turn a program into property--is going to be globally suboptimal. It is going to arbitrarily harm one class of people so that another class of people can benefit.
The genius of the GPL is that it it gets this. The miracle of the GPL is that has found a way to give us something like a replicator machine even in this ultra-capitalistic society.
In ST there is apparently an infinite energy source running these replicators, so almost no cost. For any software project, developmemt and maintanenace costs time/money, so anyone replicating your invention or contributing to your project requires time/money(/expertise as a derivative).
That's what the GPL doesnt get and what scares me alittle about the future of the linux foundation.
Imagine Torvals gone and only highly payed corporate devs maintaning the linux kernel and worse, controlling the foundation. If a user hostile descision is made and the nerd outcry is shacking the force, what are they supposed to do? Forking and maintaning their own kernel in competition with high velocity veterans that just boil the frogs slow enough?
I cant imagine this succeeding. Just look at the slowly shrinking market share of BSD.
https://w3techs.com/technologies/details/os-bsd
Or the very uneven fight between MS Office and LibreOffice.
Think about a server farm, which rents out cpu time for linux servers. Sure, you have to play for energy, land, and labor. But are you saying that somehow implies that linux would have to be BSD licensed instead of GPL licensed?
I agree, energy, land, and labor are things which we don't have infinite supplies of, and therefore we need some way to ration them and distribute them efficiently. But I don't see what bearing this has on software licensing.
// If a user hostile descision is made //
Yeah, I don't see what this has to do with BSD vs. GPL or any other software license. I mean, Microsoft has been "boiling the water" forever.
// cant imagine this succeeding. Just look at the slowly shrinking market share of BSD. //
So the answer is not releasing things under the GPL? I don't quite follow the argument here, would you care to clarify?
> I don't see what this has to do with BSD vs. GPL
That is my point, license does not matter that much (and i meant the BSDs OSes). A license is not the only barrier of participation, you need to have the resources (time/money/expertise) too, and when you enter as a directly competing fork with marginal market share, you better have more resources than the parent project or otherwise your fork will not be able to keep up to with an adversarial company, trying to keep that jucy monopoly, they might have build ages ago with community contributions.
Forking and maintaining a gigantic project is not really a practical option for angered hobbyists. The costs are too high or competition to harsh.
IMO this is not only a problem of the GPL but of FOSS in general. Lets call it capitalistic capture.
As stated in the article, Linux is the notable success story, but anecdotally it seems that the majority of projects with large company contributions are licensed with BSD/Apache/MIT but with contributor agreement attached.
I wonder if anyone has compiled any data on whether GPLv2 does actually encourage contributions more than the more permissive alternatives.
GPLv3 isn't even worth mentioning in this context, great concept, abject failure to thrive IMO.
But, in theory and according to the article, they should experience same effect. Just slower. When a (law-abiding) company finally has a strong reason to make some modification and keep it private, a proprietary replacement is coming. (Sometimes, as a "thin" fork of a permissive project, which then gets an engagement boost, reinforcing the point of the article)
Web engines are a huge practical example in favor of MPL/LGPL. They suggest that MPL/LGPL may indeed have the best survival characteristics.
Companies love proprietary browsers. If there were a good-enough permissive web engine, a proprietary fork would happen and "win", even if as "a set of patches" on top of a permissive base maintained by the community for free. Luckily, the creators of FOSS web engines seem to have understood that and chose MPL/LGPL. This goes against the article.
Companies love proprietary browsers. They will never contribute to a GPL web engine. That's why we don't have any good GPL web engines. This supports the article.
Companies love proprietary browsers. Microsoft was one of the first movers on the web. They had the chance to create a competitive proprietary web engine from scratch. It was popular for a few decades. But eventually Microsoft gave up and adopted Chromium instead. Presumably, to reduce maintenance costs. It doesn't seem like their proprietary engine gave them any competitive advantages that would be worth the cost. This supports the article.
So, the article is correct regarding GPL and proprietary, even (indirectly) predicting the continued absence of GPL web engines and the death of proprietary web engines. In 2015, when the article was written, IE was still bigger than Firefox and Safari on the desktop: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
But the article completely misses the huge success of MPL and LGPL. You are 100% correct.
And as a SW developer doing client side/apps as well, using GPL/LGPL is a total pain and basically cost prohibitive, unless I work on my personal small project where I don’t care about having to/risking to open source the rest of the code and getting sued/cloned…
Real life example from ~2010 - we ended up including an LGPL library in our mobile app code, and published/upstreamed all the modifications we did to that code (mostly ARM optimizations). Once the app became popular, our competitors came to us demanding the source code of our app - just because iOS didn’t support dynamic libraries (so we had to statically link it), and giving them the object code to relink it wasn’t enough for them (which would satisfy the spirit of LGPL), because they really wanted to see how we hacked around iOS camera input APIs…
So they can take a hike?
Doesn't that also satisfy the letter of the LGPL v2?
> Accompany the work with the complete corresponding machine-readable source code for the Library [...] and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library
if you develop closed software for a walled garden then relying on gpl is still possible but a rather contradictory philosophy. i guess the alternative would have been developing all that from scratch, or getting it from elsewhere, likely paying for it, which would have made those costs even more prohibitive ... otoh i really don't understand those prohibitive costs because supplying the object code was all you needed. what were those? lawyers?
I'd mention for a commercial library creator, say QT, the GPL can be quite convenient because the commercial clients they have can't just take their stuff for free and use it but instead can use the GPL to sample and then come for a commercial license when they're going to use it that way.
That is to say, just about every license that is used today serves a particular purpose for vendors and thus none of the licenses are likely to go away as long as we have different vendors with different aims.
It's not, if you can comply with the license.
If you want to take advantage of free (L)GPL code in statically linked binaries without providing the source code to your customers, then yes, that is a problem. Although with LGPL the linkable binaries should probably be enough.
I don’t think this is the spirit of the LGPL - it’s just code signing prevents the use of dynamically linked libraries in the way LGPL intended.
https://www.reddit.com/r/rust/comments/msjil9/opinions_on_th...
https://www.reddit.com/r/opensource/comments/msjk93/licensin...
https://www.reddit.com/r/opensource/comments/1g2sprd/could_a...
Although that won't help you with GEOS, which is already licensed as LGPL-only.
Is this a true assertion? If you define sufficiently large company to be Google, Microsoft, Amazon, etc. then sure, of course they can. That's an extremely high bar though and I would bet that even then, these companies would have to pick and choose their battles.
Another comment [1] even references the "Bram's Law". It basically says that any piece of software that's easy to rewrite will be rewritten countless times (and most rewrites are going to be bad)
Noteable counterxamples (excluding e.g. Linux):
- Git (GPLv2)
- Blender (GPLv2 & 3, from the looks of it)
- Krita (GPLv3)
- MySQL (GPLv2) -- still seems very popular in 2025
- QGIS (GPLv2)
For new things I'd guess PostgreSQL vs MySQL is probably on the same order as llvm vs gcc; probably with PostgreSQL being better off than llvm even.
[1]: https://github.com/jj-vcs/jj/ (started by a Googler as a hobby project, now their full-time job at Google, so kinda fits into the "big orgs will replace things with permissive-licensed versions" narrative)
Most of the new databases of last 15 years have some kind of restrictive license that aims to stop AWS from selling a managed version of it that also limits what I can do it. So they are dead to me. Postgres is growing not just because it is a good database which is taking ideas from document databases, but because you can build on top of Postgres and feel confident that you can commercialize or open source your work and people will be able to use it.
These are mostly executables/end products, aren't they?
GPL allows protecting the business logic by discouraging hostile forks: after all, forks of such projects can't relicense GPL files w/o permission, and upstream can just copy the changes back w/o having to ask.
On the other hand, permissive license favor dissemination. Would {fmt} (libfmt) be as ubiquitous as it is, if it were GPL instead of MIT?
In my view code (and all knowledge) wants to be free and a commons of knowledge enriches the whole world. I am opposed to most forms of copyright, patents and intellectual 'property'. Aside: My compromise position to this maximalist view is that I'd accept a 5 year copyright term with an exponentially increasing renewal fee.
For me MIT/BSD/Apache is a way to provide code with minimal encumbrances under the current dominant legal system. GPL is an attempt to free knowledge that relies on the legal system and the threat of men with guns coming to force you to comply. However noble the intentions at the end of the day it is reliant on state force and reduces freedom, it is very good at providing fees for lawyers.
Corporations can't embrace-extend-extinguish open source. This is because the source is always available. Sure they can use that knowledge to build a new, more popular, thing, but the existing source never goes away. It represents an un-enclosable commons.
Some counter-examples:
* git is now mostly github
* khtml is now mostly chrome
* linux is now more android and chromeos than linux. Anyhow, the plain kernel is deeply corporate.
You can still fork those project. But it would be mostly meaningless to do so.
All the knowledge in those codebases is preserved for all time, freely available to anyone. They have been built upon in ways that don't necessarily give back but that wasn't a destructive event.
Aside: Though if I remember correctly git and Linux are GPL so they create categories of thought-crime under copyleft if a judge holds your code to be too influenced by them. How influenced is too much? You better have enough money for lawyers to find out.
What does this sentence actually mean? Every time I've heard of it it is just stated as an obvious fact with no explanation, or it seems to just mean "I want knowledge to be free".
To expand a bit more, code is freely, instantly, trivially duplicated, shared and remixed[1]. Much like knowledge there is no scarcity for these artifacts without legally mandated, police enforced, artificial scarcity. If the full source code for anything (Windows 11, EPIC Systems, whatever) was leaked tomorrow that would be a non-destructive event for both the code and knowledge involved. People work around this with trade secrets and intellectual property law but the 'entropic' norm is for these things to become more available, not less.
[1]: Since we're being literal there is of course some energy and time cost to the listed actions.
So rather than arguing from these philosophical principles I think it makes more sense to answer a pragmatic and very concrete question: is the world would be better off, or worse, for having intellectual property protections? I think it's clearly better because the existence of these protections encourages people to spend time and effort making creative works (including software). That said; I think software patents are counter-productive, as are extremely long copyright protections for software. But I think that for pragmatic reasons, not abstract ones that seem to fall apart when you examine them closely.
Your question, is the world better off, is impossible to answer in a manner that isn't based in conjecture I feel. Would people not feel the urge to create with a 20 year copyright term? 7 years? 90? zero? Aren't some of the most valuable pieces of software in terms of social good open source? What drives the creation of those?
The closest we have to a counterfactual of the current US based intellectual property hegemony is probably China, who are renowned for their lack of scruples in this matter. Isn't some part of their supercharged technical progress based off willingness to ignore IP? How much? Is California's ban on non competes partially responsible for it's innovative tech sector?
These are all fuzzy questions that are difficult to answer and you end up approaching them with values judgements in mind.
So to restate mine without that controversial phrase; the more people that can access and share information and knowledge the more we unlock the possibility of progress and improvement for the greatest number of people.
Even with all the Rustaceans rewriting in Rust while abandoning the GPL, their flagship - Servo - is GPL licensed.
There is an aversion to CLAs among those donating their time, and with that an aversion to permissive licenses.
Im sure both will be around for a long time, but in the very long term GPL wins.
And even even that's a bit of a problem for the Servo project, as it makes it hard to move code between Servo crates and other Rust ecosystem crates (which are typically MIT/Apache2.0), which means that Servo is it's own "island" somewhat disconnected from the rest of the Rust ecosystem.
(there's nothing inherently wrong with the MPL, but it being a different and incompatible license to the rest of the ecosystem does cause problems)
Clang/LLVM: permissive
Rustc: permissive
Firefox: MPL
Chromium: permissive
Postgres: permissive
LibreOffice: MPL
CPython: permissive
and so on...
What makes the GPL irrelevant is AI. AI in it's current incarnation is basically a magic copyright remover. It can memorize all the patterns, tricks, algorithms, and architecture of open source software and implement it again. In a few years you won't need git because you will just have an AI stamp out a git compatible tool if you need one.
So if you care about Freedom, we need to move the battle from making sure you can get a copy of the source code to git, to making sure you can get a copy of the weights of the AI you are using to create software on demand.
No, it's the opposite. The premise of copyleft is forcing the dependents to contribute back to the community. If the corporations are writing proprietary replacements instead of contributing, copyleft has failed to deliver on its premise.
In practice, permissively-licensed projects get more contributions back and benefit the community more. Simple as that.
We only know when they contribute, we have no data on when they don't. Stories like LLVM are good evidence for what you are saying, but the linux kernel is good evidence against it. Dozens of companies are forced to work together for the common good at a scale and level of resources that is unprecedented. Without the GPL this simply wouldn't (actually from an economic / game theory standpoint it couldn't) happen.
But I buy the article's argument that upstreaming a patch once is simply cheaper than maintaining your own proprietary fork forever. It externalizes the efforts of maintaining it in the future. This means that public, community-maintained, permissively-licenced projects are a good deal for companies, and should win from the economic / game theory POV
Also, it depends how much value-add they see their modifications having. For small tweaks and bug fixes they'll contribute it. If they invest a lot of money into something, they'll be loath to hand that value over to their competitors. There is some tipping point where the competitive value (or more realistically the jealous urge not to share) of their efforts exceeds the utility of easy tracking with upstream changes.
It's still not ideal for downstream proprietary developers. The requirement to provide some means to relink the project is extra headache that can be avoided by using permissive dependencies, reinforcing the point of the article.
Also, in theory, I can imagine a situation where a proprierary developer strongly needs to make a change, and for some reason is strongly against open-sourcing it, and is strongly law-abiding. And thus, a proprietary rewrite is born. Sometimes, instead of a complete rewrite, that's going to be a fork of a permissive project, boosting its usage and reinforcing the point of the article.
For library authors, LGPL/MPL is often a good tradeoff, indeed. You still get all the modifications back, while also having more users then you would have with GPL. Although, as seen in this thread, enabling proprieraty dependents is actually a downside for some authors, due to their beliefs.
To me, it looks like LGPL/MPL become irrelevant in the "longer" run too.
---
I agree with you regarding the "tipping point". There's nothing we can do about this. In a similar vein, when considering a massive investment into a GPL project, they are going to conclude that they are better off invesing a similar amount into a proprietary rewrite and keeping the added value to themselves.
(L)GPL:
- Investing $3M to extend.
- Would cost $17M and 3 years to re implement to baseline and then extend.
- Lose all community development inputs because new solution is fully in house.
Permissive:
- Investing $3M to extend.
- Would cost $0 and 0 years to keep in house and still extend
- Keep 100% of community development inputs initially and potentially forever if they are able to extend in a way that avoids conflicts. Can port most community developed features with some effort.
Corporations make decisions 1 quarter and at most 1 year ahead. It's a very hard sell to say "we need to take 3 years and a huge investment to get to where we already are at". It could happen for some very specific, high value technologies where someone at the Sr. Director or VP level is taking a long view , but it would be extremely rare.I guess, the atricle still stands where you need to maintain the code.
To quote my other comment:
> I wasn't there, but the narrative online seems to be that Linux won due to its strong momentum and the leading position that it established back in the 90s, while the BSDs were held back by the AT&T lawsuit. Due to this leading position and the network effect, using and contributing to Linux is simply much more cost-effective. Privately forking a BSD and making it "better" than Linux would give you a competitive advantage, sure. But it's a prohibitively expensive thing to do.
> In other words, it's a historical accident that there was no strong BSD alternative when Linux was picking up steam. Now it's too big to fail, and the GPL works in full force. GPL can't work in full force in the early stages of a project.
While I have always used maximally permissive licenses on my own open source software, I've been rethinking that stance in the past couple of years. I'm not sure where I stand now, but I don't fully agree with this post.
In particular, perhaps my number one fear about the world at large is that the untethered effects of economies of scale are clearly leading to a net transfer of power into the hands of fewer and fewer corporate leaders.
Permissive licenses are arguably agnostic to that effect: anyone can use the software, corporation or not. But given that large corporations already have significant economies of scale, the emergent effect is that a corporation can extract more value out of a piece of open source software than you or I can. If your goal is to discourage a handful of oligarchs eating the world, a permissive license may be opposed to that.
It's sort of like breeding fish and dropping them in a lake. Sure, anyone can then grab their rod and reel and catch a few, so you aren't privileging the commercial fisheries industry by doing so. But once the trawler shows up, they're going to harvest a hell of a lot more fish than the dude with a bamboo rod.
You may be thinking this analogy doesn't work because software isn't like fish. Copying a piece of software doesn't remove a fish from the lake for others to catch. But think about this at one level of abstraction higher.
Copying software accomplishes nothing. It's just bits sitting on a disk. It's software being used by humans that matters. When a corporation takes a piece of open source software and puts it in front of users, time a user spends using that corporation's code is time not spent doing anything else.
While software itself isn't a consumptive good, human attention is.
Notice how all of the biggest, fastest growing corporations understand this. Attention is the ultimate economic commodity. Any company who can mine it effectively wins and any company that fails loses. This is why in the past decade we've seen seemingly weird business moves like Apple producing movies, NVIDIA doing game streaming, Amazon shipping games, Walmart selling video streaming, etc.
We are shambling towards a post-material world where the most valuable good, the thing that produces the most value, is human attention. And, unfortunately, a few people figured this out sooner than the rest of us and a gobbling up all of that mental real estate and leaving nothing for anyone else.
GPL & Co are open source for users
In the long run, even from the user's perspective, GPL & Co is only for enthusiasts who don't prioritise the actual quality of the software that they use.
As a user, I value my freedom, but BSD & Co gives me enough freedom. The article assumes that it's the best tradeoff for most users, and I agree with that
GPL is all about doing something for users. It is users who are able to request source code. My entire network setup is based on the fact that I can customize my router which I can only do because users were able to request the source for the router in order to customize it.
When it comes to "annoying for developers" we need to be clear. The GPL is annoying for developers of software that is not open source. It annoys them because it says they must either take the open source deal or else rewrite it themselves. Apple has famously used a lot of time and money to rewrite GPLd thengs. This is the goal.
OTOH open source developers need not be annoyed by any GPL dependency since they can always use it without any trouble to themselves.
Moreover, a company can release a GPL'd version of their software and also offer a commercial license for their software (see Qt etc). So someone who's charging for their software can use it if they themselves pay. Some commercial vendors might annoyed by even this. But it would seem they "doth protest too much".
It is also annoying for developers of open-source software that is not GPL-licensed.
> Apple has famously used a lot of time and money to rewrite GPLd thengs. This is the goal.
As an aside, that's a terrible goal. Rewriting the same projects over and over is a waste of human potential. We could be solving unsolved problems and actually making the world better, instead of pursuing this weird and misguided notion of "fairness"
In other words, can a company make the world better by making proprietary software? In my opinion, that's obviously true. (Although I too dislike Apple specifically)
Your approach forces every company to redo the work, even the "good" ones. In fact, that probably makes the situation worse, because it raises the barrier to entry and forces companies to choose agressive and hostile business models in order to get that investment back. If a new "More Ethical Apple" could be started instantly with no software investment, we would have one, the users would be able to switch, and would directly benefit from this
If you assume a company that does not have any profit driven incentive to be anti-competitive and less accessible to some people, yes. But that's like assuming dictatorship can work if the dictator is just wise and benevolent enough. It's nice to think about but not viable in reality.
> it raises the barrier to entry and forces companies to choose agressive and hostile business models in order to get that investment back
You assume that corporations would not choose aggressive and hostile business models if they weren't forced to, which is obviously wrong.
> If a new "More Ethical Apple" could be started instantly with no software investment
This would not be possible with licenses that allow Apple to keep everything proprietary, which is what any profit driven company is incentivized to do. In other words, you need GPL for this scenario to be even theoretically possible.
But, in my scenario specifically, they will be forced to by market forces (to some degree). Being less aggressive is a competitive advantage. In my scenario, the market is going to be flooded with competitors, some of whom are going to use that advantage. Even if some users still prefer the other advantages of proprietary Apple (as they do in reality), at least the users who care can switch and benefit.
> This would not be possible with licenses that allow Apple to keep everything proprietary
Sure, you can't clone Apple with literally "zero software investment". They will always have some proprietary parts. What I mean is that, in my scenario, they would have fewer proprietary rewrites (from GPL) and would use common permissive dependencies more often. Thus reducing the amount of proprietary code, and making their stack more uniform, "shallow", and easier to copy. Being easier to copy sounds like a downside that they'd like to avoid, but it's also cheaper, so a tradeoff comes into play.
Although, as I've noted in the other comment, that wouldn't happen if Chromium was permissively licensed. It happened because its partially LGPL/MPL, and thus you can't create a proprietary fork (but can still use it in a proprietary browser like the new MS Edge). It seems like somethimes LGPL/MPL have the best survival characteristics
Of course not
You mean like they did with LLVM/Clang?
> The LLVM project started in 2000 at the University of Illinois at Urbana–Champaign, under the direction of Vikram Adve and Chris Lattner. LLVM was originally developed as a research infrastructure to investigate dynamic compilation techniques for static and dynamic programming languages. LLVM was released under the University of Illinois/NCSA Open Source License,[3] a permissive free software licence. In 2005, Apple Inc. hired Lattner and formed a team to work on the LLVM system for various uses within Apple's development systems.[26] LLVM has been an integral part of Apple's Xcode development tools for macOS and iOS since Xcode 4 in 2011.[27]
Counterpoint: GPLv2-only is an absolute PITA to deal with but that's the point; GPL (especially v2-only or v3+section7b,7c) is good at preventing hostile forks
You can license your software as you wish, but in the long run the GPL has ensured that contributions reach back upstream for the common good, rather than for profit. The GPL gives protections for the people/end consumers, much like labour laws do in your own country. The GPL ensures that your contributions are respected, available to all, and not abused for profit (not always true, but tribunals have enforced the license terms before). The GPL has the effect of doing this globally while allowing contributions back from a global audience. It's genius and the companies absolutely hate it.
It's not about "fairness". It's about reality and survival characteristics.
As a user, I care about my freedom too. But permissively-licenced projects give me enough freedom to choose them over copyleft projects that are even slightly worse in quality
You say that there are plenty of examples of copyleft projects being overtaken by proprietary versions that then create network effects that end up being worse for the end user because the original project was copyleft. You further assert that if the original project had been permissively licensed, this wouldn't have happened.
I'm unaware of this ever happening. Can you list a few of the examples you had in mind?
Proprietary market leaders are not cash cowy enough for the next generation of CEOs, get enshittified, FOSS slowly takes over.
This thread has eventually changed my own stance on permissive licenses. Now I think that LGPL/MPL have the best survival characteristics: https://news.ycombinator.com/item?id=44657017
> Can you list a few of the examples you had in mind?
As I think about it, I see that I wrote "plenty of examples" mechanically (pulled it out of my ass). Sorry :)
That entire argument of mine is stupid because it hinges on the ability to see alternative universes:
> if the original project had been permissively licensed, this wouldn't have happened
I could pull any unpopular GPL project as an "example" (that would be more popular with a permissive license because "trust me, bro"). But that's a bad argument.
The article is over 10 years old. Which is 100 years in computer-dog years. What may or may not have been true about 2015 may or may not be true about what is going on today. We cannot just uncritically take its conclusions as read.
I don't take its conclusions uncritically. I examine them logically and I map them onto my own recent practical experience. Actually, in this thread people gave multiple good counter-examples that I haven't processed yet
How are we measuring this? I mean, sure, MIT will get more contributions than GPL.
But the MIT code is used commercially. So you can get, say, 10x more contributions, but you're losing 100x more money. Is that a worthy tradeoff?
The idea of corporate contributions is that the company is probably making WAY more money off your code than they are spending contributing back to it. Otherwise, they probably just... wouldn't.
There are many, many software libraries and tools that are excellent and yet aren't popular. A very common reason as to why they aren't more popular is because they are often licensed with GPL.
In practice, that is wrong. GPL software is useful even in a corporate environment because you are required to distribute your modifications only to the users who you distribute the software to. So if your modifications are meant for internal use only, then it's perfectly fine to keep the modifications confined to internal distribution.
On the other hand, if you're talking about publicly distributing modified software with undisclosed modifications, then you're financially exploiting the labor of the original contributors. They did most of the work from which you derive monetary profits. The fair thing to do in such a case is to negotiate an alternate arrangement with the original contributors. Or you could opt to distribute the changes according to the original license, if that's an acceptable option.
I have seen GPL software used in corporate environments in both the manners described above, without any sort of legal or ethical concerns. But the avenue of unpaid labor is so enticing for many large tech companies, that they fearmonger against copyleft licenses as if they're the worst crime committed against open source. Their argument is that copyleft licenses are too restrictive. Restrictive to their financial ambitions, perhaps? Because I don't see them restricting the developers or the normal users in any manner.
> A very common reason as to why they aren't more popular is because they are often licensed with GPL.
They're unpopular simply because of the vilification campaigns I mentioned above. It was very popular at one time to diss on copyleft licenses without a discernable reason. That was until many realized that the permissive licenses, combined with CLAs were an easy avenue for many of those companies to extract free labor from them.
GPL has been working in the real world for the past 36 years.
> No one really cares if they have access to their refrigerator's source code.
I do, and believe it should be mandatory to open source such code. Proprietary code is an immense security risk.
> why they aren't more popular is because they are often licensed with GPL
There's no evidence of this whatsoever. You can't prove or disprove such an assertion.
People seem to judge these licenses with measures that might not mean anything to the authors or the users. There are different kinds of authors and users.
GPL authors want their rights preserved for the users. MIT authors might just want their stuff "out there", or really not care how their stuff is used.
The aregument here is sort of like judging football as more relevant than baseball because plays are more exciting but short enough to still show ads on TV.
(also both gpl and bsd licenses have been around ~40 years, so what does long run even mean?)
The author talks about GPL projects feeding back on themselves to create technological dominance. But it's much more than that. GPL encourages organizational dominance, too. It starts with watch dogs looking out for GPL violations. And it ends with a big nonprofit foundation providing training and paying developer's salaries. Why did Linux blast past BSD? The popular story is that some company was trying to claim ownership over BSD. But the same thing happened to Linux a decade or so later with SCO. I think the license created a no-win situation for anyone who wanted to create their own Unix-based OS. If it wasn't Linux-compatible, it wasn't valuable. And nobody could keep up with Linux's rapid pace of development. So everyone gave up and started contributing to Linux, causing the pace of development to increase even more. Now, Linux has what, a million commits per year? Something insane like that. Try achieving that with a BSD license.
When SCO sued IBM, people were already using Linux including one of the biggest and most trusted names in computing (at the time): IBM. Migrating away from something is a hard choice. Likewise, Linux had IBM's army of lawyers defending it (yes, BSD was defended by UC Berkeley, but the school could have easily folded over a project that wasn't part of the school's core mission). SCO also wasn't much of a threat - they were a dying company trying to win a case against the biggest names in the industry.
It's a lot easier to spread FUD against something no one is currently using that has a viable alternative. In 1993, Linux and BSD may have been equal, but AT&T's legal threat carried weight. People choosing one or the other weren't already using one. By 2003, 25% of the internet was powered by Linux. People were already using it and weren't going to be scared away by the claims of a dying corporation while powerful companies were defending Linux.
You say yourself that if something wasn't Linux compatible, it wasn't valuable and so everyone had to be chasing and reimplementing Linux compatibility. But if BSD had been established for a decade and Linux was chasing BSD compatibility in 2003 and then SCO sued BSD, BSD would still have maintained dominance.
When a company claimed ownership matters. Which company claimed ownership matters. "How big" the OS was when the challenge came matters.
Frankly, reset Linux adoption to 0. Have everyone use BSD for 2-4 years. Then reintroduce Linux. You won't end up with Linux dominance. You'll end up with BSD dominance. Linux had a multi-year head start. As you note, once you become the dominant target, everyone else is chasing you. If BSD had a multi-year head start, Linux would have been chasing BSD and the roles would be swapped.
That second claim could not have happened until IBM was contributing to Linux. That part of the lawsuit could not have happened in 1993. (The first part was similar to the BSD lawsuit.)
Another comment trivially points out that this isn't true: https://news.ycombinator.com/item?id=44607038
Firefox is controlled opposition, paid $400 million per year by Google. They would have died long ago if it weren't for that little detail.
Chrome is 100% owned by one corporation, and its very existence is a freemium gimmick to acquire users, and it was only open-source because Google was the "do no evil" company and wanted to stand on the high ground. Do you seriously think they LIKE Brave and de-googled Chromium existing?
It's actually hard to find organically-grown large FOSS projects, that weren't funded as part of some company's corporate moat.
But my argument is, if you find them, they're mostly GPL.
> > all of the big, successful open-source projects are either GPL, or can't be GPL because of the GPLs murky legality around linking
I don't see how your argument is relevant to that, or how it disputes the article. The article is not about funding or "organic growth". It's about survival characteristics and winning the mainstream. Blink, WebKit, and Gecko are all a mixture of permissive and weak copyleft licenses. There are no popular GPL browser engines. There are no popular proprietary browser engines. That's exactly the outcome that the article predicts! (Of course, it doesn't need to "predict" the most popular browser engines specifically. In 2015, they already looked similar and had a similar moat).
Although I have to admit now, we'd probably see proprietary browser engines if it wasn't for the "weak copyleft" part. Now I think that it's actually the most long-term competitive license type for some projects!
If we continue with the topic of web browsers, then we'll see a seemingly strong counter-example: the most popular browsers are proprietary, and have been for a long time. But that's a thin layer on top of a larger open foundation. A thin layer is easy to replicate and compete against. Thus, Chromium and Firefox shells are maintained (and kept competitive) just fine. They are less popular than Chrome or Edge, but not because they are less maintained or broadly inferior (they may be for specific tasks). They are long-term viable options that aren't going away.
> Firefox is controlled opposition, paid $400 million per year by Google. They would have died long ago if it weren't for that little detail.
Depends on how you define "died". Broadly, I disagree. Too many developers are interested in the existence of Firefox. According to an Igalia employee [1], during the first half of 2024, 10.71% of contributions to mozilla-central came from Igalia, and another 8.74% came from Red Hat. I wanted to see an aggregate share of Mozilla employees (which must be even less than the remaining 80%), but I couldn't find that.
But anyway, even if Firefox died, that wouldn't be related to its license (and this article) at all. Chromium and WebKit have similar licenses.
> But my argument is, if you find them, they're mostly GPL.
That may be true if you artificially limit yourself to non-corporate-driven projects. But that's not what the article is about. And that distinction is irrelevant to me, too. If the "official" corporate-driven fork turns into something that I dislike, I have the freedom to switch to a community-maintanied fork (for popular projects, usually there is one) or fork the project myself. Or, I put up with the non-ideal corporate project if it's still the most attractive option. Being community-driven isn't a guarantee that the project will always be maintained and that the maintainers will always agree with you and put your use cases and needs above others.
According to Wikipedia, in 2015 IE was still bigger than Firefox and Safari (on desktops) [1]. I should've googled the stats before saying that the situation in 2015 was similar to today.
[1]: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
And even regarding proprietary forks, the article makes a point that, long-term, those are prone to enshittification and/or abandonment, while the open fork is always there and keeps changing maintainers and maturing unstoppably
Do you have any examples of this?
But somewhat, I can't remember any counterexamples either. I mean, a proprietary fork killing the permissive original. I can only remember:
- AppGet vs WinGet. But that's one permissive program killing another.
- The proprietary build of VSCode. But it's basically "a set of patches" on top of a still-maintained permissive base. And its popularity is at least somewhat dependent on the existence of that permissive base.
Redis was relicensed as "source available", and then that license change led to a fork. But the most prominent fork isn't proprietary. It's a permissive one, called Valkey: https://news.ycombinator.com/item?id=44653130. That's actually a good example of an in-demand permissive project changing maintainers and staying relevant under a permissive license.
An interesting thing to see in the future is whether Redis ("source available" + AGPL) or Valkey (permissive) "wins" in the long term.
Too lazy to google the details regarding the other projects.
After the million dollar company forks it and includes it in their product without even saying hello. And the developer is left with a depression
I think each project, and its conditions, can take advantage of diferent licences, there are very successful projects in all of them
That said, the source-availability requirement of the GPL did help kickstart things.
In the 80s every unix vendor had their own closed source version of everything. The GPL - through the requirement of source availability - helped flip the industry over to collaborative building. It would’ve never gone that way if those working in the open did it under permissive licensing - that would have given closed-source vendors free labor and discouraged those working on free software.
Nowadays it’s about velocity. In domains where collaborative building is producing more better software faster, it’s more expensive to work behind closed doors than to take others’ work for free. So you may as well use the open thing. And then when you want to add features or fix bugs, it’s a hassle to maintain your own fork while integrating new work from upstream. So you may as well upstream your work too!
This happens to a lesser or greater extent, but it happens.
Based on quick googling, they all follow a very similar pattern. The original is permissively licensed. After a decade of growth and popularity, it's relicensed as source-available to prevent AWS from hosting it and harming the financials [1][2][3]. Copyleft community forks fail to get traction. A permissive, corporate-funded fork gets traction. It's adopted by the Linux Foundation and is provided on AWS. Enough users and contributors switch to make it relevant and active to this day. In the few years that pass, the permissive fork doesn't die, but it doesn't overthrow the "official" fork either. The "official" fork makes money and is still widely used. Later, it becomes dual-licensed under a copyleft license [4]. The CEOs say that they've always wanted to stay open-source, and the goal of the license change was to force AWS to fork [1][2].
It's hard to tell whether the permissive forks will overthrow the "official" dual-licensed forks in the future. We need to wait for a decade to see.
So far, at least in this space (dev-oriented tools that started as permissive), it seems like:
- Permissive corporate forks get vastly more investment and interest, and quickly beat copyleft community forks (confirming the article).
- Companies prefer more community-friendly licenses over full-on proprietary licenses (confirming the article). The originals are relicensed as source-available to cause the fork without alienating the community too much. The AWS forks are permissively licensed to get outside contributions and attract the community.
AWS, obviously, profits the most from permissive code. That's because it doesn't really care about the code itself, and profits from hosting it instead. It reminds me of this timeless post about "commoditizing complements": https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/. Now I see the connection between this idea and the original post. Permissive code "unlocks" more of the "adjacent value", and that's why it's more desirable by most entities.
Another post about corporate investment that I found while googling the topic: https://www.infoworld.com/article/2338938/follow-the-cloud-m...
[1] https://www.infoworld.com/article/3499400/elastics-return-to...
[2] https://www.infoworld.com/article/3975620/redis-bets-big-on-...
[3] https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/
[4] The latest versions of Elasticsearch and Redis are dual-licensed under AGPL. BSL'ed Terraform versions become available under MPL after 4 years from the publishing date: https://github.com/hashicorp/terraform/commit/b145fbcaadf0fa....
NewsaHackO•6mo ago
If companies want to use manpower to reimplement GPL code, then fine. It’s always funny how accommodating people are for these companies.
Expurple•6mo ago
1. In most areas, they eventually will!
2. If there is a permissively-licensed project in that area, at least there's a decent chance that the "reimplementation" will be a fork of that project. At that fork has a decent chance of staying open or even being merged back into the upstream. That benefits the community more than a proprietary from-scratch rewrite (which would follow from a GPL-only open-source scene)
lc9er•6mo ago
rglullis•6mo ago
Expurple•6mo ago
That's always been the deal. Open source is not a guarantee of free support forever! It's a guarantee that you can always fork and keep using the project (or even developing it further)
lanstin•6mo ago
rglullis•6mo ago
There are some projects/people that I donate a small monthly amount. I don't do it because I'm expecting a specific feature to be developed, but simply because I think it's important to have support developers and let them work on something without being concerned about how to make a living out of their work.
Expurple•6mo ago
umanwizard•6mo ago
rglullis•6mo ago
Expurple•6mo ago
rglullis•6mo ago
Expurple•6mo ago
rglullis•6mo ago
To me, it's not. What are the outcomes that we are talking about here?
> You clearly feel when you do the wrong thing.
Do you think that the developers of, e.g, KHTML felt they were doing the wrong thing when they started working on a browser engine for Konqueror under LGPL? Would they continue working on it had they known that Apple would take their work to build what is arguably the most freedom-restricting web browser out there?
Expurple•6mo ago
Living a life free of guilt and regrets. People make mistakes and can't foresee everything. That's normal. That shouldn't imply any guilt. I was talking specifically about cases where, in advance, you think that you're doing the wrong thing at the cost of short-term convenience.
Regarding KHTML, I don't have any data and can't say for sure. But I'd be surprised if most developers regretted their decision later. They knew in advance that they were getting into an LGPL project that can be used as part of something freedom-restricting. And, in my subjective opinion, Safari isn't so catastrofic and harmful that it defies common expectations of how harmful a freedom-restricting product can be
rglullis•6mo ago
Sorry, this is not an outcome. Maybe you can say it's an strategy to help you define your priorities and it can help you set your goals in whatever endeavor you're taking on, but it's not something that has a clear goal post.
> Safari isn't so catastrophic and harmful
Taken in isolation, no it's not so bad. But the issues of Safari are the context where its development happens. Safari is intentionally stripped of any feature that could threaten Apple's market dominance in the mobile market.
And that is the problem with too-permissive software licenses.
Expurple•6mo ago
elsjaako•6mo ago
If you're going to talk about theoretical behavior from big companies, you can make stories any way you want.
Let's say a big company selling computers wants to include a PCB editing software by default. If KiCAD was Apache licensed they may be tempted to make a special version for their customers, as a unique selling point. But it's GPL, so they have to choose between rewriting completely (a huge process), or just publishing the changes and being happy to include a good program.
Or a company makes modifications to a GPL program for internal use, and decides they want to share it with partners/customers later.
I have no reason to think these stories are more or less likely than the story of a company completely rejecting the GPL option but still deciding to upstream their changes.
m4rtink•6mo ago
Same with Microsoft and the Windows TCP stack lifted from BSD as well.
Compare with GPL licensed projects, like the Linux Kernel & its license making many projects possible, like the OpenWRT project for example.
phkahler•6mo ago
Companies that use software like it Free. Companies that develop software like it permissive. There are more users than developers, especially for large more important programs.
umanwizard•6mo ago
It's simple in my experience.
Many big companies have some set "A" of code that they want to keep private, and some set "B" that they don't care about keeping private.
Lawyers are worried that at some point someone will accidentally include GPL code in something from "A" and force it to be made public. So they ban GPL entirely. They could in theory just ban GPL code from "A" and allow it in "B", but they can't trust that among thousands of employees none will make a mistake, so they just ban the GPL entirely.
Expurple•6mo ago
Because upstreaming a patch once is cheaper than maintaining your own proprietary fork forever. It externalizes the effort of maintaining it in the future. That's the point that the article makes. And it's true in my experience. My employer allows and encourages me to contribute back to our dependencies. Those aren't the core of our business and our competitive advantage
elsjaako•6mo ago
But for applications, if they are willing to invest the costs to rewrite the GPL option I don't see how your argument makes sense.
throw_m239339•6mo ago
Expurple•6mo ago
As a user, permissive licences give me enough freedom.
ZoomZoomZoom•6mo ago
It just mostly makes them irrelevant by EEE. A permissive license is simply asking for it.
Expurple•6mo ago
codeguro•6mo ago