To choose or not to choose....

One of the complaints I often hear from users new to Linux is the seemingly endless choices available. I'll admit it is confusing when you are presented with 10 browsers, editors, or email programs. And wouldn't it be great if there were only one way to install applications across all distributions! With out a doubt, it would significantly increase the usability of Linux, in general, if everyone used a best of breed installation process.

However, as I've said before, so I'll say it again. These dreams of the one "whatever" to rule them all within Linux and open source will NEVER happen. In fact, I believe that this diversity is actually a BETTER model. Ultimately, Linux and open source will continue to expand and there will eventually be a small ratio between the number of users of a particular distribution or application and the number of developers of that software. With more choices, we increase the likelihood of one of the choices meeting best what we want from our software.

Follow this logic for a moment, if you will. There are many reasons why proprietary software is worse than open source software, but for me the biggest contributor is the economics of software. An organization typically has a finite (typically small or moderate) number of people that write and maintain a product. What is their goal? Sell as many of that product as possible. This group can only write so much code, so their standard approach to sell more software is make the software do more things. If the software solves more problems, it will appeal to more people. Ok, so fast forward a bit and what do we have? Since the organization wants to maximize profit, they keep the developers to as small a number as possible, but they keep adding features to appeal to more customers. Before you know it, the ratio between developers and lines of code is significantly less than when the software was first written. Less developers and more code equals more bugs and crappy code. There is a word for software with too much code, bloatware.

In general open source is fundamentally better because the developer to code ratio typically stays higher. In addition, because the development is driven by the community that surrounds the software, requests for unnecessary features are typically ignored. But what about a developer who feels strongly about a feature that is ignored? She can fork the code and create her own version and add that feature. For someone new to these two pieces of software, it will look like two different applications. When in reality, it is nearly the same code base and one will have an additional feature.

Of course all of these choices do make our lives a little more challenging. How are we to manage all of the choices? How will we know which software is better? Which choice better meets my needs? What metrics shall I use to compare software? -- That certainly is a lot of questions, but I'm sure that this is just the tip of the iceberg. What shall we do to reduce the complexity of this choice?

As I see this we have two main choices. I've told you before, but with a slightly different context, you are either choosing not to choose or accepting the task of choosing. First, You can choose to leave the task of choosing up to someone else. Distributions like Linspire, Mandriva, and Xandros do a great job of choosing applications for those that do not want to make up their minds for themselves. I believe that more vendors will join this list. As the list grows, we will begin to see distributions becoming more specialized. I can clearly see the need for a graphics/web developer, a musician, a gamer, a CPA, and even different age groups all having their own Linux distributions. Vendors will expand out to meet the demands of the marketplace. When demand weakens we will know when there are enough distributions. In many ways, we've just begun this exciting growth.

If you feel strongly about taking control of your computer, then you will have to work your way through all of the seemingly endless choices. So where to start? I think the first place is with yourself. You need to fully comprehend what the path of control means. Assuming control of the maintenance of your Linux computer will be different than what you might have experienced maintaining Windows. I hesitate to use adjectives like easier, harder, more complex, more hands on, because it all depends on your perspective.

Whether you experienced it or not, learning some of the earlier versions of Windows was no picnic. With DLL Hell, the Blue Screen of Death, NT versus Windows, viruses and now with spyware, adware, and malware -- keeping a Windows machine operational can be challenging. Now on the other hand, building your own software, keeping up with software releases, permissions, and drivers -- mkae Linux a challenge as well. Let's face it, no matter which route you choose, maintaining your own computer is not for everyone. But for those who do choose control, I'd like to offer some help.

I believe your objective should be self sufficiency. While studying for my bachelors in computer science I learned probably one of my most valuable lessons. In the second course of a two part system design and development class, I was working with two other people on our system. Things were very intense and the team was running behind. Our final demonstration approached and I had finished my part of the system, but my two classmates were not ready. D-day arrived and although my code was ready, I couldn't demonstrate my piece of the system. We received an Incomplete and later finished with a D. After our demonstration the instructor leaned over to me and told me that if I had been able to build a driver program to demonstrate my code, I'd have gotten and A. Oh man, was I pissed at my self.

Later in my career as I pushed my developers and database adminstrators to become self-sufficient, it became clear to me that this experience in college had transformed my perspective on computers. Throughout my career I had pushed my self to become fully knowledgeable about whatever computers and software I worked with. And through much suffering, I asked the same from all of my employees. Now, if you chosen the path of control, I will also ask it of you. But as I said, I'd like to offer some help. So until we are finished, I'll structure various articles into topics that cover the most important tasks necessary to maintain your Linux computer. Hopefully, when we are done, we will all feel more self-sufficient and ready to make the right choices.

Kevin Shockey - Sun, 2006-08-20 21:13.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Software

Much of what has been said about software is true. The hardest part for new comers to Linux is not being able to install the software they want. For example right now I am preparing to install Suse on my new Dell Laptop. I prefer to use Thunderbird for my Email. But under the present conditions the only way I can get Thunderbird is in a Tarball format. I have been trying to learn how to install a tarball for a couple of years. Have received numerious ways of instruction but none to avail.
Why can't companies like Suse, Fedora, Gnome or KDE have available programs using their loading system such as RPM for example. New people moving from Windows to Linux are not experts on using terminal since in most cases it is not used any more.
Another problem is incomplete programs. GRAMPS is advertised as an excellent genealogy orpgram yet it took me 6 months to find all of the extra files needed to load the program. Because of this I will have to dual boot for one program in order to continue doing my genealogy research.
Some standardization is needed for distributors such as SUSE, Gnome or KDE that programs running on SUSE are avaulable to install on SUSE. Again this makes it difficult for new people who ask, "How do I load this TAR program when Suse or Fedora work with RPM's. We need some answers.

Herb Taylor (not verified) - Sun, 2006-08-27 17:27.

In response to Herb: SUSE Thunderbird install

In response to Herb: SUSE does use RPM and Thunderbird RPMs are available for version 1.5. You can install that quite easily via Yast. Easier than an installation on Windows in my opinion (once you know how it works). So no need to try installing from a tarball and make your life difficult. I'm sure that if you ask around on a SUSE forum people will explain you how to do this.
Never heard of GRAMPS (I'm not in to genealogy), so I can't help you there.

KR,

Sitor

Sitor (not verified) - Tue, 2006-08-29 02:44.

Thunderbird

Glad to know about the RPM version of Thunderbird, but were do you get it?? I have checked the SUSE site, Gnome, KDE, Mozilla and Source Forge but all I can find are Tarball versions.
I am getting ready to install SUSE on my new Dell and would like to find out this information before I install.

Thanks

Herb Taylor (not verified) - Wed, 2006-08-30 07:19.

RPMs

A quick "google" pointed me here. There are RPMs for SuSE 9.3 and 10.0.

Phil Hughes

fyl - Wed, 2006-08-30 08:54.

Thunderbird

I went to the site you mentioned and it is no longer a good site. Came up an error. No longer accessable. Any other suggestions.

Thanks

Herb Taylor (not verified) - Wed, 2006-08-30 18:53.

Mozilla T-Bird links. RPMs for Suse

Keith Daniels - Wed, 2006-08-30 22:26.