Hundreds of distros exist, many of them with very similar features. We know there is duplication of work, but everyone needs to understand why so many distros exist.
"Every time a distro does not suit a user's purposes, and it is less work to adapt the distro on one's own than to affect the distro in any other way, a distro is born."If more people created distros, then more people would have experience or interest in maintaining (contributing) to existing distros. The real trick is facilitating that.
Stallman has said that we don't need more distros. "We" also don't need more text editors, or "hello world" programs. Other people say we don't need more programming languages.
Each of these arguments are subjective (who is "We?") and can be refuted by pointing to a single need that no distro caters to. But in recent years, many more (once-reliable) distros are lacking than before. Are people really saying they don't need to be fixed?
Because they are more likely to be repaired by forking. Control over distros and of software by monopolies is increasing, and if the Halloween documents mean anything then this is a problem the FSF and OSI once acknowledged (hosting the documents on their own servers, though OSI has removed them since) though now that it is a more critical and everyday problem, they are saying nothing about it.
"Stallman has said that we don't need more distros."If we need more freedom, then we need more distros. In fact Stallman said "We don't need more distros" before the FSF gained Hyperbola, one of the very few (and arguably most dedicated) distros to work to remove the monopolistic tentacles of systemd, which GuixSD should also be suitable for, but Hyperbola should be a lot more friendly and mainstream.
We would say that Trisquel probably does not need more distros, but also that Trisquel probably needs a swift kick in the ass.
Incidentally, we have a script that automatically removes systemd from the Trisquel live ISO and spits out a fixed one, but it relies on upstart which is being abandoned by Ubuntu. So while Debian still has some people working to keep "not systemd" an option (if it were really optional, they would be done by now...) Trisquel and Ubuntu are most likely slated to have nothing in that regard. What a shame.
We honestly think that every user should make a machine-readable list of features they want in distros, and that this would be extremely valuable data.
On the drawing board is a feature-schema prototype, which in the friendliest machine-readable way possible outlines the desired and optional features of a distro such as distro-libre.
The key to this schema is indentation, a simulation of XML that requires zero syntax but must develop some kind of standard keywords. If everyone (we mean everyone) made a list of features they want included, this non-industry standard would be easier to develop.
"We honestly think that every user should make a machine-readable list of features they want in distros, and that this would be extremely valuable data."Distro-libre is a growing script that can automatically remaster various live ISOs, ensuring that people can have bootable CDs and DVDs with a receipt (the script) of every possible change. It is written in fig, one of the lowest-syntax, most consistent and minimal (friendly) languages in use today. You could also do distro-libre in python, but then fig translates to python.
Unlike systemd, distro-libre is intended to be easily forkable. We hope that the future of remastering (and building) distros is the application, not the distribution. Instead of maintaining a distribution, what we would like is if you could download a program and either use it to customise a distro (with help from automation, not just by duplication of manual work) or even build one.
We expect mockery and ridicule, but instead of just talking about these things, the Free Media Alliance offers working prototypes. The prototypes increase in sophistication over time, and would increase further with more people forking them. We encourage collaboration between forks, rather than worrying about setting up a large organisation (but you are welcome to do that as well.)
As a remaster tool, the way distro-libre works is not entirely new, but it works like this:
Download ISO -> run automated remaster script -> New ISO
The remaster script can even download the ISO for you.
"Unlike systemd, distro-libre is intended to be easily forkable."The automation serves two purposes -- by default, the script IS / defines the "distro" itself. Instead of downloading "fig os," you download a script that produces fig os. Instead of changing fig os, you change the script.
The automation that produces the default ISO can also assist you in making changes. This is very basic automation, and it can be made even friendlier by moving more distro-libre logic to our indented feature-schema. That way you can still change the code and use the custom "language" (or functions) within distro-libre, but most people will use the more abstract and user friendly schema to do many of the same tasks.
"But because these are remastering and build applications, there is no monopoly."In every step of the process, we encourage the use of languages and tools that are modeled after successful educational languages like Logo and BASIC. We say "modeled after" because these aren't 1:1 duplicates, with artifacts like line numbers or type sigils -- Logo has evolved and remains very low on punctuation, people use it to code without realising they are coding. That's the sort of computer language we want people to have at their fingertips.
But because these are remastering and build applications, there is no monopoly. If you want to fork a distro, change it entirely, you can just fork the application -- written in a language that high-schoolers and perhaps junior high-schoolers can learn to use easily enough.
We need more distros because we need more distro maintainers. Obviously, the way distros are currently made lends itself to all kinds of political and organisational issues.
We do want distros to be more generic -- installers that work across more than one distro (family) like Calamares and Refracta installer, remaster tools that work across more than one distro (family) such as Refracta tools, we even want build tools (applications) that help inexperienced users build their own distro as an educational experience (the FSF does not get education!) in the same way that using SBCs are an educational experience, and so on.
"We need more distros because we need more distro maintainers."We need more distros -- an entire new generation of distros -- because the current distros are gas-guzzlers, both in terms of what they take to run and especially in terms of what they take to build. And it is terribly sad that the primary and original Free software organisation in the world lacks the imagination or ambition for such a scheme.
We do encourage Guix and Hyperbola OS to keep up the good work, because they are probably the most innovative distro builders that the FSF already recognises, but the old way of building distros limits freedom and limits opportunities for education (possibly even to fewer people than we need to keep them going, and that's a very serious problem if it's true -- do we need more evidence than GnewSense folding? If done the way we suggest, you could carry on GnewSense yourself!) And (per the charter) our job is:
the free media alliance is happy to promote free software, but also welcomes thoughtful critiques of the fsfs methods and "extraneous requirements" (other than the 4 freedoms and gpl licenses)
"We do encourage Guix and Hyperbola OS to keep up the good work, because they are probably the most innovative distro builders that the FSF already recognises..."The reason is simple -- when you take enough projects, packages, standards, even people -- and you put a single corporation in charge of them, you are building a monopoly. Systemd is made from projects that were easier for smaller communities or fewer developers to maintain.
By consolidating those projects first under Red Hat, then into systemd itself, they were lumped together (yes, we've read the nonsense that claims to refute this, it is bunk -- pure denial of something they seem most clearly aware of themselves) into something that takes a large corporation to maintain.
Don't believe it? How long has it taken to "separate" back into smaller projects? If it were really modular, it wouldn't take dozens of people to work systemd back into modules. How much more obvious can that point become?
"Systemd is made from projects that were easier for smaller communities or fewer developers to maintain. "This is also, in a less sinister way, how distros themselves are created. And unlike systemd, those were created of necessity -- it was, once upon a time, far too much work for people to just make a "GNU/Linux Boot Disk" and throw on whatever programs people wanted.
Today that is increasingly possible, and the best direction for distros to go in. Alas, it is not like egos and monopolistic attitudes do not exist in the Free software community.
On the contrary -- distros want to remain distinct and are often opaque. It is the opacity, not the distinctions that are the real problem.
Everyone is free to create their own Free software, we are not suggesting that everyone give that up and "do it our way." All we are saying is -- if freedom is the real goal, let's put that freedom in the hands of the user, not just the distro maintainer. Let's make distros that (like Free software) are as forkable as possible, so that no user feels they are "locked-in" to theirs.
"Let's make distros that (like Free software) are as forkable as possible, so that no user feels they are "locked-in" to theirs."Lock-in is a monopoly tactic, and has no place in Free software distributions. If it is created inadvertently and there is a practical way to reduce it, then reducing it is also a good thing.
All the same, distro-libre is a simple prototype for liberating even the distros that do not participate! It is not about putting control of all distros in the hands of a large monopolistic corporation -- It is, like Free software itself, about putting control of all computing in the hands the user. The old distros don't do that as well as they could, and it's time for an overhaul (you do you, but consider these words) of the concept itself. ⬆
Licence: Creative Commons CC0 1.0 (Public Domain)