first, for those unfamiliar, lets talk about what a distro is: a distro is a self-contained “software distribution”; a bootable collection of software (including an operating system) in the way that a make and model of a car is a particular style and set of design features.
technically speaking, a distro is normally in the form of an .iso image including binary software packages, to be written to a cd or dvd or usb and then booted on a computer (or cloud instance/vm, etc.) in a few notable instances the distro is just source code, and you have to compile it first.
the binary distros that most people use also start as source code– code you can download and compile yourself. for most of us (including myself) it is easier to download pre-compiled software packages, even though ive compiled a few and thus know what a challenge and exercise in patience it can be.
from this fact (its easier for most people to download and use pre-compiled packages) we get distros– enormous collections of software which is usually pre-compiled for a certain kernel and hardware architecture. important is that you can still get the source and change it and share it and recompile– but this is the exception (as it is needed) and pre-compiled is the rule. so before you get the source to leafpad and make your changes and compile it– you have an entire working operating system from the usb live boot (or, the 15-minute installation process.)
there is absolutely nothing wrong with any of this– necessarily. but in practice, a new distro may only start out with a few people (or even a single person) doing all the work, and in the examples where the distro gains a very large number of users it generally leaves a single person in charge as the “boss” (or bdfl) and slowly creates a staff of developers, contributors and volunteers. and thats fine as well.
because there are so many distros, the user has so many choices. if youre looking for a desktop distro right now, you have literally hundreds of choices. the choices narrow a bit if youre still using 32-bit architecture (either for hardware itself or just for the kernel on 64-bit hardware.) they tend to narrow quickly based on factors such as:
* supports 32-bit, 64-bit only, or both. (most 32-bit distros will run on 64-bit hardware, at occasional costs to performance and compatbility. for example, new versions of firefox are 64-bit only.)
* supports arm, x86 or mipsel cpus (ive owned all of the above and even one machine with powerpc architecture. very few distros support mipsel; i used gnewsense at the time.)
* requires some acclimation to the command-line. nearly all distros will ask this of you at some point, for some task. some really go out of their way to shield you from this, though its always easier to say:
sudo apt-get install leafpad
rather than: “go to the start menu, click on system, then click on synaptic, then when it opens select applications, then accessories, then leafpad, then click install…”
* works on less-than-amazing hardware
reasons people create distros:
* just because they can
* because the alternative sucks (or has started to)
* because they need to / there is no alternative for a certain situation
* because theyre good at it, or conversely:
* just to learn
not all distros spend a very long time being maintained before they are abandoned; the same can be said for any software. sometimes a better alternative comes along and the people working on a quality distro decide to close shop and let the competition take care of similar needs.
most distros can be distinguished by design choices like:
* which software is included / supported / installed by default
* which desktop or init is supported out of the box
* which package manager is supported for managing installed software
* whether the distribution includes certain drivers, software and codecs out of the box, or how easy/difficult they are to install
i actually dont want to deal with any non-free software, particularly in my live image (.iso) because i consider it tainted then. i either want to know exactly where it comes from, or i want public access to the source-code. preferably both, but im definitely willing to make a few exceptions if all the source code is available.
i also like free software and non-free to be in different repositories (download addresses, online collections) like they are in debian and devuan.
for this reason and others, i have preferred debian-based distros for at least 10 years, or all the time since i stopped dual-booting with windows.
some of the distributions ive used are:
debian > xubuntu
debian > ubuntu > trisquel
debian > gnewsense
debian > devuan
debian > devuan > refracta
xubuntu, ubuntu, trisquel, gnewsense, devuan and refracta all come directly or indirectly from debian. note that the pre-debian distros all led me to move “upstream” to their source distro, but then debian started pushing me “downstream” again to derivatives like devuan and refracta.
the same forces that led me to choose debian in the first place are the ones that forced me to move away again:
* organisational politics
* software choices
* lack of quality support
in some but not all instances, you can get around anything political by just *removing* the software you dont want. dont want to support openoffice since oracle acquired sun and made openoffice a joke? just uninstall it and install libreoffice instead. easy.
if youre lucky, the distro maintainers will agree and do this anyway (they did.) if youre not so lucky–
there will probably always be some “out of the box” distros for people who dont want to mess with anything (even installing a program.) they will make decisions for you, and youll be happy with that because you dont want to make those decisions.
but for many people, they will have to choose something at some point for some reason. and when the distro maintainers makes choices that align with yours, youll choose their distro. along with thousands of other choices they made for you– and hope for the best.
and if they make one terrible decision, you might even stick with them just because its easier than changing distros. maybe you have 250 machines running ubuntu, and have no time to migrate all those systems. or you have to get the change approved, and its a big change (operating system level) and–
these are real-life concerns and pitfalls, they affect actual organisations and individuals. often they have price tags in real money, even when the software is “free.”
after a couple more terrible decisions, you are forced (as i was a couple years ago) to look for alternatives.
you know the number-one advantage of gnu/linux is that you can change anything, right? so when someone comes along to be the steward of those changes for you– its a favour.
and if they do a good job, you may want to return the favour, or give them money (i did that recently, making yet another donation to free software. you usually get your moneys worth too– even when you spend real money.)
but just like a binary distribution still makes the source code available, you still want the software you use to be good for your purposes– and you want the organisation you allow as the steward of your distribution choices to still give you ways to be in control.
someone who releases a ready-to-use distro (installation not always required! boot it and go…) by design has to make certain decisions ahead of time– thats ok. but i dont want to be cut out of the ability to change things later. and if i invest enough time and effort (especially when it helps the maintainers) i hope to be taken at least a little seriously when i have concerns down the road.
this is not a requirement, but its nice. and what i dont expect, when ive invested time and effort making someone elses distro (at the very least) look good is:
i expect to be treated fairly–
not smeared or talked over–
not treated like dirt or bullied by the people maintaining it–
in short: im a person, too.
but lets pretend for the sake of argument that im an intelligent robot, and your human feelings and emotions are all a mystery i will never experience first-hand.
i still have practical decisions / imperatives to consider, and at some point, your distro will stop meeting them.
although i have framed most of what ive said in terms of whats ideal or whats preferable, i actually think things are already moving more in this direction. my goal here is to talk about where things were going, where they are going, and where they are most likely to go.
the truth is that distros that used to go to great lengths to make their designs accessible (and easy to alter) are now going in a different direction– while they used to require OTHER DERIVATIVES just to make them friendly and appealing, they were already easy enough to customise at every level.
old reliable stewards of cutomiseable distro offerings are becoming less reliable, more arrogant, even increasingly proprietary– as much as thats possible in situations where source code is available. what “proprietary” means in such a context is as much about attitude and approach as it is about whether you have the source code or not.
please note, that as long as the source code is available (under a free software license) that it is NOT *technically* proprietary. but there are still ways to take free software and put it together in an obtuse way that makes it harder to decouple than it started–
we arent just talking about things that are poorly designed, but things that are put together in a way that starts out quite free/open but gets increasingly obtuse to use any other way. call it “pseudo-proprietary” or whatever you want, its what happens when a distro like debian (or ubuntu) starts trying to extend itself in a way that makes it more difficult to stay compatible with other things.
sometimes this is unavoidable– other times, it really does seem like the purpose is to create software lock-in.
worst of all is when this isnt just done once, but something is made increasingly monolithic and complicated in a way that almost certainly deliberately and willingly breaks anything that is made to be compatible. in the proprietary world this leads to allegations of antitrust violations– in the free software world, this should never happen, at all. at least, it shouldnt…
a lot of people started using gnu/linux precisely because it is so robust against such lock-in attempts. but it is not impervious.
whats the *practical outcome* of all that? well, youre hypothetically trapped using things you dont want, because theyre all “stuck together” or bundled in a way that is too much trouble to separate.
this is what a distro should not be, but (up to a point) can arise innocently, through just a certain amount of laziness.
all of that is fine until for some reason, you need to fix it– thats when it starts to really matter. now you are looking for another distro, one that has a little less disdain for users (or non-developers. this includes most developers, since most developers will not have access to the developer process on the distro level– except in theory.)
how you put together your browser or game or python library is entirely up to you. how you interface with a distro is– well, entirely up to that distro. as mark shuttleworth once cynically pointed out: they “have root” and have to be trusted with full access to your computer.
which is EXACTLY WHY you should never build a circular argument like his, which basically says “you trusted me to build your operating system until now, so you should trust me with this decision too!”
no mark, thats what was being questioned that you arrogantly dismissed– SHOULD WE continue to trust you?
i was one of those millions of users that trusted him earlier on. i used ubuntu breezy (among others) on my computer.
apparently, mark shuttleworth thinks im an idiot now.
it would be tragic if you thought i was really singling out debian or ubuntu here– the majority of what im talking about cannot be pinned squarely on either shuttleworth or debian.
in fact, every distro (or application) that is around long enough will probably become under management as arrogant as this. at first, it is like being part of a family– then its a community. eventually its a class system, with users at the bottom (or preferably on another planet.)
this is not good business, its not a good attitude, its not good support. it begins as cooperation and contribution and over the years, it becomes more like an ongoing battle.
it can even turn into lying, bullying and bad security.
so lets not pretend the solution to any of this is an agreement that everyone is going to “be nice or gtfo.” thats superficial, it creates new problems and glosses over others– and its all the rage, too.
what we need is integrity, honesty, and making the user #1 again.
oh no, how do you make the user #1?
well, extreme coddling is out. every time you make it something closer to idiot proof, someone builds a better idiot. if that wasnt true, everything would be idiot-proof by now. thats certainly not what im talking about.
making it so you can customise EVERYTHING is out, too. we have already done that! dont like your system? wipe the drive and build the o.s. yourself. it will only take a few years of study to learn gentoo (please dont flame me, some of my best friends use gentoo, ok? gentoo is a fine solution for gentoo users. im not even joking.)
making it so you can customise everything isnt a real goal anymore, we have had that for years. its so extremely tedious, most people use binary distros. thats the reality, unlikely to entirely change in the next 25 years. really, 25. (unless “ai” does it, then i take it back.)
what about keeping it so you can change anything? really anything? well, we had that before, really… we had it, and we are losing that, at least in many places that we had that before. i consider debian to be a place where we had that and have lost that, again really.
but i maintain that debian is just one example. ubuntu has done this so many times, i dont know how they can maintain their standing in the distro world. i think it hurts them every time–
“we are the friendliest distro! if you dont like that, !@#&%@&% @#%@#…”
sorry, the *what* distro?
“dont trust us? we have root!” oh, boy…
its important to note the largest examples of this, when ive witnessed so many examples of this over the years with smaller distros too. youd think “buy local” or a tighter, more closely-knit community would guarantee success, but i havent noticed.
ok, so enough whinging– where on earth is this going?
well one more thing before i get to that– let me tell you where i with devuan. with devuan i was a believer, now im more of a sceptic, but i still think in terms of medium-to-large-scale efforts theyre the CLOSEST THING to the right thing, for now.
in other words, people should be watching them and learning from them. and then not duplicating 100% of what theyre doing. if it works for them, great– thats better than what debian is doing, imo.
even better than devuan is refracta– full disclaimer, i know the primary refracta developer personally and i absolutely trust him personally, though that doesnt mean refracta wont suffer the same way someday. its not like anyone can stop all bad decisions made regarding their work. its just not possible.
though im very happy to run my own derivative of refracta, which i use all the time. and refracta of course, is based on devuan.
but what i want to point out is– that most of the time when distros are forked or derivatives are made– that so much of this is done “by hand” or by installing, making changes, and then making a new snapshot of the system.
or, the system is made from source, a lot of which is done through very redundant, manual or otherwise tedious efforts, which could be replaced with automation.
perhaps a certain amount of manual touches will always be required, im not disputing that. years ago i watched a video from someone involved with ubuntu, encouraging debian to automate more of their processes, like ubuntu has. i considered it a solution in search of a problem, i wont pretend otherwise.
then debian encountered some serious problems, i started using devuan regularly in march of 2015, and devuan started doing a number of the things that ubuntu had suggested.
part of the reason devuan automates more than debian is *it has to*. debian is made from countless volunteers– and it requires the infrastructure (and politics) for managing a countless number of contributors.
devuan doesnt, and cant– and i consider that major progress.
refracta consists of an even smaller team, if only because what refracta contributes to what begins with devuan– while valuable– is considerably a smaller amount of activity. i dont think anyone involved would deny this.
and what i change in refracta is smaller still– consisting of one long script that is fully automated.
devuan can be smaller than debian because they automate.
refracta can be smaller because they start with devuan, which is closer to what they need.
and i can entirely automate my changes to refracta.
i believe this is the future– but i also believe that will move us farther from the concept of a “distro” which is ultimately a branded, bootable software bundle anyway.
to be fair, it can certainly be more than that. but it often isnt, and at worst, a distro is a mess. if you try to rely on a distro for more than 5 or 10 years at a time, you might think so too.
but i believe we are moving closer to a situation where if you think my distro sucks– it will be easier than ever for a person who hates a distro to VERY EASILY have a version that just doesnt suck.
if enough of us keep that as one of our goals. while i disagree with a lot about devuan (enough to keep me away from it as my goto distro) theyre still doing a lot of things (and have certain goals) which we need MORE of right now. so in some ways, they are setting a great example.
with regards to community management, im not entirely sure its better than what debian offers. i wont go back to either.
but infrastructure-wise, what devuan is doing is much closer to what we need, and should be building.
we shouldnt be making distros, so much as we should be making distro factories– thats exactly what i believe devuan is doing and we need more of that (someone with ubuntu basically presented this to debian years ago.)
what refracta is doing is probably the only reason i can stand devuan right now– and devuan does absolutely NOTHING to get in the way of refracta doing that (on the contrary, they are making very good use of such efforts.)
and refracta probably wouldnt meet my needs unless i was working (at least as recently as last year) on fully-automated ways to alter it– which i actually designed to help another distro entirely, mostly to find out if it was possible (i had no experience with anything like that.)
but whether you pay any attention to devuan, or refracta, or my own mkfigos (make fig os) its the concepts that im trying to present here, not the examples–
use automation to prevent distros from being pseudo-proprietary bundles.
some automation will be overkill.
some customisation will remain tedious.
but these things are steps in the right direction– even as the old stewards of free software (and non-lock-in) turn on their users and become bullies and produce pseudo lock-in.
whether a good job is being done of it right now, or not– some people really are working to keep the dream alive.
and the dream is that the user isnt a peasant, or cattle. thats a dream im very willing to support, one way or another.