Monday, April 1, 2013

Of Standards, Trends, and Shiny Things

by Dietrich Schmitz

I've been challenging the status quo of late--testing ideas--questioning assumptions--all to satisfy myself that things are the way they seem to appear.

The fact is, the Linux Desktop has been a failure.  Of all the diversity we see, only a few exemplars surface as noteworthy examples of state of the art technology with a high level of innovation.

I've used words like speedbump for Debian and cookie cutter for my dissatisfaction with the confusion that so many Distros engender.  There's nothing innovative about being a copy cat Distro.

We have Android and ChromeOS both to be proud of as a measure of what innovating is really all about.  Even Canonical's Ubuntu hasn't really gained traction in all the years it has been under development.

Both Android and ChromeOS got off the ground and to market production in a matter of only two years.  Both are truly unique.  Most users of both don't know they are using Linux.

I see another prospect emerging, SolusOS, which has garnered much interest and grown in popularity because it has succeeded in doing the fundamentals and putting aside being fancy like Gnome3 or Unity.  This is no cookie cutter Distro.

Still, the struggles of SolusOS founder, developer, +Ikey Doherty have been evident.  He realized that he was on a slippery slope, totally disadvantaged in getting things done in the normal community cooperative way of doing things.  For various reasons, the cooperation wasn't there by virtue of intransigence, political skirmishes, conflicts of interest and so he reached a turning point and summoned a new found resolve.  That resolve and commitment includes taking SolusOS in a new direction away from its Debian roots.  Specifically, he is writing a new GUI Consortium and integrating PiSi Package Manager on a new toolchain base independent of any other Distro or repository.  He is being pragmatic, carefully working through the technical issues and has succeeded in a workable viable product which is in its early stages of pre-beta development.

So, it is out of his adversity new opportunity has come, an amalgam of conviction, determination and courage as new innovative ideas form to challenge the status quo, the resistance.  Occasionally, something really good is born out of adversity.  I believe that to be the case for SolusOS 2.

I will bide my time to try it when it reaches solid footing.  In the meantime, I've asked Ikey to write and he agreed to share this story:

Standards, Trends, And Shiny Things

by Ikey Doherty

Not being a blogger, I'm not privy to the standard protocols. So I'll start the old fashioned way with an introduction. I'm Ikey Doherty, founder of the SolusOS Linux Distribution, and primarily a software developer. (Image right: Ikey Doherty)


Trends are powered by people. In terms of software, we find something that's either relatively unknown or met with a lot of competition. That said, once enough people jump on the bandwagon, the trend is born. People flock to this new software, spreading the news through the internet.
We can look at it the same way market businesses operate: Word of mouth. A friend of yours may have found a great stall at the local market, and you visit. If happy, you tell your friends. So on, and so forth.
Now apply this to say, Ubuntu PPA's. Would people be using Grive if not for trends ? Of course not :) Lets take OMG!Ubuntu for example, we could say it's a trend-setter in the Ubuntu world. Over time a project gains enough following through the Internet's equivalent of the real-world word of mouth. People flock to these projects and soon they become big enough to be part of everyday Linux life. Note the “Shiny Things” rule is also applicable here.


In my most honest point of view, I do not think that Linux standards can be planned. I personally believe that standards will emerge from working implementations. It's pretty fair to say now that the majority of Linux distributions ship with PulseAudio, despite so much resistance. In it's early days it was dubbed “the software that currently breaks your audio” . Now, a few years down the line, it is practically the standard audio server within Linux distributions.
PulseAudio has proven itself over the last few years, and has become standard by its own merit. This is an example of a working implementation becomes standard.

Planned Standards

Planning standards is much harder. Unfortunately many people make the automatic comparison with proprietary solutions. One I've often seen pop up on forums has been the comparison to DirectX. Let's remember that this is a proprietary solution by Microsoft put forth as their own standard for their own operating system. This is the standard given to vendors, and creators of games, etc, and there is no need for another.

