Bonum Certa Men Certa

Features Considered Harmful (Revised)



2020 figosdev



Karmann
Chapter 15: Features Considered Harmful



Summary: "But the benefits of Free software, free candy and new features are all meaningless, if the user isn't in control."

Edsgar Dijkstra is famous for hating on BASIC programming. But it was his editor (Wirth, I believe) who incited decades of clickbait titles by working the infamous line attributed to Dijkstra into the top of his article.



"Basic itself isn’t harmful. Some of its features may lead to worse programming, but I think Torvalds (as a coder) proves that using it doesn’t necessarily prevent you from gaining good programming skills."His stance was reasonable enough, so long as we are talking about the actual arguments that were made -- which applied more to the original line-numbered versions of Basic than today's versions, which look like Pascal by comparison. It was good enough as a first language for Linus Torvalds. Dijkstra actually had a number of great ideas that BASIC once lacked. And in more ways than one, it doesn't bother me that software evolves.

Whether it was his intention to save Basic or get people to use a better language instead, Basic itself isn't harmful. Some of its features may lead to worse programming, but I think Torvalds (as a coder) proves that using it doesn't necessarily prevent you from gaining good programming skills. Some languages indeed will teach better discipline, but if you're determined to be lazy, you'll probably find (or create) tools that suit your preferences.

I am not against features, per se. I'm also against prohibition and the drug war. But the great harm done by heroin cannot be dismissed -- it kills people, and although there is no law that says you must try heroin, getting away from it isn't always as simple as "just don't use it". Fortunately, while I did find Basic somewhat addictive in practice, I have not tried heroin. Though I've certainly lived in places where it was a problem. In fact, it's a problem that tends to increase when the alternatives are fought harder against.

GitHub could arguably be the heroin of the Free software world. We know the harm it does, we've been warned about it for years, there's absolutely no mandate to use it at all -- yet people keep finding themselves addicted to it. GitHub isn't known so much for killing people, but it poses a great threat to projects that use it. What GitHub actually kills, is software freedom.

I've written a lot about GitHub lately, but in this article it is just one example of a larger problem. Like with Basic, it is not "GitHub" itself, but some of its features that we should worry about. And the warnings against it have come from Torvalds and Stallman alike.

The complaints from Torvalds against GitHub are closer to Dijkstra's complaints about Basic -- GitHub encourages bad practices in Git management, and breaks existing features. It trains you to be a worse Git user. I think this is a minor problem next to the others. But just as Dijkstra is a pioneer of structured programming, Torvalds is the original author of Git. That makes the critique much more notable.

The fact that GitHub breaks Git the way that it does, fits in with a larger complaint of my own -- even if Torvalds decides (or is paid to) change his mind about it. It was developed by Chris Wanstrath, but it was developed along lines that are not entirely different from Microsoft's EEE tactics -- which today I will offer a new acronym and description for:

1. Steal 2. Add Bloat 3. Original Trashed

It's difficult conceptually to "steal" Free software, because it (sort of, effectively) belongs to everyone. It's not always Public Domain -- copyleft is meant to prevent that. The only way you can "steal" free software is by taking it from everyone and restricting it again. That's like "stealing" the ocean or the sky, and putting it somewhere that people can't get to it. But this is what non-free software does. (You could also simply go against the license terms, but I doubt Stallman would go for the word "stealing" or "theft" as a first choice to describe non-compliance).

I came up with this SABOTage acronym when I was going to sleep, and originally it was Steal, Add Bloat, Attack -- I guess spelling isn't a strong point when I'm tired. But this is what people do even in the Free software world today; they take away compatibility (as GitHub did with some Git features Torvalds thinks should work properly), they add stuff that is easier for a large corporation to host (Gitlab too, is terribly bloated I'm afraid -- but it can be self-hosted at least) and they attack the original -- by dragging everyone into GitHub (as it's "better").

I really do understand the appeal of GitHub -- I'm a former user as well. While the complaints of Torvalds are relevant to this discussion, the complaints by Richard Stallman are more important to me. In 2015, he said to GNUstep developers:

