Shell's TechBlabber

…ShelLuser blogs about stuff ;)

Linux is a joke

Once upon a time the computer market was dominated by the commerce guilds in the form of Microsoft and Apple. Some people used computers in a more professional way and had knowledge of an operating system even predating the GUI’s, called Unix. Unix, although far more difficult to use than either Windows or a Macintosh, also provided a lot more support to actually “do” something with the OS.

If you wanted to connect two computers together with a serial or parallel cable in order to transfer files then all you had to do was buy software such as Laplink or Norton Commander. And the cable of course 😉 Only then could you make the connection. Because your operating system itself wouldn’t support any of that. Unix on the other hand didn’t have this limitation. The OS provided tons of different features, including the ability to connect computers using serial, parallel and network links.

This eventually inspired the creation of Linux. A free Unix-like operating system which would not suffer from the burden and oppression which was enacted by the powerful companies. It would be an operating system build by professional hobbyists for professional hobbyists and it would embody the freedom of computing; giving the power of computing back to the users.

And now, many years later, I cannot help but wonder if Linux hasn’t turned into the very same thing it protested against.

What do you mean ‘a joke’?!

I never said it was a bad joke or anything. But yes, if you look at the current state of the Linux operating system then I do see several aspects which I think are both quite funny and sad at the same time. Especially if you keep history in mind: the things which led up to all this.

To throw a more bold statement at you: Is Linux really that much different from Windows? Both the version as it once was, but also the Windows as it is today (Windows 10)?

I know, I know: Linux is unix-like, it’s freely available, provides tons more customization, provides choice of operating system, etc, etc. You can’t claim that about Windows. Therefor I’m not saying that both operating systems are identical or something.

But look at it from a broader perspective… One of the things people didn’t like about Windows was that it was dominated by a ‘peculiar’ company. In Windows things would change every so often because that made a good sales model: they had to do something to sell you the new versions after all. And they usually didn’t listen to their customers.

Yet in this day and age you can argue the same about Linux.

Commercial dominane

Linux is dominated by several companies (RedHat and Canonical in particular) and their will happens. If you don’t believe me then just take a look at systemd. It’s a replacement for the Linux boot system and violates the Unix philosophy on basically every possible level. It provides a “black box” which creates a massive layer of abstraction on the way things work (for example: files such as /etc/fstab are just simulations now, held onto for backwards compatibility) and with that abstraction also come tons of problems.

Basically: If you’re familiar with the SysV or rc.d way of booting (these are two very well known standards within the Unix world) then that is no guarantee that you’ll know how the Linux booting process works.

And even though you can’t speak of “one Linux operating system” because it actually doesn’t exist (there are many different distributions) they all have one thing in common: most use systemd. Even though many users despise it, even though it highly over-complicates things, its advantages have yet to be proven beyond any doubt yet here we are. Of course it really helped that systemd quickly worked its way into desktop environments (“GUI’s”) which started to build a dependency on systemd. Ergo: if you wanted to use those desktop environments you also had to accept systemd. And of course fully backed by both RedHat and Canonical.

I don’t know about you but this reminds me of a company backed operating system called Windows. See: as soon as a new version of Windows was developed it would also provide some very specific features for that one edition. For example a specific DirectX version. So software which was build for, say, Windows 7 could have severe issues with running on Windows XP. Many people protested against this because it took away their freedom of choice.

Did you know that RedHat is also one of the biggest companies which provides Linux training and support? No, not for free: all paid of course. And they also happen to be the mastermind behind the system which creates a huge level of abstraction requiring many people to re-learn the way Linux works. Hmm… “convenient”.

Freedom and hypocrisy

Unfortunately things don’t stop here. Most of Linux is governed by the so called GPL. The Gnu Public License which is an open source license used to protect the intellectual property of the developers behind the software. One of its distinguishable aspects is the rule that whenever you build something on top of using software which is licensed under the GPL then your end product should also be licensed under that very same GPL.

This is one of the reasons why many critics doubt the freedom aspect of the GPL because in a way it doesn’t provide 3rd party developers with a real choice. It’s either the GPL way or the highway. Which is still fair enough, the developers should have every right to do it this way because in the end it’s still their intellectual property.

But it becomes awkward when certain “open source companies” chose to totally violate and ignore the GPL and easily get away with that too. Take MySQL for example. It started out as an open source project (it still is) licensed under the GPL but soon also got a relicensed spin off for commercial purposes. Even though you’re not allowed to “just” change the licensing of your project according to the GPL.

Yet here we are (quote):

OEMs (Original Equipment Manufacturers), ISVs (Independent Software Vendors), VARs (Value Added Resellers) and other distributors that combine and distribute commercially licensed software with MySQL software and do not wish to distribute the source code for the commercially licensed software under version 2 of the GNU General Public License (the “GPL”) must enter into a commercial license agreement with Oracle.

… yet this totally violates the GPL (v2):

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

