Part of the reason Open Source eclipsed Free Software was that it actually delivered on the promise. Open Source aimed squarely at corporate buyers. They didn't hear open[ly available] source [code], they heard open [to competitive tender second] source. And that's a great economic argument for a company that uses a load of software. Companies love having second sources, because two competing vendors are less likely to lock you in and price gouge. An open field of an unbounded number of second sources makes accountants very happy.

Free Software, in contrast, promised user empowerment. It came with a set of freedoms and the guaranteed rights to make the software do what you wanted. You, the end user, weren't to be constrained by the set of things that a vendor decided your computer should do. It could do whatever you wanted, you could build on the work of others to do it, and you could subsequently share your work to further empower other people.

And almost no F/OSS delivers on that promise. I have a PhD in computer science. I'm on the C++ standards committee. I have written code in OS kernels, compilers, and some of the lowest-level bits of modern systems. I've also written bits of a GUI toolkit, text layout engines, and other bits up and down the stack, even the occasional bit of JavaScript for the web. And yet, to me, most F/OSS applications are simply black boxes. If they don't do what I want, I have no more chance of modifying them than I do MS Office or macOS (actually less, because both of those have rich scripting environments). The only benefit I have is that it didn't cost anything, but my time is valuable and I'd happily pay a little bit for something that was a closer approximation of what I want from a computer.

Imagine how it looks to someone who doesn't program for fun.

And what does the FSF do to address this? It gives the world a more complex software license. Because surely that will be the thing that finally makes all software empower users! The fact that now exercising the four freedoms with their software comes with more legal risks will obviously make more people realise the benefits of them!

People who are serious about Free Software should look back to Smalltalk and Lisp systems, where every part of the system was introspectable and mutable. They should look at the amazing research in the last couple of decades on approachable end-user programming languages. They should abandon siloed app abstractions that exist to keep people locked into single-vendor ecosystems and build small, modular, reusable, components. Computers could be so much better than they are, and Free Software could enable system designs that are impossible with a COTS proprietary model.

EDIT: To be completely clear: I am 100% on the Free Software side of this. I want computers to empower users and I want to remove obstacles to this. I just think that almost everything the FSF has done since the publication of the first version of the GPL has been a hinderance to that agenda.

@david_chisnall that's why I grumbled a lot when the FSF renamed the LGPL from "library GPL" to "Lesser GPL." I think it's a very powerful concept to have modular blocks that can interact with each other, but, when modified _and_ distributed, must see their source code made available.

Also, sadly, licenses such as AGPL seem important to also have, seeing how once "virtuous" (big) companies ended up corrupting the spirit of even GPL licenses.

@jenesuispasgoth

I strongly disagree with the letter part of this. If doing a thing doesn’t work, the solution is very rarely ‘do the thing, but more’.

The GPL didn’t fail because it had loopholes, the GPL failed because it was the wrong tool for the job. You don’t eliminate a behaviour by sitting in an environment with masses of incentives towards that behaviour but a few weak rules about it.

If you want companies to stop corrupting the spirit of the GPL, you need to make it impossible to sell a product that is not Free Software. You do that in two ways:

  • Regulations, and especially rules for government procurement (which drives a lot of the software industry).
  • Consumer preference.

If people see concrete benefits from Free Software, they will look for software that provides those and it becomes increasingly hard to sell proprietary software. And then the GPL is not just irrelevant, it’s a hindrance.

@david_chisnall I agree with your original toot: the GPL/free software movement was indeed thought from a technical user/programmer's viewpoint initially.

I'll leave the FLOSS community in itself aside (there'd be many things to say, good and bad).

I also agree with you on the policy part: governments should push for more FLOSS to be developed in general.

Would you say that the GPL was always a hindrance? I personally don't believe so.

1/3

@david_chisnall
For instance: while nowadays the infamous artificial backend/frontend ties made in GCC really are not necessary anymore, I do believe such a thing was important in the 80s/90s, to help the free software movement keep its backbone for a while.

I also agree with your comment on consumer adoption. If your software can't compete in terms of UI/UX with the competitipn (which is also often "free" nowadays, albeit with advertisement), it better have something way better to offer.

2/3

@david_chisnall but I don't think the GPL is irrelevant. For a while I used to prefer BSD-like licenses, and I still think they are very useful. But, going back to policy, what makes something like, say, LLVM still worth using is that, while it has a rather permissive licence, the project itself doesn't allow for software-patented bits in its core code.

But then it falls on the project's leadership to ensure such a thing, and a kind of "cold war" between private actors who use it.

3/3

@david_chisnall sorry, I'm rambling and I can't make a concise point, I should have mulled it over a bit more.

While I used to think the GPL was a hindrance, when I see how powerful actors are taking advantage of large FLOSS components (and sure, they're also contributing quite a lot), I'm now thinking that something like AGPL/GPL/LGPL software has its uses, because I don't trust the "let's all be individually responsible" shtick.

Of course, if governments do something, it's different.
4/3

@jenesuispasgoth

This is where we disagree. The GPL does not prevent abuse by powerful actors because they are strongly incentivised to abuse the GPL and they have expensive legal teams.

I worked on an FSF project where we had clear evidence of GPL violation by a startup. The FSF decided it wasn’t worth the cost of taking them to court: it would be very expensive, it would discourage use of the project, and the benefits would be small. The company in question made a load of improvements to our code but didn’t release them because doing so would have meant admitting using the code (and then the FSF would have had a stronger case and would have taken them to court).

At the same time, I’ve worked with companies what would prefer to do do a clean-slate reimplementation of a GPL’d project than accept the liability. In some cases I’ve persuaded them to release it under a permissive license, but often they just keep it in house. The GPL provided them with an incentive to increase the amount of non-Free software in the world.

I worked at Microsoft and the Azure Linux VM images come with a EULA that prohibits downloading them or running them on non-Azure infrastructure. I believe this violates the license of the kernel and a load of userspace code, but the lawyers disagree. Want to go to court against Microsoft’s enormous legal team to disagree?

Nothing the GPL has done has provided incentives to create a Free Software ecosystem. It has provided incentives for people to hire lawyers. AGPL is increasingly popular among SaaS vendors because it makes it easy for them to create a moat and prevent competition.

@david_chisnall it seems to me the argument of MS having deep pockets and being almost impossible to beat in court is very similar, if not identical, to the one used when discussing software patents.

I remember Bill Joy explaining how he had both S.Jobs and B.Gates calling him at different times to try to coerce him into "settling" for (software) patent infringement, and him reminding them they also infringed on his patents, and "let's leave it at that."

That only works when you're big.

@jenesuispasgoth

Yup, and the fix for that is to reform the patent system. It isn't to have a license like GPLv3 that means you give up your defensive portfolio if you distribute GPLv3 code.