I saw this post on Hacker News, and before I could reply, someone flagged it. Oh well. So I’ll post my thoughts on it here…
First, it’s unfortunate that this post start out with (well-intentioned but probably compulsive) flame-bait about Richard Stallman, which is likely to derail the discussion.
Anyway the author is arguing that GPL is pointless, because:
1) Most things are in the cloud, so companies don’t have to release their GPL modifications.
2) GPL only covers the code, there’s nothing forcing companies to release documentation, etc. or accept outside contributions
3) It’s incompatible with non-copyleft open-source licenses (like BSD), causing fragmentation and difficulty integrating things (see ZFS in the Linux kernel, for instance)
But I think that #3 is actually secretly the main strength of the GPL. Because companies can’t fork it and close-source it, or incorporate it into closed-source programs, open-source idealists prefer to contribute to GPL projects. However, whatever individual or company maintains the project can easily monetize it by selling support. It’s very winner-take-all. This promotes strong leadership, with a strong vision, for each GPL project (as they want to continue selling support). This also discourages fragmentation.
Just look at Linux vs BSD. The Linux ecosystem is very tight-knit. Linux distros typically use the same components (just with different configuration). There aren’t a million implementations of X11, there’s only one! Now compare that to BSD. We have… forks and fragmentation everywhere. FreeBSD even has all of userland included in the repository, as a mitigation against runaway fragmentation.
I agree that the GPL has failed in its goal. It hasn’t been able to provide a competitive alternative to closed-source software (if you find that Linux is competitive to Windows for your needs, you’re very lucky). However, it has allowed open-source to thrive in some software developer and “power-user” niches such as compilers and 3D graphics programs.