But that’s obviously not a problem when big companies are involved, especially if those companies do “good things” like developing open source software such as MySQL.

Blaming Linux for other people’s actions?

I agree that this is more of a licensing issue and not directly involved with Linux. Even so there is a relation because Linux was the force which gave us the GPL. And even though these companies violate the GPL they’re not being hindered in the slightest ways.

Yeah, and then I remember Sun Microsystems which was trying really hard to accommodate for open source, right up to the point that we actually gained access to the Java source code (Java had always been the crown jewels of Sun Microsystems), but only for non-commercial usage. This wasn’t good enough for Linux (or maybe the companies behind all this? I wonder…) and Java was basically shunned and OpenJDK was created. Maybe while heavily using the by then shared sourcecode? Who knows…

This even went so far that Sun’s Java runtime actually got rejected from inclusion in many Linux software repositories in favor of OpenJDK. Even though all Sun did was provide the source code to Java, but not in a way the open source crowd liked. And OpenJDK, in this stage anyway, plain out sucked because it wasn’t compatible in the very least!

So… violate the GPL in order to make a lot of money for yourself and there’s no problem at all. Make the source code of your commercial application available under a license which the Linux folks don’t like and you’ll be shunned.

Makes perfect sense to me! (NOT!).

Change because of change?

One of the biggest complaints which you sometimes heard from Windows users is that stuff changes between versions. People were used to finding a certain option in a specific control panel section but not anymore: the powers that be deemed it necessary to move that somewhere else. There are plenty who don’t want to bother with too many changes and only care to do their thing: start and use some programs.

Heck, why do you think tablets took off? It allows people to only do those things they needed and wanted to do. And without hardly any updates!

But Linux is also no stranger to this either. Heck, they don’t even mind if they change things which have always been a standard within Unix environments. I already briefly mentioned systemd but this rabbit hole goes much deeper than that.

Take for example network configuration. On Unix a well known way to configure your interfaces is ifconfig. InterFace CONFIG, makes sense right? If you want to check the so called routing tables of a system you’d use netstat, or maybe even route.

Well, no longer in Linux, we now have ip which basically does everything. Controlling your routing tables, ip addresses, policy routing, tunneling, etc. etc. One size fits all. And why? Good question. I can’t help get the feeling that this is all related to systemd as well.

And there are many more examples of this. All of that wouldn’t be so much of a problem, were it not for…

Horrible documentation

And finally the one thing which sets professional software apart from amateurs: documentation. The one tool which a user needs to use and become more familiar with the software.

Yet the amount of inconsistency and bugs within the documentation of a general Linux distribution is sometimes staggering. Here I have Debian 9 and well…

The manualpage for dpkg(1) tells me:

SEE ALSO
aptitude(1), apt(1), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5),
deb-control(5), dpkg.cfg(5), and dpkg-reconfigure(8).

Right:

peter@debian:~$ man aptitude
No manual entry for aptitude
peter@debian:~$ man deselect
No manual entry for deselect

So the manualpage for gdisk(8) tells me:

When used with the -l command-line option, the program
displays the current partition table and then exits.

Think so?

peter@debian:~$ /sbin/gdisk -l
GPT fdisk (gdisk) version 1.0.1

Problem opening -l for reading! Error is 2.
The specified file does not exist!

Aren’t you being a little too picky?

Well, considering that dselect got replaced in favor of aptitude years ago I have some doubts about that. And although I do agree that my comments about gdisk focuses on details it’s still a good example of documentation which apparently never gets tested or updated.

With documentation it usually is all in the details.

So what’s your point?

Generally speaking Linux suffers from a few specific traits:

  • Things change in the system “because”, even if it breaks backwards compatibility.
    • Sometimes things even change while backed up (‘dominated’?) by big companies.
  • Many aspects of the system have become very (too?) complicated for regular users.
    • This is why simulations exist such as /etc/fstab.
  • Linux has become a lot more dependent on GUI’s (that missing aptitude & deselect issue? Well, synaptic still worked, just too bad that it only runs on Xorg (GUI)).
  • When things change they don’t always get properly documented. In fact the documentation sometimes seems hardly updated at all.
  • And when things do go completely wrong and no one can help you out you’re often referred to paid support.
    • Most major distributions even somewhat count on you applying for commercial support.

And when I look at these points I think it’s funny because “back in the day” you could apply the exact same complaints against Windows. In fact, these were the points most people complained about and some even apply today.

In a way Linux has become that which Windows once was. And I think that’s both quite funny and sad alike.

Leading me to say that Linux is a bit of a joke, because it became the same thing it somewhat protested against when it all started.

I’m not saying that this is a bad thing, I’m also not saying it’s a good thing. But I do think it’s funny.

Advertisements

July 5, 2018 - Posted by | Editorial, TechBlabber

Sorry, the comment form is closed at this time.

%d bloggers like this: