What I am saying is imagine taking all those 300 flavours of ice cream and were all easily available at one store.
Two ways I could take this.
Firstly take → you are looking for a distro that can do any flavor. Which is literally any distro. Any distro can do any linux-thing. Some might be harder, some might be easier. Its always going to be a little bit hard and require reading and research, testing and skill.
Second Take → you are looking for a single ice cream store as to eliminate the confusion in picking ice cream stores. Even if all the ice cream stores offer all 300 flavors. Withing your analogy, would be something like abolishing all local and small ice cream shops to then consolidate all refrigerated confectionery goods under one singular megacorp.
I guess I’m more wondering what Linux would be if all the effort was put towards one distribution, one monstrous singular effort.
It was something Linus Torvalds mentioned some years back when asked about Linux desktop that made it pop into my mind.
He was saying about how a scuba diving app he was working on they were focusing on Windows and Mac. Because that way they only had to focus on Windows and Mac. Where as with Linux they would have to write multiple different versions to the point that it’s just not worth it.
I think you are misunderstanding the difference between the people who develop the software and the people who bundle that software into distributions, and the amount of work that goes into each of those respective things.
Lets start off here. At this point, there are a wide range of solutions addressing the issues pointed out by Linus. He wasn’t talking about writing multiple versions, nor did he say he was specifically focused on windows and mac. He was frustrated with the difficulty of compiling binaries. Containerization was halfway developed to solve this specific problem, Linus here basically described the exact use-case for flatpaks and docker. So inside the modern ecosystem you don’t find nearly as much of these sorts of challenges.
Second → just because you have ‘freed up’ a few package maintainers by consolidating the distros doesn’t mean you have immediately turned those people into people contributing to other aspects of linux. The skills of a package maintainer do not necessarily translate to, say, kernel developer or software engineer. They chose to work on a linux distro as volunteers, and if that option was denied to them they would likely just go work on a BSD distro. Maybe together they would all make Hurd a thing.
Third → I think you underestimate the degree of familiarity between the distributions. A great deal of them share binaries in upstream/downstream deals, Ubuntu pulls most of it’s packages from Debian, Manjaro from Arch. I don’t know how many ‘root’ distros there are exactly, but I can only think of around five to six that seem notable to me. Sure, there are a thousand branches off those five or six, but they all copy off one another’s homework.
Finally - You would in turn be wasting a lot more manhours and computational resources maintaining this monolithic distro. I mean, should every server have a GUI? Should every desktop installation require you turn on the video drivers that a Linux based router would find unnecessary? Who decides when libraries should be upgraded then depreciated, and how do they balance the needs of all the different users? I think this monolithic distro would work a lot less like a Ubuntu and a lot more like a Linux From Scratch and could very well consume more time then it would save. Not to mention the project as a whole would be incredibly less attractive to independent-minded programmers wanting to have fun with their tools.
Great conversation guys, thanks!
Absolutely zero
The reason why is the back bone tech is exactly the same. Any sysadmin or programmer or software engineer worth his salt has no issue dealing with eccentricities and with the advent of dynamic linking the distro library argument i nearly moot
I think people dont understand just what companies see as valuable in an open software stack. Worse yet less diversity of teams would greatly harm linux
The entire strength of open source software IS the forking and different ideas and the go do it yourself attitude that actually encourages creativity. Half the stuff you have came about because of that
Analyzing the posts so far this reply seems out of place. I agree I hope it does but heated opinions are just passion. In fact I like to see strong opinions because you know those individuals have really thought about it
Heres the interesting thing. If given the freedom users can configure their stuff exactly as they need and stuff will get out of their way however if we try to determine a direction thats when stuff starts to get in peoples way. Id rather trade ease of use for flexibility any day
Ive tried many distros. Ive worked on all OSes. Ive developed on all OSes and from platforms as big as systems down to low power MCUs. Been an engineer dealing with these things. I dont mind and I generally love fragmentation in some ways because ideas form. I can easily handle those eccentricities and if that goes away for the sake of the average user… Well thats what drove me away from mac osx and windows … To linux and away from easy distros to arch and void in the first place! People thinking I want the same sane defaults as everyone else is just not cool. Let me choose my path and a lot of people in the free software community feel this way
Hence:
I guess the only thing to take out if this would be that if someone we’re actually do something like this, the market/community would have to decide on whether it was worth contributing to or not.
Well i could tell you quickly what would happen. Massive litigation over licensing issues and that’s without siding with any view point. That level of control cannot be exerted with gpl
I did think about that. But I never had any intention of the idea being a closed system.
What even is “the community?”
People, just like you, will use whatever is best fit for the job. Some distros are better than others in some regards. Alpine is amazing for embedded and lightweight stuff. NixOS is amazingly reproducible and automatable through a single file. Gentoo is good to squeeze out every last bit of performance out of your systems. Debian is stable and doesn’t have changing programs much, just security patches for them. Mint is a good generic desktop that most people can utilize without being knowledgeable of linux. Void is ultra-light and generally usable as either a desktop or server, with tons of available packages in the main repo. Solus (while it was still maintained) had a very curated list of packages that were guaranteed to work. OpenWRT is a router-centric distro. Proxmox is a hypervisor distro.
Could you do everything with just one big distro? Sure, but it’d be way less efficient, heavier and less secure. I think YaST was at some point trying to make all the CLI stuff configurable through a GUI (although a pretty rough one, but still acceptable). Lots of sysadmins running SUSE do it for YaST and not having to touch the terminal.
You only build your program once and it runs anywhere. Let it up to each distro’s maintainer team to repackage your program. Unless you are doing proprietary programs, which then maybe someone will package it in some crappy “universal” package manager, like flatpak or appimage or something. Or if it works as a tarball extraction if it has all its libraries in the same directory, then it should run anywhere on any linux distro, no matter how different they may be. I think steam might be a good example, as extracting a deb package results in easily transferable binaries to any other distro (and it’s how it got to places like the AUR to being with I think).
Why should anyone care at all? As in, the is / ought gap (Hume’s guillotine). If they have a purpose to care, then they will. Mac developers are typically selling software, because generically mac users are most likely to spend money on software. Windows users are the most numerous (excluding phone users), so windows devs “care” typically because they want to reach the biggest audiences (or that’s what they’re used to, so it made sense to program for windows).
Why would that be important? Maybe they also sell the software. Or maybe they want to become known and eventually get a corporate wagey job at some big tech enterprise by “proving themselves.”
As for linux? Typically linux programmers care about themselves first. They write a program that benefits them and share it with the world as a bonus.
Can’t say why one ought to care about developing for linux, if one has a purpose or goal, then they will develop for it.
I find beauty in that. But I also don’t like change, so I just use a custom launcher (kiss launcher if interested), which helped me skip not just the different manufacturers reskins, but also helped me in keeping the same UI in 8 years of Google changing the UI (from the classic programs drawer, to the swipe up thing, to different widgets, to peculiar and unwanted news page thing on the left of the home screen etc.).
Because you only need to pick your poison, because everything is basically the same once you learn the underlying system (even for unique distros like nixos, it’s still linux beneath and works like it). Or don’t, nobody says you ought to use linux. Whatever works for you. I really don’t get people who evangelize linux. Sure, freedom is important and I agree it’s best to use open source software, but trying to convince people to go through the trouble of learning something new?.. idk, feels a bit tribalistic.
Oh man, so much ^this.
In all fairness, when you get used to the command line, I wouldn’t call one a hardcore. If you know what to type, the cli is easier to use than any gui (not to mention reproducible). Want to make a tutorial for how to install a web server on linux? Just copy paste these commands in the terminal (or even fancier, copy paste one command that downloads a script which installs and configures everything for you).
Want to make the same, but for Windows? Download this binary, execute it as admin, next, next, next, then open this config fancy screen, click there, navigate through 20 menus and finally you got your web server configured.
A lot of devs love macs because it’s kinda a middle ground between full gui and partial useful cli (the nt cmd is garbage and powershell isn’t that much better, although a big improvement over cmd).
The reason we don’t have a linux distro that works flawlessly from top to bottom on a GUI is because no such GUI has been made yet. You can still get away on many distros without even touching a terminal if you don’t require much (basically chromebook level usage), but if you want to get a bit more advanced, the terminal is a must. It’s a work in progress.
IMO the problem with the linux desktop is stability. The big DEs aren’t as stable as “small-time” window managers. But WMs aren’t user-friendly. I guess that’s just the nature of the beast, you either have a complex software that makes things accessible (I’d rather call them accessible rather than easy), or you have a simple interface that makes it rock solid stable, but you will need to get around missing features (like, idk, volume adjustment, for which you need to install a separate program or widget).
I think xfce might be the most stable, maybe arguably lxqt (but that one lacks a ton of options). Plasma is getting there, but still has its stability quirks. GNOME Shell is just buggy in my experience (stuff like freezing and taking out your PC were more common for me for GS than Plasma, but not uncommon on the later either).
Sure, Windows Explorer Shell is also buggy and sometimes you can’t even recover it without ctrl + alt + esc and restarting it in task manager, which let’s be honest, most people don’t know how to do. Maybe mac is more straight forward? I’ve seen macs break with updates more than windows and sitting on the apple logo seemingly bricked. But freezes on the desktop or complete hangs, I don’t think I saw.
And Ubuntu is the most used desktop OS by a longshot. While true that RHEL is the Microsoft of Linux world when it comes to servers (probably for the worse actually), I still wouldn’t think it has such a stronghold as windows does on desktop (especially lately where people are actively starting to avoid it and derivatives of it).
I wouldn’t call Darwin really BSD IMO. Even the init and services on macOS are alien to the BSDs. Launchd is more akin to Upstart in Linux and systemd kinda tried imitating launchd when it was made (for the worse).
Watch more Level1 New– Links with Friends. Most of us probably started there, but when you see the gloom in running proprietary software, you’ll understand why software freedom is important.
The latest shenanigan that I’m aware of is Plex banning instances running on Hetzner’s datacenters, because “some users hosting plex in hetzner’s IP subnet abuse plex.” Literally guilt by association and legitimate users now have to switch providers (or use a VPN in their VPS to appear as if it was hosted elsewhere) in order to continue using plex. With this move, I just hope more people will move to jellyfin.
These kind of headlines are pretty common. Some company decides what you’re not allowed to do with software and suddenly you are a victim. You can’t backup your physical media without going through hoops because big companies don’t want you copying their “IP” even if it means you have to pay for the same thing you already purchased again if you want to get another copy of it (either for safe keeping or to replace the one you may have lost by normal stuff like aging). Or you can’t use whatever software because your license has been revoked because you posted something “naughty” (according to them) on the web. The abuse is real when you don’t control your software.
Try that in a small town the FOSS world, where people stand up for their rights. As soon as mongodb switched to a non-free license, amazon forked it and we also got a free version called ferret db. When MySQL was acquired by Oracle and people though it’s going to get restricted, MariaDB was born. Systemd became too entangled with the linux kernel? Gentoo developed eudev. Examples are many where users got restricted, so people just forked the project and did it better.
Or better said, there’s no one-size-fits all and it’s the reason we got so much “fragmentation” (I’d rather call it competition, although to some degree, it’s also cooperation, because eventually ideas get back to the source from the fork or even independent projects).
Bedrock linux anyone?
Please don’t take my sarcasm as an attack. I tried to keep everything as neutral as I can (I know I sometimes often don’t do a good job at showing it).
I hope you don’t mind me piping in as a new member and this was the first thread I saw.
Imho, all OS developers have aimed to create their own utopian system environment that always ends up leading to a restricted ecosystem with invitable shortcomings - hence forks. Irrespective of which OS a user chooses or is saddled with, the user has to inevitably accept/deal with the restrictions and shortcomings.
Windows is not strictly a single operating system - there have been and are a good number of different versions, all with different licencing and restrictions. Windows 11 as an example has 7 different variants:
- Windows 11 Home
- Windows 11 Pro
- Windows 11 Pro Education
- Windows 11 Pro for Workstations
- Windows 11 Enterprise
- Windows 11 Education
- Windows 11 Mixed Reality
Even macOS had two variants up until last year - macOS and macOS Server.
The beauty of Linux is that it decidely has all its variants and flavours.
The result is a community of like-minded people that appreciate that variety and are willing to support each other as well as help others. Can anyone truly imagine what it would be like if the whole of the Internet was reliant upon Windows?!
I have used many operating systems over many years and what I find particularly obnoxious is the drive by certain companies build obsolescence into their operating systems that drive unwitting users into having to replace perfectly servicable hardware (computers, printers, phones, tablets, etc), never mind mentioning the whole Right to Repair issue. Within Linux (Debian, in particular, among others) there is a clear aim to try to continue to support older hardware. That is one of many areas where the Linux community can hold it’s head up high.
In reality the vast majority of users don’t care what operating system is running as long as it works. As long as the user interface is intuitive they will generally get by.
However, I am doubtful whether a single flavour of Linux would be able to entice a much larger market share due to its historical “baggage” as being viewed as a complex OS optimally run from the commandline, not to mention the potential fragmentation and disharmony it would cause within the Linux community in the event one distro were to be selected ahead of all the others.
Sorry for the long first post. I hope I did not stray too far from the thread.
Just a note here, as a person working with Linux and legacy support issues; Legacy support costs money, and a lot of it. Let’s say a company dedicate three engineers for legacy support and each engineer costs $1M, that is $3M for something that does not generate any revenue. If you support one product for 10 years, that support is going to cost the company $30M. 20 year support is $60M. If we release one version a year, that means supporting 20 versions for $3M each = $60M a year. This was a simple example and assume no changes in wage costs or knowledge transfers, in general legacy support is on an exponential curve and costs very little at the beginning of the product lifecycle but costs a lot at the end.
Exactly how much support you should do for legacy products is up to each company, but for the most part, it’s not as much “planned obsolescence” as it is trying to not go bankrupt by supporting legacy products forever.
I do 100% think that if a community and potentially third party vendors can support legacy products independently of the company, that is a much healthier outlook on things though.
Sorry thread for adressing this tangent, carry on
I hadn’t considered it from that perspective. The cost of legacy support will also grow over time. Apologies for the oversight.
Legacy support is an interesting one. I completely get it. But after a certain length of time it doesn’t make a whole lot of sense anymore.
It is like the right to repair fight. I get it. I support it. But expecting Ford to still sell brand new parts and support for something they stopped manufacturing 50 years ago is a bit hard to take seriously.
There is a lot of middle ground between both extremes where society can settle on. And even if this is needed, there is always the option to license the manufacturing of these parts to others who are willing to support a small customer base with parts. Life is making compromises, unless you are never challenged to do so.
I enjoyed reading it and I agree. Welcome to the Community and keep up with interesting postings
That I definitely agree on.
They wouldn’t even if it meant the end of world hunger, the end of war, eternal youth and 15 trillion dollars
off topic about right to repair
The problem is not manufacturers supporting their old stuff, but:
- They don’t design a product that reuses the same components (which if done, kinda stifles innovation a bit, but it shouldn’t change so drastically every 3 to 5 years when a new model car hits the road with completely different parts), leading to an intentional shortage of parts (since others would have to scan and mil parts themselves, which is basically a whole reverse-engineering process).
- They purposely design cars to be as difficult to repair as possible, up to and including using specialized tools (like wrenches and tubular wrenches that are in-between standard sizes), so nobody can work on them.
- Everything in the car is a blackbox, you get no documentation on what the wires are connected to, what the connector pinouts are etc. They have the documentation internally, but they don’t make it public, which isn’t difficult to just copy it to a website, or better yet, make a torrent, so they don’t use much of their own bandwidth to serve the documentation.
- Some companies even outright sue people for selling parts for certain cars for trademark infringement of all things.
Not many are expecting the car manufacturers to make open source cars (although we should), but at least not making it such a pain to work on and find affordable components for (i.e. allow others to make components too), is it too much to ask?
In the case of phones and electronics, look how well PC motherboards are documented, compared to, say for example phones and laptops. You’ll get some details, like how everything is laid out, which components are connected to the chipset and which slots are directly connected to a CPU, the kind of chipsets and controllers on the board (like ethernet for example) etc.
Phones and laptops typically don’t have compatible parts, so they just become waste. And you can’t just keep running them by plugging them to the wall either (that would make really advanced security cameras with their fancy back cameras). It’s ridiculous in the first place that phones won’t start up at all plugged in, but without a battery, especially with USB C PD of today which powers freaking laptops.
As someone who spent 6 months working in auto repair in a past life people need to remember that the manufacturers do not want people to be repairing their own cars. That is a very true fact.
They also want and expect you to buy a new one. This is where the different between manufacturer expectations and consumer expectations comes in.
To bridge it back to Linux. I would say that why is legacy support not put onto the user who wants that support.
In the hot rodding world if a part is not available or there is no market for it the expectation is that you either pay someone to build your custom one off part for a cost or you make it yourself.
Nobody expects any company to have every part for an engine from 100 years ago. But there is an understanding that there are companies who can make those parts and if people want them bad enough and are willing to pay you can get them custom one off made.
For a cost. Or you make it yourself.