Search This Blog

Thursday, November 13, 2014

What do I want from my Operating System ?

What do I want from my Operating System?

This is a fundamental question that every person must ask himself before choosing an Operating System.

It is analogous to W.I.F.M. What is in it for me? Where as this applies to everything, our main topic of discussion is limited to Operating Systems only.

Let us examine this in detail.

In my experience as an IT consultant over the past decade, I have learnt one thing and it applies to everything in our lives. It is the very basis of our own day to day work, or simply put how we live our lives. It is so important to the society that it is very Important to understand it very early in life.

" Everything in this world has a use case where it fits the best" 

What does it this mean?. This means everything in the world has its own quique place.I am not generalizing this, I am just says in the eyes of every person in the world, everything has a place, and it all depends on what choices an individual makes with respect to the entity he is deciding for.

Lets look at it from a Linux user's perspective or for that matter a general computer user's perspective.

There are different types of computer users in this world, based on what they use the computers for.

For example, someone who just uses the computer for simple things, like surfing the net, writing a few documents, or using one or two fixed applications that he needs for his day to day job. Such a user in my mind is a Task Worker.

There are other users who like to install applications on their systems, or want to theme their workspace on the computer, People who know how to work with the computer and how to modify the installed programs. I call them Power Users.  They might also want to Play a few games, Just for fun  very basic though.

Another type of user is the one who knows a computer system in and out, this user can code, write programs, knows how to add/remove programs and how to quickly setup his tools. This user does not really care that much about changing the system configuration just for fun. This type of user will change the configuration to suite his needs and then let it be. I call such users Developers.

There is yet another Class of people who take pride in knowing everything about how the system works. How the different components work together. These people don't hesitate in reinstalling their system and trying out different operating systems, just to gain enough knowledge about the system. They are kind of Impatient and always want to try out new things. They tend to use Virtualization a lot, and they might end up reinstalling their production OS sometimes. They do this out of professional requirement as they might be supporting such systems at work, or they might do this for fun.

These I call SysAdmins. These guys also want a stable Operating system however they have a tendency to  distro-hop.

In addition to the above there is one more class, GAMERS. who don't care that much about the underlying OS. For them whatever gives them best gaming performance  and choice of different games, they tend to stick there.

So like I said in the start it is very important to understand one's use case for a computer system, that is what is the most helpful while choosing an operating system. We need to understand only one thing "We use computers for a purpose, We need have a clear definition of that purpose, Then we can choose an OS that fits the requirement"

We should be able to decide whether we need Windows Mac or Linux based on our requirements. Every operating system as a learning curve, whether it is windows, mac, Linux or for that matter your own android smartphone, we need to learn the ways it works. we need to understand the navigation and management of the platform, how to keep it fit and running so it can serve the purpose it is intended for.

Another major concern while deciding the Operating System of choice is how much is it going to cost?

We don't want to be paying for anything that we are not going to use. Extra features in an OS is great but waste if you have no use for them. You get an OS that can do everything and you pay through your nose. You don't necessarily consume all those features, then why pay for them. It applies both to hardware and software.

We don't mind extra even if we don't use it, Only one condition, it has to be free and we need to have the freedom to keep it or throw it away. This applies to all software and operating systems we use.

There is no way a proprietary OS will let you have this freedom. The reason is simple, they have to make an OS which does everything and then charge you for everything although you really don't need everything. "Your OS is capable of using touch screens and standard key board interface, It can run on Tablets and PC both, so you pay for having both." 

Excuse me !!. I don't give a shit !, I don't have a touch screen device and I use Keyboard and mouse only on my Desktop PC.

Why should i pay for the whole when I only use a part !?  Plus I can't remove the unwanted junk. I can't see the source, I can't change anything about it. This is 100% true about any Proprietary and Closed source OS. I end up paying for the whole package where not all of it fits my use case, it is way more than my use case sometimes.

So we know that the Proprietary Operating Systems are sometimes way more than what our use case dictates. I don't say that it is the case for everyone.These Operating systems are built considering the maximum, they put all the features so that the user's who really need them are happy and they could sell this to the user's who really don't need it. Just an up selling tactic, considering most user's are not that tech savvy.

Anyhow enough of this, lets talk about the solution. The solution is simple, use Free and Open Source Software, User GNU/Linux or BSD etc..

So what do I finally need from my OS in addition to not paying anything.

  1. Freedom.
  2. Choice.
  3. Flexibility.
  4. Stability.
  5. Security.
  6. Support.
  7. Hardware compatibility.
  8. Games.
  9. Virtualization.
  10. Applications.

These are mostly the basis for deciding on an Operating System for your PC, While each item is equally important, however the last item, Applications, is what can make or break your day. A system has to be reliable, secure and stable however you need applications to do your daily job. If you don't have applications and everything else, how are you going to manage your job.

Historically Proprietary software has huge software availability, most of the people want to make money with their software hence they write proprietary software for proprietary systems. There Operating Systems have collaborations with Hardware Vendors for software compatibility and also with Systems Manufacturers which ensures to sell them as pre-installed on their Systems. Hence we see huge software availability for these Operating Systems, they are better supported by hardware vendors and they are very popular as they come pre-installed on systems.

The irony is that despite paying for the OS, We can't use it on any other computer as it does not come with an installation media these days. There is recovery partition which has the code to restore the OS the factory settings.We only get the OS and a very few basic applications. Most productivity applications are chargeable. Like Office suites, email clients, collaboration software etc..

We can overcome all this if we are aware of our use case and what we are going to use the systems for? We can make a choice and not choose the Proprietary OS and go for Free and Open Source OS like Linux.

Can GNU/Linux provide me with what i need? Can it fit into by 10 broad requirements?

Answer is Yes Very well and way better than Proprietary Operating systems all areas Except 8 and 10. Where we still have some work to do and we are trying to make things better.

More and more games are coming to Linux Courtesy of Valve and Steam Client. We have more than 700 Games for Linux at the moment, We are going great, Valve has based their Steam OS on Debian GNU/Linux and not on any Proprietary OS. This is a huge indicator of potential that GNU/Linux has for Gaming and its future.

As far as Applications are concerned, We have a free and Open Source alternative to almost every popular non-free Application. Most of them will get the job done for us. However we definitely need to Improve in the area of Productivity applications like Office Suite and Email clients which still have a huge opportunity for Improvement. They are still not 100% fit to compete with the proprietary office suite and Email clients. We also need to improve out collaboration software.

With that said and done, I can say with 100% confidence that GNU Linux meets all my needs and I am very happy with it. It is also true that GNU/Linux is 100% fine for personal use and gaming at this time and also 100% good for enterprise use for the most part if not the whole segment, Google uses a modified version of Ubuntu that is a sign of acceptance in Enterprise environment. Linux is not there for the Desktop, yet I know but I also know that it will be there soon and I want to see it succeed.

Everything I wrote in this post is about Desktop Use only. We all know that on Server side, Linux has already WON !!

In my next post i will detail how GNU/Linux meets all my 10 requirements.

That is it for today, Please feel free to comment and share your feedback.