If it doesn't bother you already that Microsoft controls GitHub, it might never bother you. For the rest of us, I hope to show how much of our software is intertwined with the GitHub platform.
"...I hope to show how much of our software is intertwined with the GitHub platform."Most recently, people who purchased ebooks from Microsoft found that their library was doomed, as instead of turning over the DRM keys, Microsoft decided to simply shut the server down. Your ebook library? Microsoft didn't care about that. Do they care about your code?
Among projects hosted on GitHub: the entire LAMP stack, minus GNU/Linux. According to Techrights, Microsoft now has no fewer than four Softies at the Linux Foundation, but the kernel hasn't moved to GitHub yet. Squashfs has moved -- more about that later, but that is a very small part of the kernel.
"...Microsoft wanted a 2% royalty (based on another alleged violation of another undisclosed patent) on MySQL, as Microsoft likes to control as much of the industry as it possibly can."Florian Mueller wrote about the history of Microsoft's interest in the (G)LAMP stack a few days ago, where LAMP was an acronym that frequently meant "(GNU/)Linux, Apache, MySQL and PHP." According to Mueller, Microsoft wanted a 2% royalty (based on another alleged violation of another undisclosed patent) on MySQL, as Microsoft likes to control as much of the industry as it possibly can.
As Eric S. Raymond pointed out in the Halloween documents, more than 20 years ago:
* somebody might spend money on a non-MS -- product
* MS might lose its monopoly position
* people might actually write software for a non-MS product
* Microsoft perceives a product to be a "threat" if it presents itself as any of these
- from https://www.gnu.org/software/fsfe/projects/ms-vs-eu/halloween1.html:
Their strategy for dealing with this threat was to use (bogus) patents to threaten and strongarm companies into "cooperating", paying royalties, or signing agreements that stated Microsoft "owned" the software. On pain of dealing with Microsoft's legal team, many companies simply kissed the ring and confessed their own work actually belonged to Microsoft.
Given that in the computing world, "ownership" and "control" are nearly synonymous and often interchangeable, how did Microsoft's desperate efforts to own/control LAMP work out?
"...the Apache Software Foundation (once infiltrated by Softies, not unlike the Linux Foundation or Nokia Handset Division) has moved to Microsoft-owned GitHub."Microsoft owns GitHub, where they have control over:
* Apache, as the Apache Software Foundation (once infiltrated by Softies, not unlike the Linux Foundation or Nokia Handset Division) has moved to Microsoft-owned GitHub.
* MySQL, which is hosted and developed on GitHub.
* PHP, which is hosted and developed on GitHub.
The dream that Microsoft had well over a decade ago, of controlling the LAMP stack has come true -- they are gaining control of the Linux kernel, they more or less control Apache, MySQL, and PHP https://www.php.net/build-setup.php.
Of course LAMP has grown to have other meanings as well:
(M)ariadb -- GitHub. (M)ongoDB -- GitHub.
(P)erl and C(Python) -- GitHub.
I'm a fan of Python, in fact it's one of my favourite languages. And I'm also fond of Pygame -- which unfortunately is developed on GitHub. I probably won't use Pygame in the future, because (as I have done for years) I'm looking for solutions that don't rely on Microsoft's good will -- because they don't have any.
Fortunately, Microsoft does not (yet) control PyPy, which means there is a way to do a lot of Python coding without CPython, and it also supports both Python 3 and (for me, the strongly preferred) Python 2.
But I still need a distro. Considering that the one I use most is also GitHub-based, and that APT relies on dpkg which is written in Perl, RPM is based on GitHub and also written partly in Perl, and Yum relies on RPM and is written in Python, let's find out what distros are least likely to be tied to GitHub.
"The dream that Microsoft had well over a decade ago, of controlling the LAMP stack has come true -- they are gaining control of the Linux kernel, they more or less control Apache, MySQL, and PHP..."I spent several days researching the 275 active distros on DistroWatch.
There are easily more than 700 variables in play here; probably closer to 1000. It's staggeringly unlikely that all of these are accurate, but a good deal of effort was made, which only started with the DistroWatch entries.
Wikipedia, for example, lists some distros that are Systemd-free. I checked those as well; if there are any Wikipedians reading this, you might check on the status of ArchBang: DistroWatch says it has used Systemd for the most recent three versions (since May 2018).
If you know of a distro that differs from what's said here, please let us know. Having slightly more accurate information about this, good or bad, could only help. Problems are being looked for so they can be solved; hope is also being sought -- we could use the good news most of all!
On that note, I am very happy to say that SliTaz has already moved out of "check". Five months ago, I warned that SliTaz (after suffering half a year of DDOS attacks) had migrated to GitHub.
When I verified the status for this article, it appears that SliTaz has left GitHub. They are one of the most promising alternatives to Puppy Linux, which I started to pay attention to again (Puppy was one of the first distros that really taught me about the command line and other cool things about GNU/Linux) because of its non-reliance on systemd. MX and Antix are also promising alternatives, except they are both developed on GitHub.
Not everybody cares about systemd, though personally I have remained sceptical of it since the first time it ran on one of my computers, in late 2014. Only years later, after Microsoft purchased GitHub, did I find out that systemd is tied to it.
Of the 275 active distros on DistroWatch, how many are tied to GitHub via systemd? That's as good a place to start as any.
It's at least 62% of our list -- including 3CX Phone System, APODIO, AV Linux, AcademiX GNU/Linux, Anarchy Linux, Arch Linux, ArchBang Linux, ArchStrike, Archlabs Linux, Archman, ArcoLinux, AryaLinux, Asianux, BEE free, BOSS GNU/Linux, BackBox Linux, Berry Linux, BigLinux, BitKey, BlackArch Linux, blackPanther OS, BlankOn, BlueOnyx, Bluestar Linux, Bodhi Linux, BunsenLabs Linux, CAELinux, CAINE, CentOS, ClearLinux, ClearOS, Clonezilla Live, Clu Linux Live, Container Linux, DRBLLive, Debian Edu/Skolelinux, Debian, deepin, DietPi, DuZeru, EasyNAS, EasyOS, Elastix, elementary OS, Elive, Emmabuntüs, EndeavourOS, Endless OS, Enso OS, EuroLinux, ExTiX, Fedora, Feren OS, ForLEx, FreePBX, FreedomBox, Freespire, GParted Live, GeckoLinux, Greenie Linux, Grml, Hamara, Hanthana Linux, KANOTIX, KDE neon, KaOS, Kali Linux, Karoshi, Kubuntu, LXLE, Lakka, LibreELEC, LinHES, Linspire, Linux Lite, Linux Mangaka, Linux Mint, Linuxfx, Live Raizo, LliureX, Lubuntu, LunarLinux, Mageia, MakuluLinux, Manjaro, MorpheusArchLinux, Namib GNU/Linux, Neptune, NethServer, Netrunner, Network SecurityToolkit, NexentaStor, Nitrux, NixOS, Nova, OB2D Linux, OLPC OS, OSGeoLive, OSMC, Omarine, openmamba GNU/Linux, OpenMandriva Lx, OpenMediaVault, openSUSE, Oracle Linux, PLD LinuxDistribution, Pardus Topluluk, Pardus, Parrot, Peach OSI, Pearl Linux OS, Peppermint OS, Photon OS, Pinguy OS, Pop!_OS, PrimTux, Proxmox, PureOS, Q4OS, Qubes OS, ROSA, RaspberryDigital Signage, Raspberry Slideshow, Raspbian, RebeccaBlackOS, Red HatEnterpriseLinux, Rescatux, Robolinux, RocksClusterDistribution, Runtu, SELKS, SME Server, SUSE Linux Enterprise, Sabayon, Secure-K OS, Septor, siduction, SharkLinux, Slax, Solus, SolydXK, SparkyLinux, Springdale Linux, SteamOS, Stella, SuperGamer, SuperX, SystemRescueCd, Tails, Thinstation, Trisquel, TurnKeyLinux, tuxtrans, UBOS, UBports, Ubuntu Budgie, Ubuntu DesktopPack, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu, Ultimate Edition, Univention Corporate Server, Untangle NGFirewall, VenenuX, Volumio, Voyager Live, Webconverger, Whonix, Xubuntu, YunoHost, Zentyal Server, Zevenet and Zorin OS.
If you're looking for a systemd-free distro, don't bother with those. Left out is EasyOS because even though it looks like it will need systemd, it isn't a sure thing. MX isn't listed even though it offers systemd, as it goes out of its way to make it optional. ALT Linux may offer sysv so that wasn't counted either. Anarchy is an installer, "not a distro" -- but it's listed because DistroWatch lists it.
Of those, all additionally have GitHub-based package management via APT (Perl), RPM (GitHub, also Perl), rpm-ostree (GitHub), or flatpak (GitHub) or Zypper except: Manjaro, ArcoLinux, Arch Linux, EndeavourOS, Archman, Bluestar, Qubes, BlackArch, ArchBang, LibreELEC, Archlabs, Container Linux, SystemRescueCD, ArchStrike, Lunar and UBOS. Mageia uses urpmi (Perl) and dnf (GitHub) while Sabayon uses portage (Python-- GitHub). AryaLinux relies on alps which is Python-based.
Sabayon allegedly includes systemd even though it's based on Gentoo, and SystemRescueCd used to offer OpenRC but that doesn't matter, as OpenRC is also based on GitHub. Funtoo is based on systemd though it offers OpenRC as an alternative.
Of the above list, nearly 1 in 4 systemd-based distros (24%) are themselves developed on GitHub: Anarchy Linux, ArchStrike, BigLinux, BitKey, BlackArch Linux, BunsenLabs Linux, Clear Linux, Container Linux, DietPi, Endless OS, Enso OS, GeckoLinux, Grml, KaOS, Lakka, LibreELEC, LliureX, Lunar Linux, Namib GNU/Linux, NethServer, Nitrux, NixOS, OpenMediaVault, OSMC, Pop!_OS, Proxmox, Qubes OS, Rescatux, Rocks Cluster Distribution, Sabayon, Secure-K OS, SELKS, Slax, TurnKey Linux, UBOS, UBports, Volumio, Webconverger, Whonix, YunoHost, Zentyal Server and Zevenet.
At least 11% of the 275 active distros are NON-systemd distros that are hosted and developed on GitHub, including: antiX, Baruwa Enterprise Edition, batocera.linux, Bedrock Linux, BSD Router Project, ClonOS, FreeNAS, FuryBSD, GhostBSD, GoboLinux, HardenedBSD, Lakka, Minimal Linux Live, MX Linux, NomadBSD, NuTyX, OpenIndiana, opensuse, OPNsense, pfSense, Pisi Linux, Plamo Linux (though no mention on its website), Project Trident, Puppy Linux, RancherOS, ReactOS, SmartOS, Super Grub2 Disk, Void Linux, VyOS and Zentyal Server.
Recalbox has moved from GitHub to Gitlab, though it is built around Kodi (GitHub) and its documentation and Wiki are still GitHub-based. Obarun moved to framagit in 2018, specifically to get away from GitHub.
That brings us to some lost causes, or distros most hopelessly tied to GitHub. Some distros are built around a single feature that isn't likely to be forked or leave GitHub. Flatpak is based on GitHub, and nearly always comes with Systemd which is based on GitHub -- though CloudReady supposedly has flatpak without systemd.
Endless OS is developed on GitHub and based on flatpak, systemd and Mono, which are developed on GitHub.
Volumio is developed on GitHub and is based on apt (Perl, GitHub), systemd (GitHub), Node.js (GitHub) and like a number of servers here, is based on a WebUI that uses AngularJS (GitHub).
LibreELEC is developed on GitHub and built around systemd and Kodi, which are also based on GitHub.
Clear Linux is developed on GitHub, and uses systemd, a Python-based WebUI and RPM (GitHub, plus Perl-- GitHub).
batocera.linux is developed on GitHub and is a fork of emulationstation (GitHub) built around emulators like snes9x (GitHub) and mgba (GitHub).
Project Trident is developed on GitHub, and based on void which is developed on GitHub.
FreeNAS is built around an AngularJS WebUI. Zevenet is based on GitHub along with apt, systemd and an AngularJS WebUI.
OPNsense is based on GitHub and HardenedBSD, which is also based on GitHub.
RancherOS is based on GitHub and Docker, which is based on GitHub.
EuroLinux is based on Flatpak, RPM, Yum, Systemd and ceph -- which are based on GitHub, GitHub and Perl (GitHub) and GitHub and Python, respectively.
The once-formidable FreedomBox is based on apt (Perl), systemd, and a WebUI based on Python.
Grml has a perl-based mirror infrastructure, a Python-based USB installer, and Grml is itself based on GitHub.
Paldo GNU/Linux is built around a special package manager (upkg) that requires Mono.
Omarine is based on RPM and Systemd, around the GitHub-based FUZZY and Sail features.
Webconverger is based on GitHub along with apt, systemd, and built around just running Firefox (rust, GitHub). Porteus Kiosk is built around running Firefox. LinHES is based on systemd and built around running MythTV (GitHub).
And the Rocks Cluster Distribution is developed on GitHub, built around core features which use Python, Kubernetes, Ansible, RPM and systemd -- all of which are based on GitHub.
We are down to 23% of our active distros on DistroWatch. Another 11% are based on the following proprietary or GitHub-based components:
Nine remaining distros are based on APT, and thus probably need Perl (from GitHub) for dpkg: ARMA aka Omoikane GNU/Linux, Devuan, Exe GNU/Linux, Refracta, Simplicity Linux, Star, GALPon MiniNo, KNOPPIX and PClinuxOS. This is going to include most Debian and Devuan-based distros anyway.
Three remaining distros use RPM, which is developed on GitHub:
Vine Linux, Endian Firewall and Openwall GNU/*/Linux.
Five remaining distros: Alpine, Gentoo, Parabola, Hyperbola and Daphile, are at least said by DistroWatch or another source to use OpenRC as the init -- which is based on GitHub. Hyperbola, please fix this! Gentoo can probably make this optional if it doesn't already.
Calculate and Redcore are OpenRC-based but also offer sysv, while Artix is OpenRC-based but offers runit and s6, so we will keep these.
Austrumi uses slapt-get, which is based on GitHub. Pakfire, part of ipfire -- needs yum, which uses RPM and Python. One component of pkgsrc in NetBSD uses Python, this can probably be easily fixed. MidnightBSD uses mports for packaging-- this is based on GitHub. XigmaNAS uses OpenZFS, which is based on GitHub. Pentoo, Bicom Systems and Calculate Linux use Portage, which is Python.
Smoothwall Express uses Perl. From the looks of the Zeroshell contents, it also requires Perl.
ToOpPy Linux is difficult to figure out where it comes from, but it is based on Sourceforge. If it's based on Woof-CE, then it's based on GitHub.
Parted Magic, Oracle Solaris, Sophos UTM and Securepoint Security Suite all appear to be proprietary. Let us know if you find otherwise.
This leaves 12% of our original list:
1-3: 4MLinux, Absolute Linux, Android-x86
4-6: CRUX, Cucumber Linux, DragonFly BSD
7-9: Dragora GNU/Linux-Libre, Exherbo, Fatdog64 Linux
10-12: FreeBSD, FuguIta, Guix System
13-15: Haiku, KolibriOS, Kwort Linux
16-18: LinuxConsole, Linux From Scratch, Obarun
19-21: OpenBSD, OviOS Linux, Plop Linux
22-24: Porteus, Redcore, RISC OS Open
25-27: Slackel, Slackware Linux, SliTaz GNU/Linux
28-30: Source Mage GNU/Linux, T2 SDE, Tiny Core Linux
31-33: Wifislax, Trusted End Node Security, Zenwalk Linux
At least a 1/3 of these have a default desktop that is GitHub-based, but we don't necessarily need to worry about that because a desktop is usually pretty trivial to swap out.
JWM, IceWM, Openbox, FVWM, Mate, FLWM (as it uses FLTK) and LXDE are all GitHub-based, but GNOME, KDE and dwm are GitHub-free for now. Fluxbox isn't run by GitHub yet, but someone was recently offering patches and trying to persuade the developers to migrate.
"If the goal of Microsoft at the time of the Halloween documents was to control as much Free Software as possible, the purchase of GitHub was far beyond an ideal move."Most live images are built around squashfs-tools, which moved to GitHub as of july 2019. To fix that would require a fork or an obsolete version from Sourceforge or kernel.org.
Despite the Puppy community heavily depending on GitHub, I tried really hard to find a way in which Fatdog64 needed GitHub to exist. It uses some puppy scripts, but probably not in a way that relies on GitHub at all. This could be a true fork that avoids GitHub in most ways that matter.
If the goal of Microsoft at the time of the Halloween documents was to control as much Free Software as possible, the purchase of GitHub was far beyond an ideal move.
"The goal of Free software is for all software to be free -- the goal of Microsoft is for all software to be controlled, by Microsoft."The game isn't over yet, but to be in "check" means the only move available is one that gets you out of check.
The goal of Free software is for all software to be free -- the goal of Microsoft is for all software to be controlled, by Microsoft. Towards either purpose, GitHub isn't a code hosting platform -- it's a code hostage crisis. ⬆
Licence: Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Comments
dlcusa
2020-04-10 06:36:41
This statement is belied by https://www.funtoo.org/FAQ:Do_You_Support_Systemd last edited March 11.
Upsylum
2020-04-08 10:34:16