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

@jenesuispasgoth

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

It provides a set of rules that make compliance hard, which people who either ignore the rules or simply don’t do Free Software unaffected by.

If you imagine a true Free Software world, the boundary between a program and a user’s data becomes very blurry. Proprietary software splits the world into three parts:

  • The program, owned by a vendor. No user-serviceable parts inside.
  • Plugins, may need to be blessed by a vendor, talk only to permitted APIs.
  • Documents, which are presented as data but are often programs that use a domain-specific script.

In a Free Software ecosystem, these lines are blurry. Documents may extend the program in arbitrary ways. And documents that do are derived works of the program so must comply with all of the requirements of the GPL. They change the program so the special cases in GPLv3 don’t apply and you must provide the source code (or a written offer to provide the source code) to anyone you send the document to. You may not place any restrictions on distribution of the document. Is the document covering some NDA’d information? A protected source for a journalist? Attorney-client privileged information? Sorry, you can’t distribute the document at all without violating the GPL.

The GPL is only easy to comply with if you assume that most users won’t modify the code. It implicitly encourages creating ecosystems where users are not empowered. And that is the opposite of its intention.

And this is what happens when you ignore psychology and economics and think in terms of rules rather than incentives.

@david_chisnall I can't disagree with what you say about the GPLv3. While I do appreciate what the intent was, i think that the moment even the programmer who chooses this license doesn't really understand the implications, it's a sign of it being not a great license.

Wrt documentation I never considered it that way. It seemed to me that at least the FSF encouraged to put docs under the free documentation license, which is more restrictive than the GPL itself. Am I missing something?

@jenesuispasgoth I didn’t say documentation, I said documents: the things that your program manipulates. Spreadsheets, images, web pages, novels, whatever.
@david_chisnall ah, sorry, my bad. I need to re-read the whole post then. :)