Linux needs standarisation
04
March
Okay, here’s something that’s been going through my mind lately and I think it needs to be brought to the forefront, I think we need to discuss standardisation. Yes, that dreaded word.
While this seems like a bit of a non-subject, or even a mundane one, I still feel it should be discussed. First off, there are over thirty five different package distribution systems available out there. Thirty five! Just like the excess of Linux distributions, that’s just too many. I’m not saying we should suddenly end choice in the Linux world. I’m all for choice. But I’m also a realist. You can’t expect Linux to succeed in the world if there isn’t standardisation at least in this area.
It seems every Linux distro has its own way of configuring network access. For example:
Fedora: /etc/sysconfig/networking/devices/ifcfg-eth0
Archlinux: /etc/rc.conf
Ubuntu: /etc/network/interfaces
And that’s just the tip of the iceberg. I won’t even go into all the nuttiness that exists out there. Sure, there’s some standardisation across all the distributions, but it’s so little as to be difficult to spot. That shouldn’t be the case, ever. Because of that, each distribution, or distribution group has to have their own custom built version of a given application for their own version of Linux.
I feel sorry for the application developers who want to supply binary packages, and need to build sometimes dosens of packages for all the different distros and their various incompatible versions. Of course in real life they seldom do - so the poor user is faced with having to try and compile the application from source if a binary package does not exist for their distro.
Even the package systems are too diversified. As I said before, choice is good, but not on the core system, and packages are part of the core system. Sure, choice is important and choice is good. I very strongly support choice. But I’m a realist and reality says that sometimes choice can also be your own worst enemy. You can standardise the core of Linux, yet still leave users with all the choice they could ever want. And if we don’t start standardising at least the important things, Microsoft is going to beat us over the head. One of their biggest clubs against us is that we’ve got such a wide range of diversity, while they have a standardised one stop shop.
Really, seriously. Think about it. Who needs fifteen different ways to do network configuration? Or how about hardware detection? Why do we need some 100 different systems for hardware detection? Everyone should get together, pool their resources, and come up with one, two, maybe even three really, really good hardware detection systems and then have everyone use them. Or how about the directory file tree? I absolutely hate it when each distribution has its own unique way to do the directory structure for system and user files. Everyone pick one thing that works, and run with it. Don’t create a thousand unique ways to do things.
People shouldn’t be forced to do something ten different ways across ten different distributions. If you think it drives some of us nuts, imagine what it does in the corporate world. If Linux is ever going to become properly mainstream, some of our choice has to be surrendered. Why do you think Microsoft succeeded so well in the market?
All conspiracy theories aside, they provided end users with a consolidated, single platform which was universal and provided a one stop shop for corporations where other previous operating systems didn’t, preferring to each stick to their own unique and proprietary OS’s, formats, file systems, and more. People loved how Microsoft was consistent and compatible no matter where you went and which version you had. (Yes, they actually believed in cross program and cross OS compatibility at one time) But it wasn’t the home user that ended up making Microsoft so big. Microsoft targeted the corporate workplace. Apple went after the home and school market. You can see who won that war.
So if Linux ever wants to truly become mainstream, some level of standardisation needs to occur. Incompatibilities between distributions, the multiplicity in the ways applications need to be compiled to work on each distribution, and the variance of features across different versions is going to do more harm than good for us in the long term. I’m not saying we need to throw out all we’ve worked so hard for. But sometimes we have to give up a little to gain a lot. Isn’t sacrificing a little choice in the underlying system to gain the victory in the world market better than keeping the tangled mess we have now and ultimately loosing the war?
If we don’t standardise at least the core of every Linux distro, we’re going to find ourselves in a rather nasty place in the near future. Now before you pick up your guns and start shooting (figuratively I hope) at me or each other, let’s stop for a moment. All pride and egos aside, our enemy is not each other. Our enemy is a Redmond, Washington company who would like nothing more than to see choice wiped out of existence. If for no other reason, isn’t that enough to make you want to lay down the sword with your fellow Linux geek and try working together towards Linux standardisation? Or do you actually enjoy the idea of eventually having no choice in what you do on your computer? Think about it. If we don’t start working together and standardising things, that’s all we’ll have. One big bloated monster of an OS, a monopoly hellbent on telling you what you can and can’t do, and more headaches than all the aspirin in the world can cure. So let’s get moving.