Within Linux, we do not have a single vendor or The Distribution. We have our own ways of doing things, and thrive on variety. If one API doesn't shape up, another one is born. We have an ever changing and evolving set of API's available to us. They're not always designed as standards, which many do seem to forget. I have often seen on my own forums and IRC channel and assumption that because something has been created, it is an attempt by the developer to force software on people.
We can just say no. If the software doesn't prove itself? It dies. Or looses interest. A new alternative soon appears :) Before you know it, we have a working implementation of something that gains popularity, becoming a trend. Eventually the big distributions adopt it, and we have a standard. Despite the differences between distributions, we can actually already see many standards in place.
Polkit, dbus, udev, bash are some of the many already in place. For the majority of distributions we can expect these to be in place. Although GTK and Qt are indeed different toolkits entirely, its safe to say the majority of distributions still ship with these. So, as an application developer, I know I can choose either of these major toolkits and know my application can still be used.

Sometimes, however, the world reacts badly to change. A perfect example of this is systemd. This is literally the system daemon, offering far superior service management and integration of boot services, i.e. integration with dbus and now udev is part of systemd. Some distributions did not want to rely on or use systemd, and now udev exists in some distributions as eudev, or completely ripped from the source of systemd to stand freely. This is an example of where fragmentation really happens. This now has two directions in which it can go: Either systemd eventually becomes adopted by more Linux distributions and becomes a standard (through the trend/proving period) or we end up with many forks and implementations and complain about fragmentation :)

VHS & Betamax

I think one of the most relevant concepts to Linux now would be the video format wars. Betamax offered high-quality video recordings, allowing customers to play back their recordings at will. So did VHS though. Two competing products, essentially offering the same thing. Yet only one could win this war. VHS won for a variety of reasons, the most important ones being two factors: Longer recording times and cheaper units. Essentially: value for money.

So, given that most of the software we encounter in the Linux world is free, how is this at all applicable? Because the user chose it. You, the user, have the power to shape the world around you. If nobody uses the new software it dies away. Developers may create something through true inspiration, but eventually someone will be using it. And if it makes it past the trend phase? You've got that software to that point. And now we're at the mercy of the user. If our software is no longer doing its job, you won't use it. The word will not spread.

My market stall will be very lonely :)

So, in my closing remark, I say this now: Actively support the variety of Linux and open source. Think of each developer as a card in your hand. It's up to you the hand you play. Just as you wouldn't limit yourself to one card in a game, do not limit the developers and inspiration available to the world you are shaping.  -- Ikey Doherty

Enhanced by Zemanta


  1. I get the impression from your own text that you misunderstand what innovation is, and the very blog post you are quoting.

    Innovation != invention. Innovation is where existing products and ideas are improved upon incrementally. This is how the entire open source ecosystem works and is the whole point of the GNU GPL. There is good fragmentation (i.e. distros coming up with new ideas others will copy or adapt) and bad fragmentation (i.e. incompatible frameworks that lead to applications not working in the same way on different distributions).

    I think saying that only Google-backed Linux distributions are innovating is short-sighted. Just because you don't approve of other ideas yourself does not mean they are bad. You as the user have a choice of which distro you use - if you prefer Chrome OS or SolusOS then that's great and it lends credence to their choice of ideas. But saying other distributions aren't innovative or are 'failures' (particularly when in the case of Fedora & Ubuntu they have much larger userbases than either of those two distros) seems a little odd to me.

    And finally, I wouldn't count Linux desktop out yet. It's true that Linux has enjoyed most of its success on mobile, servers and embedded systems but there are grounds for optimism. First of all is that public services across Europe are increasingly adopting open source software, and Asian powers such as China & India are planning to do likewise.
    Secondly, a big complaint on Linux systems in previous years has been gaming. We're now starting to see companies like Valve and indie developers port their games to the platform, and both Unity3D & Unreal engines have been ported. GDC 2013 suggests we live in exciting times.

  2. Systemd isn't literally the system daemon, if it were few people would reject it. Unfortunately Systemd is the system initialization daemon, plus log daemon, plus device daemon, plus console authorization daemon, plus this, plus that, plus the other.

    Yes you can turn some of it off, but that's hardly the point. A system initialization daemon should boot and watch service states, it shouldn't do anything else.

  3. Yeah I know :)
    My point wasn't actually to attempt to sell systemd. Just one of multiple examples. Also I realise I perhaps worded "react badly" a bit wrong.
    I meant when software with good intention is hit with negative reception.
    I'm not saying whether its right or wrong, just literally showing that things can go from one extreme to the other. I'm not a blogger lol :)

  4. Fair enough. I have some serious heartburn with systemd, so don't mind me. /me wanders off whistling to hisself. ;)

  5. I'll be totally honest, I was completely thinking about your reaction when I was writing this xD