Skip to content(if available)orjump to list(if available)

In the long run, GPL code becomes irrelevant (2015)

yalok

Just anecdotally, but this aligns with my observations on the trend/growth of successful useful open source projects that go with permissive BSD-like license. ~20 years ago there were way less of those than now.

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…

joshuaissac

> giving them the object code to relink it wasn’t enough for them (which would satisfy the spirit of LGPL)

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

mananaysiempre

Deliberately so, moreover, because distributing object files for relinking used to be common[1].

[1] https://lock.cmpxchg8b.com/linux123.html

tines

> giving them the object code to relink it wasn’t enough for them (which would satisfy the spirit of LGPL)

So they can take a hike?

ndiddy

I agree that permissively licensed projects are more successful if you define "successful" as "having the most number of users possible". Of course, this "success" often results in the unpaid volunteer maintainers being inundated by bug reports and feature requests from employees of major corporations, so there's drawbacks to that approach.

jeroenhd

> using GPL/LGPL is a total pain and basically cost prohibitive

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.

znort_

> just because iOS didn’t support dynamic libraries (so we had to statically link it)

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?

null

[deleted]

joe_the_user

Yeah, you're saying that BSD code, which you can get for free and give nothing, is the most convenient thing for you in helping you create closed source commercial programs. Well sure.

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.

benlivengood

In the very long run I'd hope we get sane intellectual property law: Software and logic circuitry is mathematics and should be unpatentable and trade secret is about the only protection for software/firmware/hardware; copyright terms shortened to the actual window of profitability (5-10 years) and only applying to "business logic". Nothing else makes much sense in the modern world; standards and interoperability benefit everyone to such an extent and change happens so rapidly that the majority of existing IP protection duration only harms historians.

Expurple

Yeah, copyleft has always been just a hack to cope with the current legal framework

eddythompson80

> and only applying to "business logic"

One person's business is another's platform.

benlivengood

That's why I used the scare quotes; I don't have a hard and fast rule here for what's legitimate market-making software value and what's just rent-seeking.

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.

larsiusprime

I can think of at least a few counterexamples. The logic behind the hypothesis is decent and tells a plausible story, but I'd like to see a more robust analysis; has anyone done one since the article was first posted 10 years ago?

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)

boje

Don't forget Qt (though I think that's more a corporation wanting to create an incentive to make commercial users pay for a license)

dzaima

Git - jj[1] uses gitoxide for its git interop/backend (git being the backend of jj you're expected to use), both Apache/MIT; it functioned so cleanly I assumed it was invoking git directly, but apparently it's all custom!

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)

PaulHoule

I always use git as a binary and don’t have any interest in forking it.

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.

mananaysiempre

Notably, libgit2[1] is GPLv2 with a full linking exception, while e.g. go-git[2] is Apache2.

[1] https://github.com/libgit2/libgit2

[2] https://github.com/go-git/go-git

throw_m239339

Blender used to be proprietary,the community had to raise money to buy the source code to make it free software. What a crazy success story for opensource.

bombcar

It may be true, but the GPL is uniquely positioned to create a floor that ratchets upwards, whereas the other licenses are susceptible to being consumed and extended.

Expurple

True, but the article makes a point that it's very hard and unlikely to maintain technological superiority over a coproration that's determined enough. A corporation simply has much more resources. See also: https://hypercritical.co/2013/04/12/code-hard-or-go-home

phkahler

>> technological superiority

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.

ranger_danger

> maintain technological superiority

Is this ever an actual goal for most GPL projects? Usually the ones I talk to are not even interested in gaining more users.

Expurple

From a developer/business point of view, there's no reason to use a more restrictive GPL dependency if it's not clearly "superior" to a permissively-licensed one.

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

axus

I'd say no, crushing / surpassing the competition is not a goal for non-commercial software and it doesn't have to be.

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?

leidenfrost

While it's not the explicit goal, it was because of technological superiority that most of us got into free software in the first place. There was a time where Linux worked great while Windows 98/XP struggled to maintain in its own feet without crashing down (yes, even XP)

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?

conartist6

I thought the author made the case that because of complexity economics the ratchet still works either way, and in fact that in 2025 GPL is actually a less-strong ratchet compared to Apache and MIT. If GPL was the stronger Ratchet you wouldn't ever expect to see an existential risk to a GPL project posed by an Apache one right?

NewsaHackO

>But think of the multi-trillion dollar companies!!

If companies want to use manpower to reimplement GPL code, then fine. It’s always funny how accommodating people are for these companies.

Expurple

The point of the article is that:

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)

elsjaako

