💾 Archived View for thrig.me › blog › 2023 › 06 › 13 › gpl-post-moretem.gmi captured on 2023-07-22 at 16:49:09. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-06-14)

➡️ Next capture (2023-12-28)

-=-=-=-=-=-=-

The GPL: A Postmortem

A trail of postings can be found on the old web regarding the decline of the GPL. This decline is of course disputed, as discussed in the following interview.

https://www.youtube.com/watch?v=grbSQ6O6kbs

The GPL version split is in various ways problematic; some have removed the "or future versions of" from their GPLv2. Linus Torvalds comes to mind. Speaking of GPLv2 GNU/Linux is awkward, so I will continue to call it "Linux" by mistake. Licensing issues apparently were a problem for Busybox maintainers before Toybox happened, though there seem to have been politics and drama there. The GPL is a political license, and drama can be hard to avoid. Humans!

I do not have much corporate experience, but recall folks saying "do not bring in GPL" at some FAANG or the other. Other random comments indicate this is a fairly common corporate position. Still others use copyleft licenses as a poison pill: pay up for your proprietary or I'll tap this enforcement card. Sleepycat Software comes to mind, though Michael Olson is doing different things these days. The AGPL has likewise been weaponized in the cloud wars. Others can maybe ignore the GPL as they don't distribute anything—welcome to cloud city, where our deals never change!—or they make their money elsewhere, so why not open up the code? However, a GPL does not seem a common or anyways exclusive license choice here.

Licenses have been tested in court, though maybe not as much as some would like. Pick from:

1. Release ipumsr under the GPL, which goes against our desire to let anyone benefit from ipumsr, whether that’s free software that prefers to use a different license than GPL, or commercial software, or whatever.
2. Jump in with many, many others in the R community (and elsewhere) and use GPL’ed libraries in our non-GPL’ed code, and wait for the legal community to clarify the issue, if ever.
3. Write our own library that provides the same functionality as readr and license it as we wish.

https://tech.popdata.org/the-gpl-license-and-linking-still-unclear-after-30-years/

A corporation with a barrel of programmers will pick door number three; others will go for two and hope they do not get sued. They may even be surprised if they are. Maybe door one, but there are valid reasons not to go there. Some folks are too small to sue. There are now also more programmers, languages, and libraries available than in 1985, so finding one or more of those and putting something new together is that much easier.

What about the top languages? A peek at Python shows that it uses a GPL-compatible license, but that "examples, recipes, and other code in the documentation are dual licensed under the PSF License Agreement and the Zero-Clause BSD license." clang is Apache 2.0 with LLVM exceptions. OpenJDK is GPL-2.0-only with a linking exception. For C# the Mono compiler is dual GPLv3 and MIT/X11. PHP uses a GPL incompatible license. Mostly this looks pretty permissive to me. A GPL is often there, but you could also never be bothered by it. How many need to see the code? Or would know what to do with it?

Some license choice probably boils down to fashion; it was fashionable to pick GPL back during the Centauri/Nar—err, I mean, the GNU/BSD wars: GNU/Hurd is trying to put together an ideal 1985 unix machine just as much as OpenBSD polishes an ideal 1985 unix machine. Neither is really the future, hence the B5 reference. Nowadays things like kubernetes use the Apache License—how much new project licensing just copies that? Lots of folks reportedly include no license information with their code, github nudges aside.

As a legal tool to promote greater software freedom, I believe copyleft software licenses have largely failed ... I believe a much more promising legal tool to promote software freedom is in government regulation. For example, the GDPR ... Another promising route I see is pushing public-sector procurement to prefer open source, local-first software over closed-source cloud software. This creates a positive incentive for businesses to develop and maintain high-quality open source software, in a way that copyleft clauses do not.

https://martin.kleppmann.com/2021/04/14/goodbye-gpl.html

These are good points. However, one downside of GDPR is that such legislation is unlikely in a certain country. Politicians could also create conditions problematic for open source; warranties and support come to mind. A diversity of license options does give choice, which may or may not be a good thing, especially if you are waiting for someone to sue and find out, or if folks look at the perhaps too long list of organic bespoke shade-grown licenses and nope out because of too many choices. How expensive the legal system is may also be a concern.

Local-first software while attractive has the problem of a web interface being rather easy to throw up, and a web interface can be more portable than the usual "oh, yeah, it's Windows only"—though it could be "oh, yeah, it's Chrome only" these days. Also local software could be more expensive, which the public may not like paying for. Open protocols and standard libraries for such are good, as then someone can glue together the necessary business logic without having to write out a left pad function. On the other hand, protocols can be created for the ease of the large service providers, which can make them problematic or too complicated for most everyone else. OAUTH or "cloud kerberos" comes to mind.

https://metacpan.org/dist/LWP-Authen-OAuth2/view/lib/LWP/Authen/OAuth2/Overview.pod

My interest in free or open source software has never been either political or industrial. My interest has always been educational. That is, access to the source code provided the opportunity to learn from it. So, in the same spirit as the Open Source / Free Software distinction, I coined the term Liberal Software to refer to software where the intent of the programmer is educational (liberal as in education). Any one of these three intents can produce software for which the source code is available — and that is often called FLOSS, meaning Free, Liberal, or Open Source Software.

https://r0ml.medium.com/free-software-an-idea-whose-time-has-passed-6570c1d8218a

Educational is a good thing to add to the mix of freedom software and open source.

This article also points out that many are happy to pay IBM, RedHat, or now again IBM to not have to touch the code. And that government regulation maybe should be there to ensure that the code is... up to code. The modern web might be less horrible with some big fat enforced fines for dark patterns, no? On the other hand, open source might be problematic if you could be hit with a big fine for code you posted somewhere with "FREE" scribbled on it.

Also that maybe copyright is too long or does not fit software well. But that might make it problematic for copyleft if copyright gets a rework. I'm not very optimistic about improvements to copyright, though. At least they didn't simply rubber stamp yet another 20 year extension, this time around...

About four years ago, I was at an annual event called the Open Source Think Tank. This event was a small, intimate, annual gathering of executives in the open source industry in the California wine country. The event focused on networking, building alliances, and identifying and addressing industry problems.
At this event, there was a group case study in which the attendees were broken into smaller groups and asked to recommend an open source license for a real-world project that was building a core open source technology. Each group read back their recommendations, and I was surprised to see that every one of the 10 or so groups suggested a permissive license, and not one suggested the GPL.
What matters more is that technology is increasingly becoming open, accessible, and available to everyone.

https://opensource.com/article/17/2/decline-gpl

bphflog links

bphflog index

next: Bad Loops