"GitHub does things that are quite bad for free software and is not interested in changing them. If you want to move off Savannah, please pick some other place."

This led to a shallow debate on the merits of GitHub vs. alternatives, and Stallman argued that GitHub negatively affects the license choices people make. One person replied that he was having an unrealistic expectation of GitHub, but this was the thing -- we can make it about the design of GitHub, or we can look at the effects. In effect, GitHub successfully gets people away from making choices that are good for free software.

Expecting a platform for free software hosting (if that's what you intend to use it for) to not be designed in a way that harms free software is a completely reasonable expectation! Particularly when the response to it not being suited to free software's goals is "Don't use this, it's bad for what we do".

It also includes non-free Javascript, which many people are willing to forgive or overlook sometimes. But this discussion was about code hosting for the GNU Project itself! If any project should not rely on GitHub and non-free Javascript, it's the flagship project of Free Software itself.

"But it still works if you turn Javascript off" they said... again, this is one situation where many of us are willing to overlook non-free Javascript: if the website still works when you disable it. This is still wildly inappropriate for the GNU Project to endorse, because they're still encouraging users to run it.

Other than the fact that running and promoting only Free software (yes, I'm familiar with Stallman's latest article on the topic) is one of the goals of the GNU Project, I think there are worse things about GitHub. And I think that GNU projects that continue to use it unapologetically, such as GNU Radio and GNUstep, are proving that their developers DON'T care about your freedom, and do not represent (nor achieve) the goals of the GNU Project.

And the fact that Microsoft has spent decades trying to co-opt and control Free software? Who honestly cares about that?

But I am aware that such Microsoft-neutral or Pro-Microsoft developers are not necessarily agreed with by every developer on these projects. In the instance of GNUstep, we are talking about the leader of the project who doesn't care about your freedom.

I did say that GitHub was just an example; it's a very big example, though not the only one. Microsoft is taking over Python as well. And the way it's taking over Python does have the aim (and the success) in dragging it into the GitHub trap, because GitHub is perfect for that sort of thing -- but the tactics being used would hurt Python with or without GitHub as well. It conquers projects the same way as empires conquer nations -- by planting flags in whatever they want to own:

This Techrights article is from 2010, and though they have done this farther back than that, and continue to do the same, Microsoft is still planting flags all over the place. It wants to run your conferences. It wants to host your code. It wants you to agree to its terms. It wants you to adjust your development to its heavily contrived, self-serving "standards" from OOXML all the way back to Rich Text Format.

Again and again, Microsoft "Steals" or "Steers" the development process itself so it can gain control (pronounced: "ownership") of the software. It is a gradual process, where Microsoft has more and more influence until they dominate the project and with it, the user. This is similar to the process where cults (or drug addiction) take over people's lives, and similar to the process where narcissists interfere in the lives of others -- by staking a claim and gradually dominating the person or project.

Then they Add Bloat -- more features. GitHub is friendly to use, you don't have to care about how Git works to use it (this is true of many GitHub clones as well, as even I do not really care how Git works very much. It took a long time for someone to even drag me towards GitHub for code hosting, until they were acquired and I stopped using it).

Due to its GLOBAL size, nobody can (or ought to) reproduce Microsoft's network effects.

I understand the draw of network effects. That's why larger federated instances of code hosts are going to be more popular than smaller instances. We really need a mix -- smaller instances to be easy to host and autonomous, larger instances to draw people away from even more gigantic code silos. We can't get away from network effects (just like the War on Drugs will never work) but we can make them easier and less troublesome (or safer) to deal with.

Finally, the Original is trashed, and the SABOTage is complete. This has happened with Python against Python 2, despite protests from seasoned and professional developers, it was deliberately attempted with Systemd against not just sysvinit but ALL alternatives -- Free software acts like proprietary software when it treats the existence of alternatives as a problem to be solved. I personally never trust a project with developers as arrogant as that.

It's difficult for me to get excited about these "next generation" tools, when I spent several years working to GET AWAY from Microsoft, and they want me to get all my software from GitHub. If I wanted to get all my software from Microsoft and the rest of GIAFAM, I'd just use Windows.

And speaking of, the coup continues this week, with the new COO at Microzilla: Adam Seligman -- "formerly of Google, Salesforce, and Microsoft."

GREAT! That's also how they gradually took over Nokia, Apache Software Foundation and became the boss of Linus. [Roy added to this: Even the COO of GitHub now bosses Linus]

Corporate takeover, disguised as an upgrade.

Here's something else to consider -- the way that websites subtly (and sometimes innocently) add to the problem with handy Share icons (which I'm not entirely against). A colleague informs me that one of the things that draws people to GitHub is the way that other websites make it easier to integrate with it. I can't fault his logic, he's right. But here's the reality of that. Such tie-in features will always be implemented for the largest option first, and typically the largest option only.

They're not going to bother reinforcing smaller choices usually, they're going to reinforce the largest one. So this practice itself -- while technically and theoretically neutral (as it could offer several options for code repos) actually encourages monopoly in practice most of the time. These are network effects, compounded.

There's a meme about creepy vans with "FREE CANDY" painted on the side, which I took one of the photos from and edited it so that it said "FEATURES" instead. This is more or less how I feel about new features in general, given my experience with their abuse in development, marketing and the takeover of formerly good software projects.

People then accuse me of being against features, of course. As with the Dijkstra article, the real problem isn't Basic itself. The problem isn't features per se (though they do play a very key role in this problem) and I'm not really against features -- or candy, for that matter.

I'm against these things being used as bait, to entrap people in an unpleasant situation that makes escape difficult. You know, "lock-in". Don't get in the van -- don't even go NEAR the van.

Candy is nice, and some features are nice too. But we would all be better off if we could get the candy safely, and delete the creepy horrible van that comes with it. That's true whether the creepy van is GitHub, or surveillance by GIAFAM, or a Leviathan "init" system, or just breaking decades of perfectly good Python code, to try to force people to develop differently because Google or Microsoft (who both have had heavy influence over newer Python development) want to try to force you to -- all while using "free" software.

If all that makes free software "free" is the license -- (yes, it's the primary and key part, it's a necessary ingredient) then putting "free" software on GitHub shouldn't be a problem, right? Not if you're running LibreJS, at least.

In practice, software that is "Free in license only" sidesteps the implication of effectively free software, which is that its users are also effectively free. If free software development gets dragged into doing the bidding of non-free software companies and starts creating lock-in for the user, even if its external or peripheral, then they simply found an effective way around the true goal of the license. They did it with Tivoisation, so we know that its possible. They've done this in a number of ways, and they're doing it now.

If people are trying to make the user less free, and they're effectively making the user less free, maybe the license isn't an effective monolithic solution. The cost of freedom is eternal vigilance. They never said "The cost of freedom is slapping a free license on things", as far as I know. This really isn't a straw man, so much as a rebuttal to the extremely glib take on software freedom in general that permeates development communities these days.

But the benefits of Free software, free candy and new features are all meaningless, if the user isn't in control.

Don't get in the van.

"The freedom to NOT run the software, to be free to avoid vendor lock-in through appropriate modularization/encapsulation and minimized dependencies; meaning any free software can be replaced with a user’s preferred alternatives (freedom 4)." – Peter Boughton ⬆

Licence: Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

Recent Techrights' Posts

Intercontinental Brigading - Part XXXVII - Tasteless, Tactless Time for "Virtue-Signalling" (When Your Actions Are Much Like the GOP's)
Violence by cops isn't a "leftist" thing
United Arab Emirates: GNU/Linux at Over 8%
According to statCounter
As XBox Goes Out of Business Helen Chiang Adds Insult to Injury
XBox sales are worst in 25 years
Intercontinental Brigading - Part XXXIV - Women as Hostages, Even Spouses
First he put his own spouse behind bars by accusing the spouse of what he himself seems guilty of
A Geminispace Tally
That's not the Web, it is an alternative to it
Intercontinental Brigading - Part XXXIII - Shooting the Messenger is a Presidential Tactic
why our ministers are looking for ways to fix the law.
"The Judge Accepted That Mrs Schestowitz Had Been the Subject of a Vicious Campaign of Online Harassment"
That's consistent with how they men treat women
 
Viet Nam and Thailand at High Adoption Levels of GNU/Linux, Other Nations Nearby Are No Exception
Helen Chiang and her colleagues say it's a "clown show" at Microsoft
Richard Stallman on What It's Like to be Threatened by Strangers With Software Patents
We hope that some EPO insiders will take time to listen to this talk
Stealth Layoffs at IBM (PIPs and Bailouts)
string of reports or unverified hearsay
Steven Vaughan-Nichols is Slop
Just look at this
The Register MS is "Hosting a Dinner" for Sponsors
Remember that The Register MS keeps publishing spam about "AI"
Intercontinental Brigading - Part XXXVI - A Potent Microsoft Threat to Administration of Justice Globally (Not Just Fair Elections)
Breaking into machines to cover up one's own crimes
Intercontinental Brigading - Part XXXV - When One Does Not Understand Security (Nor Ever Pursues Security)
One might therefore conclude that Garrett is a proponent of American back doors
Links 04/11/2026: "Democratic Establishment" Wins Big and "Pentagon Sued Over Hegseth’s New “Future of Warfare” Committee Led by Musk"
Links for the day
Andy's Latest Writings About Proton CEO Andy Yen, "JavaScript Required", and Slavery in Technology
Andy (of The Cyber Show) has some new material
Intercontinental Brigading - Part XXXII - Malfunctions Reported in Windows Voting Machines (as Usual)
"There are always problems," Ryan told us
Gemini Links 04/11/2026: GoAccess, Adopting Gopher, and Twisty Passages
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, November 03, 2026
IRC logs for Tuesday, November 03, 2026
Intercontinental Brigading - Part XXXI - Microsoft and Promoters of "Secure Boot" Are to Blame
the important thing is that the dictator and Microsoft can remotely control all computers
Links 03/11/2026: Science Around "Near-Death Experiences" and "Do Animals Grieve?"
Links for the day
Gemini Links 03/11/2026: Guitar, 3D-Printable Electric Spinning Wheel, Against Haven Social, and More
Links for the day
Intel Corporation Down Over 51% in One Month, the US Bailout Didn't Work
Is the slop industry [sic] next?
Microsoft European Development Centre (EDC) Next to be Culled?
No time for that anymore
Intercontinental Brigading - Part XXX - Breaking This Year’s Election Process With Bug Doors in Restricted Boot
Thankfully here in the UK we typically still vote with paper and pencil
Mass Layoffs at SUSE, Over 10% of Staff Gone
Ignore their excuses
When You're a Software Developer and They Tell You That Your Occupation is Dead or Dying in Order to Sell Dysfunctional Offerings Based on Hype (and Plagiarism)
Disbelief is a strength when companies borrow trillions of dollars to sell a dud and construct a pyramid scheme
Links 03/11/2026: Slop-Tied Debt is Becoming a Crisis (Lenders Panic), "Ukrainian Journalists Urge Global Media Not to Look Away From Russian Aggression"
Links for the day
Malaysia Seems to be Exploring Digital Independence With GNU/Linux and More
not too bad
Microsoft Windows is Crashing in Republic of South Korea
Like in Japan, they seem to be shutting the lid on decades of Microsoft-isms
Think Less, Aim for Less (When It Comes to Hardware)
An abundance of hardware being wasted on a pyramid scheme will become a cautionary tale one day
Gemini Links 03/11/2026: Stargazing, Linux-Powered Prism "Ambient Computer", and Abandoning Streaming Disservices
Links for the day
GNU/Linux Made Big Strides in Portugal This Year
Microsoft had many layoffs in Portugal in recent years
GNU/Linux in Argentina Now Measured at 8% "Market Share"
Argentina is known for exporting skilled footballers, not advanced technology, but it has a large population, which we can hope will dump Windows
Microsoft is Borrowing Loads of Money While Telling 60,000 Workers to Take the "Offer" and Leave, Microsoft Wants Bailouts From the Dictator
Vote in elections and also vote with your wallet
Microsoft and Spoilt Food
Some whistleblowers may be needed here
Intercontinental Brigading - Part XXIX - Undermining US Election While Engaging in Lawfare in England (BBC) Against Publishers That Cover Anti-Election Violence
The elephant in the room is back doors in voting machines
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, November 02, 2026
IRC logs for Monday, November 02, 2026
Links 02/11/2026: Bracing for US Election and New Zealand Has November 7 Election
Links for the day
Gemini Links 02/11/2026: Beginning With Gemini Protocol, Looking for CoCs, and Slop for Local Data
Links for the day
NDA-Compatible PIPs and RAs at IBM Red Hat
We welcome Red Hat whistleblowers who can share with us the NDA/s passed their way
The Tower of Babel
More is not better
When Large American "Tech" Companies Can No Longer Complete Payroll
In spite of several very large waves of Dell layoffs, which the media reported on, it seems like they are still experienceng payroll problems, maybe that's why money is being borrowed
GNU/Linux Rises in African's Largest Population
15% in Nigeria [...] A country with over 200 million people
The Register MS Has Just Published a Fake Article With "AI" 28 Times in the Page (Communist Party of China Entity Paid for That)
In IRC, someone has just pointed out that an article at The Register MS repeats Microsoft's lies about its financial situation
Windows Down to All-Time Low, Says statCounter, While Microsoft Tells 60,000 Workers They're No Longer Necessary
Microsoft must be feeling "salty" right now
A British Uphill Battle to Eliminate Microsoft and Its American Back Doors
There are places of work and homes where GNU/Linux is installed and regularly used, not as a mere hobby but as a hyper-productive, practical tool
Writing for Good
The Web has an abundance of junk
Technical Coverage of US Elections
When elections are done by computers and decided by computers it becomes a tech issue
By Killing the "Linux News Section" in Softpedia (the Most Popular Section, Based on Its Editor) Softpedia Killed Itself
Enjoy Ballmer
Linkspam in "It's FOSS" Today (and It's Not Even FOSS)
free-to-access ad for some dodgy companies and the URLs are 'tampered' for cashback
Links 02/11/2026: Slop Destroying Mathematics and "Democracy is Not on the Ballot" (in US)
Links for the day
Celebrating Photography, Celebrating Life, Celebrating Magnificent Humanity, Not Plagiarism Disservices
Any time we adopt or spread slop imagery we are participating in the problem
Year-Long Celebration Starts on Saturday
This coming Saturday we turn 20
Intercontinental Brigading - Part XXVIII - Microsoft Doesn't Want People to Speak About Microsoft-Controlled Restricted ('Secure') Boot, a Silent Injustice and Back Door/Kill Switch
Can we please stop treating this as normal or acceptable?
On Desktops/Laptops, Clownflare Sees Windows at Under 60% and GNU/Linux at 15% This Past Weekend
Impressive if accurate
Microsoft Lunduke is Slop
Microsoft Lunduke is just trying to stir up hatred
Intercontinental Brigading - Part XXVII - Shooting the Messengers (People Who Oppose Microsoft Back Doors), Even Across the Atlantic
Keep this in mind later this week when a dictator either discredits the voting or covertly tampers with the voting process
Microsoft Wants 60,000 Employees Gone (One Way or Another)
At IBM, 15% of staff got marked as candidates for removal; at Microsoft it's almost 30%
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, November 01, 2026
IRC logs for Sunday, November 01, 2026
Jean-Claude Van Linus
Claude talking?