Sunday, March 11, 2012

Practical Linux ... just my thoughts

    Ever since the early 90's, when I built my first Salckware Linux distribution from source code I have been fascinated with the idea of a free, open-source operating system. When you consider the very idea of an entire planet of free thinking people all coming together, without pay, to make something truly great it staggers the mind. That is, until you really get to the nuts and bolts of it.

    As I said, the idea is great and Linux has come a very long way since those early days. I even run an Ubuntu Linux server in my home. It has proven itself to be more than capable and very stable. It really is rare that I have to restart it; unlike my Roku box that I have to restart every two to three days.

    However, there is down side to Linux that will probably never be addressed: fragmentation. You see, the idea of literally millions of people all coming together on a project has a very predictable outcome, everyone thinks their way of doing things, their ideas, are best for everyone. The result? Splinter groups.

    In fact, this is the very model on which Linux is based. There is a distribution (non-Linux people can substitute the word "Version" here) for just about every need. There are desktop clients, Terminal Servers, web and email servers and even a version to power and control Unmanned Aerial Vehicles (UAV's). Yes, Linux is extraordinarily powerful and flexible. But there is a price to be paid. Isn't it always the way?

    Linux is still far to buggy and complex for the "average every-day" user. It won't run all of your programs and it doesn't play well with most games. For all of it's technical greatness, it is still an unknown to most people because of this.

    There is a very large mountain of data, help files, user forums, web sites and articles all dedicated to Linux in all its various incarnations. Sifting through that mountain can be (and usually is) a daunting task. There is also an ever increasing number of "standards" that exist both inside of and outside of the Linux community. Every time someone comes up with a "new" unifying standard, they have just added yet another standard. This problem is not uniquely Linux. All computer software manufacturers must deal with these issues on a daily basis.

    So what's the difference? In the Linux community, each standard is considered legitimate for consideration until the idea is either proven or disproven. For companies such as Sony, Microsoft, Apple and others, they have clearly defined tiers of leadership that can force the workflow into areas that may seem mundane, yet are vitally important to the overall goal of the product.

    Android is no different than the Linux kernel it is based on. Yes, Ice Cream Sandwich is out. But where is it? In fact the next two version are already slated for release, yet good old gingerbread still reins supreme in the Android app markets. Even Amazon has there own custom build, and the Department of Defense is working on a "Secure" version of Android. More fragmentation. More people saying "my way is better than yours".

    In fact, what most people don't realize is that there has been a successful version of Linux around for a while now. Sort of. There is a (yet another) variant of Linux called BSD. BSD is even worse than regular Linux (if there is such a thing). But it was helpful, to Steve Jobs.

    A while back, when Apple was looking to dump their own processor in favor of an intel based system, they built osX. While there is a lot of technical stuff to it, basically they stripped BSD down to its bare bones, just enough to boot a file system. They took this "shell" of an operating system and rebuilt all new tools and a new user interface and gave it what Linux has been lacking. Leadership.

    In fact, any Mac running osX can run just about any Linux software. All Mac's even come with the Linux X-Windowing system pre-install. Just look in your Utilities folder, its called X11. When I login to my Ubuntu box from my Mac, I can even use the command "ssh -X" to launch application that require a user interface remotely and view the Linux application on my Mac, just as of I was sitting in front if the Linux box itself. No emulation is required. No fancy software trickery.

    It just works. all because one man did something the Linux community seems incapable of doing. He made a decision.

    In conclusion, yes Linux is a fantastic operating system capable of extraordinary things. I even use it daily myself. However, it will never be a practical replacement for an operating system you have to pay for. You really do get what you pay for.

    Feel free to share your thoughts.

    Until next time ....