Monday, 25 September 2017

Why this is not the year of Linux

The success of operating system is directly linked to two features or main points. They are "user experience" or how easy the OS is to use and the second feature is development. The rivals of Linux get them mostly right. OSX is (or has been, this seems to be changing recently) easy to use, no one can argue about that. But I think OSX has big problems in development which is focused on Apple's way to do things and make everything else really hard. Windows is the biggest OS, because it has good user experience and also it's very good as a programming platform.

Linux users can argue about those points, but that's all you can do actually. Numbers don't lie. The small amount of "regular" (non-hackers) users are result of GUI versions of Linux that try to implement the user experience part. Casual computer users don't care about compiling stuff from source and updating libraries or whatever. They want to use programs. I've been programming over 25 years and just I want to use programs. I don't want to compile them or figure out what is happening in the OS itself. Another part of the problem is the way open source has failed to give us programs that are on the same level with commercial software, or even better.

Linux programmers seem to live in the same kind of haze than its users. They say how programming is really easy in Linux, but they use technology from 1970's like makefile. Everything changes all the time so you need to compile everything and watch out for library versions, compiler versions etc. Open source itself is an ideology which doesn't work in reality, because most developers want to keep their source code closed and also sell programs which means they need to be compiled into an executable that works in most versions of that OS. The open source ideology is the biggest problem Linux has and it's just as ironic as it sounds.

It's human nature to make everything more complex that it has to be. We can see this in computer technology and in operating systems for sure. They are bigger and spend more resources with every new version, but give us pretty much the same features. Somehow we fail to make things simple from both user experience and development point of view. Maybe we are too smart to create simple things.

1 comment:

Makis said...

Why would a coder working for someone else want to keep his code closed source? Unless of course that coder is not very good at coding and doesn't want others to know. Companies do often want to do that as the source is the basis of their business model. Yet there is an absolute fukton of open source code from companies big and small. Pretty everywhere else Linux has already won except on the desktop. For instance the ratio of Linux and Windows servers must be at least 10:1, probably much, much higher.

For a casual user Linux doesn't offer enough to counter-balance the huge application library that Windows has. People don't use operating systems, they use applications. And there are plenty of application types where Windows is clearly better. Programming is not one of them. Just because you failed to understand why programming in Linux is infinitely more enjoyable doesn't mean it's better in Windows. It's for instance much easier to automate things in Linux thanks to the superior shell integration. This does obviously require that the programmer learns new things. In fact the mere thought I would have to work in Windows makes me shudder. At my company ten years ago development was done in Windows. Now practically every developer uses Linux.

Casual users don't need to compile programs. That argument sounds like it came from someone who last used Linux in the nineties.