Bonum Certa Men Certa

Microsoft GNU-Hub (Part 1)

Guest post by figosdev

GNUHub

Summary: Any project of GNU going into GitHub is making it seem or feel acceptable for GNU projects to be 'outsourced' to Microsoft; so what does it mean to have some of GNU inside the proprietary software jail of Microsoft? The first part deals with GNU projects that have GitHub dependencies.

Microsoft's takeover of free software is fascinating, but where can the line be drawn? I treat this as both a hypothetical question and a practical one, because I've spent years boycotting Microsoft and ever since they purchased GitHub, I've noticed that's become next to impossible. "A source repo on every desk..."



Originally I thought perhaps we could boycott projects that are based on GitHub, since hey -- there's some cool stuff there but it's just some applications, right? Then I noticed full programming languages and libraries. Oh... Node.js, that sucks. CPython, oh well, there are other implementations. Perl, hmm...

Then I noticed several GNU/Linux distros volunteer to be captured by Microsoft. I mean I'm not going to be using those -- oh, it's a lot. I've already gone to the trouble of figuring out that out of 275 active distros on DistroWatch, if you really want to boycott GitHub you're down to at most, 33. No, not 33 percent -- 33 distros, including Tiny Core! Not including Trisquel. Trisquel is captive to an anti-GPL monopoly via its stupid, stupid "init" system. (Cuckoo OS, more like).

But we can always build our own distro, Eh? So let's take apart Tiny Core, I figured -- It's incredibly modular, it should be a piece of cake to remove the parts controlled by Microsoft, right?

"Microsoft has Gtk yoked by something glib2 needs."The kernel isn't libre, I know. I've wanted a linux-libre kernel (or at least a Debian blob-free kernel) for TC for ages. Maybe the blobs are in tcz packages. But I think if TC had a blob-free kernel it would be advertised as such.

I once hoped Alex Oliva would consider making a libre kernel for TC, but that's getting ahead of ourselves a bit. I've never been interested in maintaining a kernel, I only got into remixing distros because I wasn't paying attention.

I created scripts a year or two ago to remix Tiny Core and create tcz packages. They're basically squashfs files, which TC "installs" by mounting them. Ok, that's no big deal. Oh, development of squashfs-tools has moved to GitHub. Lovely. But the kernel portion is still developed where it should be. I take this as meaning that the Linux kernel can mount tcz, it just can't produce them. Ok, I guess we can use files that are mkfs'd to ext3 instead. That's a GitHub-free solution, we can worry about compressing them later.

What we really need to do is figure out what to remove, and that's going to take some research. I've already started figuring out which TC packages can be dropped.

Those red boxes are packages for things based on GitHub, but the gold boxes are packages that need things like libffi which is based on GitHub. Just so you know, libffi is pulled in by glib2. The GUI apps (Gtk at least) need libffi, so that's at least one serious "Gotcha" already. Microsoft has Gtk yoked by something glib2 needs.

I don't always trust Debian dependencies, but they're certainly illustrative -- here's the page for glib2: https://packages.debian.org/buster/libglib2.0-0 it needs libffi6. Oh, fun -- it also needs zlib1g. This is needed for loading png graphics, so anywhere you find a png, you need GitHub. No, this isn't because of glib2. Zlib1g is also developed on GitHub, and is needed along with libpng for loading or saving png graphics.

In the past, Microsoft has killed off lots of its acquisitions to hurt competitors, so the scenario I'm assuming is one where it decides to start killing (or taking over) free software projects it doesn't care about.

"There ought to be an exodus."When Oracle tried this with OpenOffice, the developers simply left and forked it. That's exactly what they should do, but in this instance, developers have loads of warning. And they're just sitting on Microsoft's repos like it's no big deal, letting their projects become further and further entrenched. I'm well aware of the fact that not everybody who develops on GitHub actually cares about software freedom. That's another reason not to develop there.

