You might be thinking of GCC – the current GCC is descended from a fork of GCC (EGCS). RMS agreed to let the forkers take over the official project.
GNU Emacs itself is a fork of Gosling Emacs. The original Emacs was written in TECO, a rather horrendous language. Soon, people started writing Emacs clones in Lisp – Multics Emacs, and some of the Lisp Machine editors. James Gosling wrote the first Emacs for Unix platforms; for an extension language, he invented "Mocklisp", which resembled Lisp on the surface, but lacked its power and generality. GNU Emacs started out as a fork of Gosling Emacs, adding a real Lisp instead of Mocklisp. Gosling made his Emacs freely available under an unclear license, and then sold it to a commercial firm and declared its original free redistribution rescinded. To get away from that legal problem, RMS rewrote all the remaining Gosling Emacs code.
XEmacs failed, because eventually IDEs became a thing on UNIX platforms and that is where we went, to the toolset we were missing, not Emacs.
The argument I and other people are making is that the FSF's goals are being achieved but not by the FSF.
This is not a bad thing, nor a reflection that the FSF is doing it wrong. Indeed it is a sign they are doing it right.
Ultimately all open software exists _because_ of the FSF. They set the marker in the ground, they set the standard the rest if us don't quite live up to. Their role is not to produce all the code, their role is to explain the freedoms well enough so that enough other people believe in some, or all, of those freedoms.
The two main threads of the article are hardware, and emacs.
Depending on how far down the stack you want to go (open microcode in your CPU?) it's generally possible to get hardware open enough for you to do anything you like. Not all hardware is open, sure, but there are enough choices.
Yes there are still closed drivers (ironic given what kicked RMS off in the first place) but careful choices play a role here.
That said, keeping an eye in the hardware, and keeping open hardware in our minds, is an excellent reason for the FSF to exist. Their job is not to win the war, its to make us care about the war at all. We will win it, if we care about it.
Emacs is a very specific example of a program run by a person who has beliefs. He builds that program to conform to those beliefs, not the beliefs of his user base.
In this case he's the printer maker not wanting his printer to work on the new hardware. His goal is not to make "the world's best editor" - his goal us to "make the world's best editor that promotes free software ideals."
Ironically, if you don't like that, you can take his work and built on it however _you_ like. He not only represents the original problem, he presents the ongoing solution.
The Freedoms are explicit. They don't give the user rights over the developer. They give the user rights to add their own work to the equation. Emphasis on work.
The FSF is not fighting the wrong war. They are not fighting at all. They are setting a marker in the ground saying "this is what could be." Our job is to notice, and care.
Free Software is about owning your machine. It's not about being allowed to be installed, or even being easy to install on machines you don't own. It's not about being higher quality. The Free alternative maybe worse, but no one can take it away from you, and it won't spy on you if you don't want it to.
It is not about having free high quality software for everyone to use. That is a lucky consequence of giving people control over their own devices and the things that run on them. Things that enter Free Software never die. They grow, stop growing, then later grow again. They only die if people find something else better, and they always have a chance of rising from the dead. They're public property. Open Source, which is wonderful once you turn it into Free Software, is not immortal. All you have to do is embrace it, extend it, then kill interop, and it is gone.
edit: Open Source starts off as dead code. I can take it, extend it, and obfuscate it tomorrow, and it's mine. If I spend enough on marketing I can make the original look defective. I can make the Open Source version look dangerous and point out its bugs while hiding my own. I can make the vendors only accept the version signed with my key to provide something we decided to call "end-to-end verification."
Doesn't work with GPL software. They have to write their own.
Ubuntu is 96% built on unmodified Debian packages. Ubuntu's successes are Debian's successes.
Debian was never flexible enough of an OS to allow all the customization that Ubuntu needed to do to happen in Debian itself, thus it had to be forked. That to me is a failure, not a success. Forks should always be the absolute last resort, yet are common place with distributions, which creates a terrible situation for the user, has features they might want end up being spread across numerous different distributions.
I chose to use Guix SD because I like that the config is in a real (more general purpose) language, which I then proceeded to learn.
From what I understand (someone that knows Nix can chime in) the Guix CLI is also more parsimonious than the Nix CLI, and not multiple differently named tools. I like the simpler interface this provides.
It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels (what are the unofficial channels I should know about? Just have been searching Github to find).
They've been working towards this with the (introduced[0] in v2 few years ago) experimental `nix` command that combines the various `nix-*` commands.
[0]: https://nixos.org/manual/nix/stable/release-notes/rl-2.0.htm...
> It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels
There is https://gitlab.com/nonguix/nonguix
That's one thing I prefer about NixOS, with Nix Flakes you can just turn any old Git repository into a package. No need to be part of any channels or need for the user to setup anything, you can just build and install straight from the upstream source with a single command line if they provide a `flake.nix` file. This automatically resolves a lot of pointless drama about what should or shouldn't be part of the distribution and makes it trivial to distribute patches and workarounds.
I agree that the knee-jerk reaction of many FSF or GNU-adjacent developers to start a "filter" project that takes upstream and removes parts of it is regrettable.
As it is, the RYF market is so small that no vendor is incentivezed by it unless they are part of the movement already themselves.
"More freedom" is a benefit. You're free to judge whether it's a benefit specifically to you, but you can't judge that for others.
It has failed.
Open software hasn't failed. But thats not the same as free software. Sure there is a lot of open and free software but there is soo much more open software which is not good for the free software movement. Weather that is because of it being open but not free or weather it's open and free but tightly controlled in ways which hurt the free software movement in the bigger picture.
Another adjacent term is “Source Available” for software that isn’t open source but you can get the source, like Unreal engine.
There is also Open Core for software that has an open source part and a proprietary extension. Like GitLab.
It is not. If it is, you should explain that to every other expert and lawyer involved in litigating the differences, because they're operating under a delusion.
They are mutually inclusive licenses, because OSI licensed stuff can always be relicensed to GPL (or anything else, really), and because OSI says that GPL is also OSI (although I don't understand why.)
But they're different. You have to share your changes in GPL if you distribute them. That's it. That's the difference.
Not all free software is copyleft, and not all copyleft licenses are GPL compatible. But all free software is open source and vice versa. The four freedoms and the open source definition are intentionally equivalent.
There is all kind of somehow "open" software which might be OSI open source or even be GPL licensed but is de-facto not free software.
Like I have seen more then one case where GPL or similar was used to archive "open sourcing the software" while "making sure no on complying with law can benefit relevantly from it". E.g. publish a software under GPL which is strongly dependent all through the stack on some proprietary software which is GPL incompatible but has some pseudo decoupling though some interfaces. The company which wrote the software just uses a different license when they use it. Everyone else would have to spend impractical amounts of time to create adapters to make it actually usable under the GPL license. Sometimes not much less time then rewriting it from scratch. I have seen this pattern quite often. Through more often with AGPL then with GPL. Sometime it did feel that such theoretically but not practically free software likes (A)GPLv3 more the actually free software does like it (but I'm pretty sure this is a bubble).
If however you look at software as a whole, and compare today to say the early 80's, then you might note that the landscape is very different and wonder how that happened.
Today software exists unler a multitude of licenses, written by innumerable authors. A huge fraction of all software is either open, or built on open.
While Open Source and Free Software are different idealogically, they ultimately, broadly, confer the same freedoms on users.
That any of this exits _at all_ is thanks to the FSF - they won the war a long time ago. They are the very definition of success. A success that so many take for granted that we now wonder if they are useful anymore.
Hint: they are.
i don't know... i could be way off base but MIT and BSD allow devs to FORK the code and turn it into proprietary code throwing all benefits of "open source" into the wind. "enterprise friendly" is often mixed up but the reality is the end user ends up on the short end of the stick..
Whether this is good or bad, depends on your point of view, and is very newanced.
For example I can use OPENSSL (MIT licensed) in a proprietary system, but I would argue that is better for end users than not. Having a few solid libraries in play is arguably better than a multitude of home-grown closed commercial libraries.
OSI is clearly not FSF. FSF persues a future with no proprietary software. That's a necessary stance for someone to have in the world, it sets a goal post. OSI seeks to make code that has maximal utility by being useful in open and closed environments.
MIT does not prevent companies contributing code, it does not hold back a project in any way, it just makes the code more widely spread and more "utilitarian".
Edit: so it does not eliminate "all" the benefits of Open source, it may remove some of them. Alternatively it may be a net gain if the software is actually used more.
Technically, yes, a company can fork OPENSSL, add features to it, and ship it closed. But why would they? Certainly if the did they remove no utility from openssl for everyone else.
Equally SQLite has a public domain license and that does not seem to have hurt it in any way. There are plenty of contributers etc.
You can use LGPL libraries in proprietary software.
> MIT ... makes the code more widely spread and more "utilitarian"
Not for the end users and for developers that want to modify existing software. The "utility" is lost.
> a company can fork OPENSSL, add features to it, and ship it closed. But why would they?
It happens every day. Weak licenses allow freeloading.
> Equally SQLite has a public domain license and that does not seem to have hurt it in any way.
That's not the right metric. The people who are being hurt are developers and users who cannot buy a truly open phone/smartwatch/router/tv/car even if such devices are built on OSS.
on the same vein, the same dev works on GPL code and he/she knows the virality of GPL makes it that no one can slap proprietary license on any fork of his work and he/she, if they became the customers of any forks, they CAN expect and demand source, completing the feedback loop.
Software licenses, and any other work under copyright law, cannot "infect" other works. It's not Covid.
If I draw Mickey Mouse on my hand I might be in breach of Disney's copyright and I might be required to wash it away. It does not mean that my hand magically becomes Disney's property.
https://en.wikipedia.org/wiki/Viral_license
either you are off base or you need to learn stuff
Not to mention https://en.wikipedia.org/wiki/Talk:Viral_license#False/Misle...
Some choose GPL because they value freedom over utility. Others choose say MIT because they value something else.
Naturally all open licenses (free and open source) allow anyone to take that code, compile it, and sell it. This is not a bug, this is a feature.
If the one selling the code makes changes to it, or augments it in some way, and assuming they follow the terms of the license, this is all good. The original author is getting exactly what they hoped for since that's why they chose that license in the first place.
In exactly the same way users make a choice about what software to use. They can choose something proprietary like iOS or something more open like Android. They can choose to use Android coupled to Google services, or not.
I get the goal that the FSF has of making users care enough to only use Free software. That is a noble goal, and we need a organisation that sets that goal.
Equally with hardware they can, and should, champion the cause of completely open hardware.
They are successful not just when all hardware is open, they are successful by making it part of the conversation. It took software 40 odd years or so for Open to become mainstream. It'll take some time for the hardware case to reach some form of critical mass.
And as far as I can tell their methods are subpar for today. This in no way means that they didn't work well in the past. Or didn't do a lot of good things in the past. But times change.
And I'm also not saying they are not useful today anymore, I'm saying their methods don't work well anymore and could lead to them becoming increasingly irrelevant and powerless which would be a loss of all consumers and most developers.
There's something even more important than free software and that is free computing. Free software takes free computers for granted. It assumes we're able to develop and run whatever software we want. This is increasingly no longer the case.
Now that I know that, I am not going to buy that specific hardware for my needs. If they follow onto their other models, I will find a hardware vendor that doesn't do stupid stuff. The market will adjust and you will have options like the Framework laptop to give you the freedom you want with your hardware.
Also, even with the above stupid stuff, you can disable secure boot for now and move on with your life.
There's no inherent problem with TPMs existing, since they do have some legitimate use cases. The problem with them is that they don't support owner override. Fixing that would make them useless for tyranny without impacting any legitimate use cases.
Asus talks about how to disable it:
https://www.asus.com/support/FAQ/1047459/
As do many other manufacturers, its a thing.
A TPMs main role in our current hardware ecosystem is to provide device identity and attestation. This has been driven by businesses that want an easier time to bootstrap hardware for their needs. Which means controlling what software is run on company owned hardware.
All of the FUD about lost of hardware freedom comes some from the fact that IT teams were tired of having to keep inventory and they needed a solution to enable the on boarding and off boarding of hardware. Look at what Apple is doing with their hardware and OS right now. It's not to take away more individual freedoms of their users. It is to help businesses and edu manage their Apple stuff stuff. The other vendors are trying to fix those pain points too.
Managed device attestation is the SBOM new new hotness of 2023 and you don't need to be a big business to take advantage of it.
Go look up what kind of cool things you can do with a TPM. For example https://systemd.io/CREDENTIALS/ is pretty cool. So is using it to make your life easier with LUKS encrypted volumes. https://gist.github.com/jdoss/777e8b52c8d88eb87467935769c98a...
Yeah, right. Just don't use any proprietary software. Just don't use any mobile app. Just don't buy any mainstream hardware. Enjoy all those ridiculously old FSF RYF certified laptops that won't run anything requiring the latest cryptographic user control features anyway.
How in the world is a solution? These corporations should be forced by law not to do this stuff. The hardware and software should be open and free and they should have no choice but to run on it on our terms if they want to reach customers at all.
> Look at what Apple is doing with their hardware and OS right now. It's not to take away more individual freedoms of their users.
You gotta be kidding me. It is literally impossible for a user to run software on an iOS device without Apple digitally signing it. "Manage their Apple stuff"? More like create their own digital fiefdom where they own users, determine what they can and can't di and sell access to them to third party developers like they were cattle.
You said it yourself, it's about "controlling what software is run on company owned hardware". We don't own these devices, the companies do. There is no freedom to be had here, we're all playing on their playgrounds.
But it's also probably important to pursue a political avenue as well. The government should absolutely not be using this stuff, and shouldn't be advising citizens to do it to access government services. We could even pass a law requiring purchased hardware and software to meet a fiduciary standard towards its users.
Then don't buy Apple products? I totally agree with you in spirit in a lot of your points and I want more freedoms on my hardware. I just understand why we are in this situation as users. We don't have the market power like businesses do when it comes to hardware and most consumers don't care or don't understand their loss of freedoms.
> You said it yourself, it's about "controlling what software is run on company owned hardware". We don't own these devices, the companies do. There is no freedom to be had here, we're all playing on their playgrounds.
Yep, 100% agree here. There are zero freedoms when you are using company owned devices. They have every right to lock them down to the playground they desire for their users. The hardware market is building what their end users want. It just so happens their biggest paying end users are businesses.
In order to receive my salary, pay taxes, fulfill children's schooling, and a myriad of other things there are plenty of proprietary software involved that requries a full hardware attestation to prove that the no part of the software stack is under user control.
It is completely unfounded to call this FUD. It is a fact of modern life. I do condone it because there are many obvious economic and political problems with it already, and could easily see how it could get much worse before it gets better. So far I have been able to isolate these "0wned" devices from the rest of my digital life, but that rest is getting increasinly marginalized.
I don't see how this is relevant. Real world objects can't be exactly duplicated, certificates of authenticity make sense in that context. Data is just bits, any copy will be exact reproductions. There is no need to certify that.
What this thread is discussing is modified copies validating as unmodified copies.
Validating our software as unmodified is really just digital oppression. It's a violation of our dignity as users and human beings. We have all these corporations shipping literal data harvesting and advertisement displaying malware and there's not a thing we can do about it because they have usurped control of our computers.
Who does this "validation" serve? Not us. It serves the "stakeholders". It gives them confidence that we won't be running software that harms their interests.
Except for Android phones (nominally, an open source OS), disabling the cryptographic protections results in the loss of your Safety Net status, and from now on a whole host of applications will refuse to work at all, or have reduced functionality. Make no mistake, I think this is the future of the PC.
This is pretty scary. I know I close the tab and move on when I see a notice on Firefox that says something to the effect of I must enable DRM to play media on this website (paraphrasing) but what if a bank or the government says the same?
I think the answer goes back to we can't solve societal problems through technological means. We have to get involved in politics. If anything is a legal monopoly (such as taxes), it should use open protocols and be accessible through free software.
Yeah but how can we even win in such a space? These monopolistic corporations are already involved, they spend loads of money on lobbyists in order to legitimize their abuse. How can we possibly beat that?
Normal desktop processors already come with features designed to protect memory and code from the prying eyes of users. Not to mention all the ring -5 code that is really in control of the computer.
Smartphones now have attestation. They have hardware designed to cryptographically prove to its real owners that those pesky users haven't tampered with their phones. Software will refuse to run if this fails and it's not really something you can override by hacking on the OS.
Face it, hardware today comes pwned from the factory. Hardware doesn't belong to us anymore, they belong to the "stakeholders" and they're only generously allowing us to use it so long we don't run any software they don't like.
We already live in this future. Apple has 25% of the phone market worldwide.
But my understanding is that RMS created the free software ideal, formalized as the GPL, that an author freely sharing code with others can in turn require them to freely share any changes and improvements they make to it. If he wasn't the first to think of it, he certainly was the one to codify and popularize it. And it all makes sense to me when viewed through the lens of his frustrating printer driver experience.
Stallman did a lot of things, but he most definitely did not start the free software movement. Free software was the norm prior to the meeting of the Committee on New Technology Uses (CONTU) suggesting in 1977 that rather than try to amend the recently passed Copyright Act of 1976 they should just classify software as 'literature'. It continued to be the norm and was openly termed "Freeware" by author Jay Lucas at InfoWorld (until a certain lawyer, Andrew Fluegelman, trademarked the term and began threatening legal action if he didn't change the name of his "Freeware" column, leading to a contest which suggested the term "Shareware"). Most freeware of the time came with source code and the right to make modifications (in fact this is how a number of improvements were made to Fluegelman's own PC-TALK). It wasn't until after the coining of Shareware that the two terms were hijacked by people essentially using it to create freely recirculatable demos of otherwise proprietary products, much like 'free software' was later repackaged as 'open source'.
I'm not saying you shouldn't be thankful for his contributions, but to pretend that BSD didn't exist, nor an entire tradition of free software prior to the rise of proprietary software, is simply wrong.
See this explainer by the FSF: https://www.gnu.org/philosophy/categories.html
- have a notice that you modified it,
- have a notice that the work is licensed under the GPL,
- be licensed under the GPL, and
- if the work has interactive UIs, it must display Appropriate Legal Notices.
It says nothing about contributing changes back, the only freedom it restricts is the "freedom" to restrict the freedom of others. It is like the whole "is prohibiting slavery reducing freedom" problem.
Except there are dozens of incompatible (A/L)GPL (2,3) licenses alone and an uncountable number of minor modifications of the same. So you end up with the "freedom" not to share code between various GPLed projects because they all are slightly different flavors of free.
You have to keep reading the entire license...
Section 6 of v3 begins:
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
<or several other functionally similar ways are options in the full text linked below>
How is that not needing to convey your source changes to those whom you distribute the object code?
It’s been there since v1:
Paragraph 3 of the v1 or v2 GPL is similar to section 6 of v3:
You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following:
a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or,
<do other things that have the same effect>
I personally wouldn't consider the second interpretation as "paying" for Free Software any more as I would consider having people publically criticise me as "paying" for Free Expression.
If that’s upstream, then you have to offer them upstream. If that’s to someone else who then decides to share them upstream, that’s also something you can’t prevent.
If you don’t distribute the program, you don’t have to send your changes anywhere.
(My main point was your citation of only Section 5 was incomplete with regards to your obligations under GPL.)
Also the free but not really has already a name, called shareware. I think it's just their marketing ability that they managed to be called free software, despite the definition of the word. (But GPL is not really about the price of the software, they aim to be free as freedom, but .. they are not.)
I think that sums up the root of the entire debate. :)
> obligated
....so, basically, Free as in Slavery?
Seriously, I'm not going to stand by and watch GNU partisans try to rewrite history.
> GPL, LGPL ... might not exist if not for him
Both are not true. People shared software based on the same ideas for many years before RMS.
Not to mention that the whole scientific world has been sharing knowledge while also respecting authorship and providing citations in ways very similar to FOSS for a century.
And did they encode that understanding in an official license and create a foundation to spread and protect those ideas under the banner of "Free Software"? No? Then he ostensibly created that movement. I don't know why people just can't give RMS the credit he's due. Others had similar ideas to Darwin at the time, but he's credited with discovering evolution by natural selection because he was first to create the most comprehensive and authoritative work on it.
> Not to mention that the whole scientific world has been sharing knowledge while also respecting authorship and providing citations in ways very similar to FOSS for a century.
And this has what to do with free software? If RMS came out and said his ideas had been inspired by how open science worked, would that make you feel better? Would that in any way change the fact that RMS was a big influence in changing the prevailing trends seen in software development at the time?
It is a pretty hollow success though, just look at what it enabled; adtech, large corporations, proprietary SaaS, locked down consumer devices etc.
For one thing it hasn't failed, the free software movement has been an amazing success.
For another, RMS created the free software movement, in an era where most software was proprietary. The GPL, LGPL, and probably many subsequent free software licenses might not exist if not for him. Read his story that led him to this: he was trying to connect a printer to a new machine in the late 1970s or early 1980s, and the maker would not share their proprietary drivers, even though he was willing to port it to the new machine himself, so he reverse engineered it, wrote a new driver himself, and proclaimed his version to be free for all so others wouldn't have to face that same problem in the future, on the condition that they also share any improvements they make to it. Viewing most RMS behavior through the lens of this early formative experience makes it mostly make sense.
Most of the article is really not about the FSF but about emacs. Emacs is Stallman's own project - he started it in the 1980s and remains its mostly-benevolent dictator. He wants it to abide by his own strict principles. If others disagree, they're free to fork it, as has been done over the years. And his free software ideals are the reason they have that freedom.
I just don't see a general argument here to justify the broad title about the FSF in general.