I don't see why a company that refuses to add to a GPL project has a "decent change" of releasing their code under a more permissive license.

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.

Expurple

> I don't see why a company that refuses to add to a GPL project has a "decent change" of releasing their code under a more permissive license.

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

m4rtink

Didn't Sony gobble up a whole bunch of stuff from FReeBSD for the last few Playstation release without hardly contributing anything back at all ? IIRC the might have sent some patches to improve SMP or sponsored a conference.

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.

umanwizard

> I don't see why a company that refuses to add to a GPL project has a "decent change" of releasing their code under a more permissive license.

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.

lc9er

So if we're nice to the billionaires, they may return that kindness with table scraps - if we're lucky? Sounds like the tech version of trickle-down economics.

rglullis

Yeah, I don't get that argument. "Apple is funding LLVM, therefore it is getting better than GCC!". They are only funding it because it advances their goals. The moment they get what they want they will drop it or look for ways to keep the advantage all to themselves.

Expurple

Yes, but what's the better alternative? The article makes the point that you're not even getting table scraps back into your GPL project. In most cases, the companies prefer a proprietary rewrite. Now you're just stuck with a less-developed project, while the world around you uses more-developed proprietary alternatives and pushes you to do the same. But I guess, that somehow makes you feel better because you don't let the corporations "feed off your work" and instead just waste everyone's time on infinite rewrites?

throw_m239339

Some people always forget that GPL is about the end user's rights, not developer's rights. If a fortune 500 re-implements some GPL library to make proprietary, then by all means. It changes nothing for the GPL code, it's still GPL and its license should guaranty user's rights.

Expurple

But a proprietary fork doesn't change anything for permissively-licenced projects either! The open original is still available, you can still use it and fork it. If it's a popular project, a community-maintained fork will always happen.

As a user, permissive licences give me enough freedom.

uludag

> With enough time, any sufficiently large company can implement their own version of any software that anyone else has written. They usually won't write their own version if a high quality opensource version exists with a permissible license.

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.

wooptoo

This article is already largely irrelevant. The GPL (and the FSF), whether you like it or not, always has been a political movement. The aim of the movement is to expand the pool of free/libre software and to disallow commercial entities from gaining an unfair advantage without contributing back. With the GPLv2 they already have, as it permits them to run the software in the cloud, with their proprietary additions, without contributing back. AGPLv3 closes that loophole that's why it's even less popular.

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.

Expurple

The article makes the point that, in practice, permissively-licenced projects see more contributions back. Copyleft projects are being rewritten as proprietary instead (with a few exceptions like Linux, which are too big to fail). The end result may be even worse for the user, if the proprietary alternative ends up being the most developed one, grows an ecosystem and a network effect, and eventually everyone is forced to use that. There's plenty of examples.

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

jcranmer

One of the interesting things about the experience of LLVM and Clang isn't that it's killing off gcc--a decade after this was written, gcc is still the compiler of choice for most Linux distrubtions--but that it's killing off EDG, the C++ frontend that all proprietary C++ compilers used to use. Killing off proprietary software because the open source stuff is so much better is the vision of Stallman, and it's telling that a permissive license has been much more effective than a copyleft license in doing so.

andrepd

That's completely orthogonal to the choice of license, but rather to the architecture of both projects.

phendrenad2

I think this is largely an illusion. Most open-source software isn't that successful, so it might seem like the choice of license didn't really matter for their success. But you'll notice that all of the big, successful open-source projects are either GPL, or can't be GPL because of the GPLs murky legality around linking (the article mostly hinges on such a case - LLVM).

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.

konstantinua00

using BSD/MIT licences is like betting against black swan event

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

Expurple

> you're doomed

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.

phkahler

>> 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.

Expurple

Are you seriously trying to imply that the GPL isn't largely about granting you the freedom to fork? Sure, it's also about forcing the copyleft responsibility on you. But come on... That's not even relevant if you don't fork or otherwise depend on the project in the first place

elsjaako

Can you clarify what happened last autumn? I'm not sure I recall.

Qem

phkahler

That would be one example. What about Redis pulling a license change, and the whole WordPress battle for control?

If it ain't GPL and it IS popular, I think those kinds of things are more likely to happen than not.

conartist6

Great writeup! I couldn't agree more.

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.

conartist6

To be more clear: my strategy is to eliminate the room that could be used to undercut me with more virulent technological or techno-social solutions.

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!

SAI_Peregrinus

Ignores the MPL as usual. IMO the MPL is better than BSD/MIT/Apache since it prevents your code getting closed, and better than GPL by not forcing others to open their code.