So imagine Microsoft forcing several such forks at the same time. Build systems for distros everywhere would be thrown into disarray. It's not that the scenario will necessarily be worst-case, but I expect Microsoft intends to get their money's worth. There ought to be an exodus.

If we are trying to escape, at least we can figure out where free software has its foot caught in a proverbial bear trap.

Libffi? Not good. Zlib1g and png graphics? Whoa, someone fix that. Lately I'm saving screencaps with JPEG in protest, which is certainly not ideal. The GIF patent has expired, but it only does 8-bit colour. I guess there's still X PixMap, right? We can do 24-bit graphics with xpm.xz (XZ-utils are not GitHub-based. I think they originated with a couple of Slackware developers.)

I've made my way from Tiny Core to Trisquel looking for GitHub vulnerable projects, and finally from Trisquel directly to the GNU project itself. It isn't good, folks.

This is Part 1, implying that there will be a Part 2 if not a Part 3, but I've only looked through a fraction of the GNU projects and here's what I've already found:

The GNU project uses Perl -- a lot!

"The GNU project uses Perl — a lot!"I don't compile a lot of programs, personally. I've spent hours editing and recompiling one C++ program, I've edited and compiled one minor C program, mostly I work with scripting languages (though I do use source-to-source compilers a lot).

If there are obvious mistakes or less obvious misconceptions I'm presenting when I talk about some of the details, I hope you'll mention it in the comments. I'm sure there will be a few differences of opinion as well.

But let's start with Automake. Automake is used for a large number of GNU packages -- it depends on Perl. Perl is on GitHub. That's not good, hackers -- that's not good.

Many GNU sources have a file called "missing" which I believe is Automake-related. This file often informs the user that they will need Perl (and links to perl.org so they can get it) and it links to flex on GitHub. There's another one. Of course some of the GNU sources are so old they still link to the flex on SourceForge. Here's a fun fact: GNU Savannah is a fork of SourceForge from when it was still free software.

Flex, lex, Yacc and Bison are all related -- lex is a lexer, flex is an alternative, Bison is an alternative to Yacc and Bison often uses flex to get tokens. The problem is that flex is GitHub-based. This is not good. Plus, Automake also wants flex. So whatever sort of creek we are in, our paddle is slowly transforming into a tiny little stick.

A lot of GNU sources include texinfo files. Texinfo seems to need Perl as well.

VERA includes a Perl script, vc-dwim is a Perl script (missing wants flex anyway) WB B-tree Associative Arrays seems to include C Sharp code (so you'll need Mono, which the FSF warned against and which is based on GitHub) XBoard uses png files, Xnee includes pnee which uses Gtk and png.

As mentioned, Gtk brings in glib2 which brings in libffi, which is based on GitHub -- while Gtk2 and Gtk3 are not based on GitHub, if you're looking for Gtk1, GitHub is where it appears to be.

Some of these old GNU programs appear to use Gtk1, so whether each one is GitHub-based because of libffi or GitHub-based because of Gtk1, is a detail I've mostly ignored.

Units includes units_cur which is a Python script and texi2man which is a Perl script.

"Texinfo seems to need Perl as well."The thing about Python is that CPython is the most often-used implementation, including in the GNU project, and CPython is based on Microsoft GitHub. PyPy is a great drop-in replacement, though it doesn't work on everything.

You can't always tell when you find yourself in front of a Python script, whether it needs CPython (thus GitHub) or not. So Python is worth watching for, but only proves to be a GitHub hostage sometimes.

Taylor UUCP uses Perl, Tex for the impatient uses png files in docs, Texinfo uses Perl, Hurd includes gitlog-to-changelog which calls Perl, GNU Readline includes texi2html and texti2dvi, which use Perl.

GNU Shepherd has png files in /doc and perl and flex in missing. Gnu Telecom has a png file. Sather has a Perl script called ps2gif. Spread Sheet Widget uses Gtk, SQLtutor has pngs in the docs. Swbis appears to need Python and python-devel.

Queue is dumped in favour of GNU Parallel, which uses Perl. Ring redirects to GNU Jami, which uses Python.

PythonWebkit obviously needs Python; pyconfigure may get away with PyPy as a replacement. PSPP uses Perl and png files with a GUI in Gtk. Proxyknife has Perl code in the docs and in configure.

Doxyfile is one to watch for in the sources. I believe this is created by Doxygen, which is used to created documentation from source code. Doxygen is based on GitHub.

PowerGuru has a png and lots of Python code, oleo has png in docs and uses plotutils, which support png. Ocrad has a png in /archive. Occhiolino uses Python. MetaHTML uses perl.h.

Mac Changer hasn't updated in years, but like GNU Radio is a GNU project that's based on GitHub -- really not good. I can't figure out why GNU Radio hasn't tried to move though. That still gets worked on, unlike Mac Changer.

GNU LibreJS, a tool I cheered on for ages waiting for it to be created, uses Jasmine, a Javascript library which is based on GitHub: http://git.savannah.gnu.org/cgit/librejs.git/tree/build.sh

In fact build.sh downloads it directly from Microsoft, which I think shows a bit too much trust given that this plugin goes directly into GNU IceCat:

JASMINE_URL="https://GitHub.com/jasmine/jasmine/releases/download/v$JASMINE_VER/jasmine-standalone-$JASMINE_VER.zip" curl -L -o "$JASMINE_LIB.zip" "$JASMINE_URL" && unzip -d test/ $JASMINE_LIB.zip lib/**

We've all done something like this, but this is exactly where it shouldn't be done.

Make also seems to need Perl, it may or may not need Python.

"The FSF already warns people against non-free repos such as GitHub. While self-hosting is certainly better, many people won't and my advice to them is at least choose a non-profit organisation for hosting their code."This only covers a portion of the GNU project, but let's tally up what needs to happen for the GNU Project to not rely so heavily on the good will of its most dedicated foe:

1. Fork or make an official GNU mirror of Perl. If Perl goes, GNU is just about done.

2. The same applies for zlib1g as well. This library was invented and/or promoted specifically to avoid GIF-related patent traps! Now it's controlled by the world's second-biggest patent troll (the other sponsors the FSF. Great.)

3. Figure out libffi. I can't tell you more, I only know it helps things like Python use things like ctypes ("foreign functions").

4. Start using PyPy more, when possible. CPython is a trap. Note that PyPy has some major limitations. I'm very fond of it, any limitation it has I'm hoping for the best.

5. Write something justifying support of Mono in WB B-tree Associative Arrays. I would suggest removing that part of the code, but that seems unlikely.

6. That LibreJS code could be fixed today. At least mirror Jasmine in the LibreJS tree.

7. The FSF already warns people against non-free repos such as GitHub. While self-hosting is certainly better, many people won't and my advice to them is at least choose a non-profit organisation for hosting their code.

Gitea is also developed on GitHub, so it's a bit odd that they're touting it as an alternative. If it's an alternative, why not move Gitea off GitHub then? (at least move it to GitLab).

I never did trust Google Code, of course. For-Profit code repos technically have the same problem that GitHub has: they can be bought just like GitHub. Non-profits have to be infiltrated like the FSF or FSFE instead, which is harder.

"What's lacking now is leadership, and though I think it would take more than putting Stallman in charge again (which is the right thing to do as the efforts to remove him were dishonest and corrupt, plus it would probably help) there doesn't seem to be anybody who is doing a better job."A decentralised, peer-to-peer means of hosting would be ideal, though currently the main project I know of related to hosting code that way is through feneas.org, which I already associate with the typical trend of Codes-of-Censorship (along with a "FOSS" manifesto which combined with their Code of Conduct is ultimately going to lead to a hardline, de facto "be nice to the Open Shills" policy. It's not like there aren't precedents.

Don't get me wrong, so far the software looks good. But you can say the same for the GNU Project.

The importance of leaving GitHub is really not stressed enough by what's left of the Free Software Foundation.

What's lacking now is leadership, and though I think it would take more than putting Stallman in charge again (which is the right thing to do as the efforts to remove him were dishonest and corrupt, plus it would probably help) there doesn't seem to be anybody who is doing a better job.

Unless "better" means "bigger events funded by Microsoft and Google". No thanks, the Linux Foundation was doing that already, and it didn't help at all.

Long live rms, and happy hacking.

Licence: Creative Commons CC0 1.0 (public domain)

Not including the code snippet, which is from http://git.savannah.gnu.org/cgit/librejs.git/tree/build.sh

And if this article uses a parody of the GitHub logo based on the GNU head, I almost certainly used this one from Wikipedia.

Comments

Recent Techrights' Posts

Security and blobs, by Alex Oliva (GNU Linux-Libre)
Reprinted with permission from Alex Oliva
Techrights Thanks Every Single EPO Worker Who Went on Strike Today
We have so much in common
EPO Staff Union: The Strike Actions and Other Industrial Actions "Have Already Delivered Measurable Gains."
SUEPO Munich has just issued a statement to staff
Based on Insider Leaks, Asha Sharma's Job is to Kill XBox While Talking About "AI"
They cite SneakerSO
Linux Kernel 7.0 Release Candidate Comes Out, Stallman Turns 73 in Three Weeks
It predates Microsoft and Apple
In Greenland, Firefox's Gecko and KHTML (KDE, But Bastardised by Apple) Bigger Than Chrome
Are those Danes recognising the risk of monoculture?
IBM Layoffs Definitely Still Happening
Contrary to what some apologists try to say
 
Probably IBM's Worst Day in Wall Street in Well Over a Decade
They try to blame some Anthropic slop, but that's just a distraction from IBM having nothing to offer
The Monday After the 9PM-on-Friday Prepared Puff Pieces-Under-Embargo Microsoft Strategy for XBox Collapse
There are more layoffs ahead at Microsoft's XBox
Kyndryl Also in a Freefall Today, James Kavanaugh's Accounting Skills Seem to be Based on Pumping and Dumping
What is the real value of Kyndryl when its debt is about twice its alleged "worth"?
Not Much Left to "Pump" in This Slop Bubble
let's hope that by the end of the year the whole bubble fully implodes
IBM Common Stock Crashes Hard (Almost $100 Below the Levels of February's Beginning)
Another Kyndryl?
Links 23/02/2026: Withdrawal From Slop and Ukraine Invasion Enters Fifth Year
Links for the day
Gemini Links 23/02/2026: Moving to Gentoo, Wake-on-LAN Script
Links for the day
Kyndryl Fell by About 50% in One Day, IBM Fell 23% in 20 Days
the IBM Titanic
Trusting the Evil Maids
Don't listen to liars and frauds
Aaron Swartz Has Already Explained What Reddit/Conde Nast Meant to Him and Why We Should All Avoid Reddit If We Value Software Freedom
Aaron Swartz did not start Reddit
Valnet's Good Legacy of GNU/Linux Advocacy in Journalism Form
Let's hope they carry on like this
Coders and Thinkers
I used to be a hyper-productive coder; these days I do more thinking and writing
Slop (So-called 'genAI') is Not a Skill, Slop Gets You Suspended or Even Sacked, It Can Eventually End Your Career
Benj Edwards, a so-called 'Senior' so-called 'AI' so-called 'Reporter'
Quitting Reddit (Social Control Media Controlled by Conde Nast)
There is a new post in Reddit
There is No Such Thing as "AI Skills", "AI Competency", "AI Fluency" Etc.
Slop does not give anybody an advantage
Links 23/02/2026: "What Boston Will Cost Me" and Women as Hostages
Links for the day
IRC Usage Levels Seem to be Rebounding This Year
it looks like the total count (tally) of users increased a lot lately
Microsoft Tricked the Media Into Lying About Microsoft Layoffs in January. Now It Does the Same (in February).
Microsoft has got the media by the wallet (or balls)
Free Software Projects Become Slow Due to Slop
It does not improve efficiency or productivity, it reduces both
EPO Strike Has Begun (or Resumed)
The EPO status quo is untenable
Links 23/02/2026: US Surrenders to Climate Change (to Benefit Oil Companies and Slop), UK Court of Appeal to Hear Mazur
Links for the day
GAFAM Jobs No Longer Lucrative
Those days are long gone
Germans Recognise the Contagion is Digital, Not Racial
How to dismantle or neutralise those weapons? Turn them off
Free Software (or Software Freedom) Ain't No Religion
It's hardly surprising that some of the loudest opponents of Software Freedom and its luminaries also disregard or bend facts
Dr. Andy Farnell Explains Why the Slop Industry is Like Trespassers and Thieves
interesting new article about robots.txt files
The Demise of the Solicitors Regulation Authority (SRA) and Profession Based Around Bullying With SLAPPs and Empty Threats
For press to survive and thrive in the UK we need the hired gun to be submerged
Gemini Links 23/02/2026: Imperfect Journal, Evil, and "Progress Goes Boing!"
Links for the day
“Power is a Thing of Perception. They Don't Need to be Able to Kill You. They Just Need You to Think They are Able to Kill You” ― Julian Assange
When leadership becomes corrupt enough to lose a sense of authority its days are numbered; it'll be replaced
IBM Has Already Admitted 2026 Mass Layoffs (in 4Q Earnings Call)
We showed this earlier this month, but some people bring that up again
Reasons to Go on Strike in the European Patent Office (EPO)
If you live in Europe and don't work for the EPO, you can still help
First speech of Chanellor Hitler, Andreas Tille & Debian denounce Branden Robinson
Reprinted with permission from Daniel Pocock
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, February 22, 2026
IRC logs for Sunday, February 22, 2026
More and More Projects Quit Microsoft GitHub This Year, XBox Will See the Same
Microsoft GitHub's embrace of slop as "strategic" gives us a clue of what'll happen to XBox very soon
Google "Intelligence": Despite Slam-Dunk or "Smoking Gun" Proof, Drug Abuse in EPO Leadership is "Unverified Allegations"
Google's slop (so-called 'AI') lacks intelligence
8,000 Pages/Articles Per Year
We're eager to maintain a good production/publication pace and illuminate the sinister attempts to interfere with Freedom of the Press in the UK
Don't Use the Future Tense to Discuss the Slop Bubble
Wall Street does not react to reality; it reacts to panic, which is related to expectations
Gemini Links 22/02/2026: Okonomiyaki and Midcrunch Crisis
Links for the day
The Broken Window Industry and Its Ongoing Desires to Make Technology Less Dependable
Reliable computing is becoming harder to find
Freedom Means Accepting He or She Who is Different
In the Debian community we're sadly seeing some authoritarian overreach this month
New XBox CEO Typecast in Social Control Media
Microsoft apologists will fall back on (or shuffle between) the "racist" and "sexist" angle
Sites Without JavaScript Deserve Your Visits
We're not arguing that the Web should be as simple or barebones like Gemini Protocol/GemText
EPO Strikes Are Already Working
Campinos is already going "into hiding"
Microsoft Windows Falls to Another New All-Time Low in Guatemala, It is a Bottomless Pit
Maybe users come to realise that Windows means back doors and those doors are open to a regime that ought not be trusted
"XBox" Will Become Slop After Mass Layoffs
When all else fails, "AI it"
Links 22/02/2026: Hardware Price Hikes Across the Board, "Microsoft Issues Statement on Potential Layoffs"
Links for the day
Microsoft "Layoffs Incoming"
This transition isn't about promoting games; it's about canning the console
Links 22/02/2026: "Bloat of Modern Fitness Apps" and Wikipedia Deprecates Archive.today
Links for the day
Our IRC 5-Year Anniversary (for Self-Hosted) is Fast Approaching
A week from now it's March already
Gemini Links 22/02/2026: Dream Job Gone and Slop in Taskwarrior
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, February 21, 2026
IRC logs for Saturday, February 21, 2026
GNU/Linux Grew a Lot in Nicaragua
We've not noticed until today
Techrights Has Over 1,000 Good Articles 'in the Tank'
Drafts, notes, and lengthy documents
New Article Challenges Solicitors Regulation Authority (SRA) for Choosing the Wrong SLAPP Cases to Investigate
The one point we can agree on is that SRA does not know how to correctly select the worst culprits/offenders
The Brand 'Watsonx' is a Terrible Name for IBM 'Hey Hi' (Chatbots) Because Watson Agreed With Adolf Hitler
Almost a century has passed and IBM still believes that selling "intelligence", chatbots in particular, should be done under the name "Watson"
Why IBM is Still Scary and Dangerous
Keep a distance from "Big Blue" Bully
Measuring the Growth of Our Mission and Community
Something between experiment and prototype
Richard Stallman in the United States - Part III - Georgia Tech Did a Fine Job Upholding Free Speech Principles
The real problem was social control media (toxic)
Debian's Master is Deleting Criticism of SystemD and Other Things (On-Topic and Published by Debian Developers), Resorts to the Excuse Messages Are "Too Long"
Censorship serves nobody except the masters that control this censorship
Digg's Latest Incarnation Already Failed, It's Infested With LLM Slop
Many submissions go to slopfarms and some get summarised by slop
Gemini Links 21/02/2026: Veganism and DeskPi RackMate T0
Links for the day
On The Web, XBox Already a Dying Breed
Down to about 0.05% on large machines, based on statCounter [...] Microsoft will never publicly admit or say how many billions it lost on the XBox
2026 a Year of 'Top-Down' Microsoft Layoffs (Management First)
Stay tuned for what comes next
Your "Likes" Aren't Yours and They're Mostly "Worthless Clicks"
Social hermits are not popular, irrespective of how many "Facebook friends" or "likes" they get
Waggener Edstrom/Frank Shaw Lied, There Are Definitely Microsoft Layoffs
Microsoft never issued a formal statement, it made allusions by proxy
Microsoft-Controlled Media With Embargo and Press Operatives
This won't be the last example of media manipulation for narrative control or face-saving "damage control"
Slop Hype Makes Our Core Technology Less Reliable and Far Less Resilient (We Pay for the Catastrophe That Follows)
Only slop-free projects can be trusted
Going for 1,000 (Days of Uptime)
universal records are vastly better
Firefox is No-Go in China, Not Even 1% "Market Share" Anymore
Given Mozilla's utterly rubbish marketing these days (politics over technical aspects), set aside the cheerleading for slop, there's hardly a chance of Mozilla Firefox reaching or exceeding 10% again
EPO "Cocaine Communication Manager" - Part III - It's in His Eyes
Workers are free to draw their own conclusions
Links 21/02/2026: Tensions Over Iran and Illegal Cheeto Tariffs, Presidential Approval Sags
Links for the day
Links 21/02/2026: "Moving Away From Cloudflare", Many Layoffs or Shutdowns in Games (Including XBox/Microsoft)
Links for the day
GNU Linux-libre is a Grown-Up Today
"before that, every distro that wanted to respect its users' freedom had to remove itself all of the binary blobs that were distributed as part of the kernel Linux's so-called sources"
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, February 20, 2026
IRC logs for Friday, February 20, 2026
Gemini Links 21/02/2026: "The Evil of Action" and Slop Bots Causing Great Harm Online (Not Just the Web)
Links for the day