Opinion: Competition vs cohesion

Open Source

What's more important for the success of Linux: competition between the various components and projects involved, or co-operation to present a unified front in the battle for the desktop? How do we ensure a good balance between the two? Read on for Mike Saunders's entry for the podcast challenge, and let us know what you think in the comments.

Competition is good. Competition leads to better quality, more innovation and cheaper prices. For many years, we in the Linux community have argued that Microsoft's dominance, especially in the late 1990s and early 2000s, heavily stifled competition in the computing world and held back great new technology. When you go into a PC store and see nothing but row after row of Windows machines, you know something's wrong.

Things have improved in recent years, with more opportunity to buy machines pre-installed with Linux, and EU institutions keeping a firm eye on the Redmond giant.

However, competition is only good when it makes sense. I feel that in the Linux community, we often push the goal of competition too much when consolidation would actually be better. It's a difficult topic - we all want freedom, yet nobody should have the freedom to blow our heads off with a shotgun. So we make compromises.

I want competition amongst my desktop apps. I want Firefox and Chrome developers battling each other to make their browsers better. I want AbiWord to push forward with a fast and light word processor, making the OpenOffice.org folks realise that they have to do something about the bloat. I want a choice of music players, text editors, and why not, even calculators. This competition makes the Linux desktop better for everybody.

But user management tools? Network setup utilities? Package managers? Do we REALLY need to have endless variants on these programs that do exactly the same thing, yet only serve to make Linux documentation needlessly complex? "To add a new user on Fedora, click Foo Bar Baz... On Mandriva click Wibble Wobble Flump". No wonder that so many guides still explain how to do things at the command line. It's the only thing consistent between distros.

Linux would be a much more cohesive experience if all distros could settle on a base platform where skills are easily transferred from one to another. Having system-level administration tasks totally fragmented across the myriad of configuration tools that different distros use is crazy. It's massive duplication of effort, it makes documentation a mess and it puts off new users who want to learn skills that won't be made redundant if they ever happen to change distro.

There are countless analogies that can be used here, to demonstrate that at a base level, unity is often more important than competition. For instance, we all want to choose our own cars, but we accept that we need to share the same roads. We could sell bits of roads to different companies and have it so that certain roads would only work with certain cars, for the sake of competition, but it would be a disaster.

So let's enjoy competition where it matters - where people WANT to make choices. Where people actually want to compare programs side by side. But hardly anyone cares if Mandriva's package installer is better than Ubuntu's package installer, or OpenSUSE's hardware manager is better than Fedora's hardware manager.

These are base level, important system tools and we need to make these stable, coherent and the same across all distros so that Linux can be seen as a unified operating system at its core.

What do you think? Post your musings in the comments.

You should follow us on Identi.ca or Twitter


Your comments

Its already Happed

One (maybe the) reason Ubuntu is so popular is because it does just that. A new user does not have to decide between Gnome or KDE (or Xfce).

Web - its Firefox
Email - its Evolution

You get the CD, boot and it works.

So lots of people do things the Ubuntu way.

Welcome to the new standard......

Difference between a webbrowser and a network setup utility

Where is the difference between a webbrowser and a network setup utility?

Firefox developer want to get their product better than Chrome and this competition leads to innovation. So far so good but why doesn't this innovation work with network setup utilities as well? If Ubuntus developers have a great idea how network setup can finally be easy for the end user, they'll implement it to get better than other distros, right? Perhaps I'm missing your point but I think you don't explain why actually competition is not good for system administration tools. Yes, they all do the same and yet there are a big bunch of them out there but isn't it the same for webbrowsers?

Also, I think you might forget an important point: Competition doesn't always lead to diversity. Evolution is competition and we nevertheless all have two legs, not one, not four. My point is: If something is good, it will be copied by everyone else. So, the problem is not that OpenSUSE would not improve their network setup utility even if there are better alternatives. They would try to imitate the good points of Ubuntu's implementation.

I'm not calling you freedom hater, I'd just like to understand you point better.

Time for real change

Nice idea in theory, but not practical - can you really see RedHat/Suse giving up rpm, or Debian losing deb's? So assuming that there'll always be more than one package format then you need to move on. That said, I'd eagerly buy into a "pkg" toolset that _seemlessly_ allowed rpm's and deb's to be used (think apt-get with alien incorporated). And forget standardising windowing systems - Gnome, KDE, Xfce etc are here to stay.

As to system admin tools - I couldn't agree more - it's a horrific mess. But then again wasn't there a IEEE standard proposed for system administration environments? It failed, so what chance to mere users have? None! Personally speaking someone like the FSF etc should be looking at this. My suggestion - port IBM AIX's "smit" tool to Linux - it's fast, easy to use and helpful - and best of all available in GUI and text-based forms. So everyone's happy.

Alas, developers and users don't regard admin tools as "sexy" - when was last time you heard someone talking up APT v's the Windows way, or doing anything other than complain about Gnome's Network Mangler, sorry "Manager"? And if an area lacks "sex appeal" then developers will usually steer clear - unless it effects them directly, the "this bugged me so I developed this tool which I'm now going to share" approach.

Windows has, and probably always will have, a big lead in this area. They're able to use the monopoly to ensure that things are done consistently (e.g. Windows 7 admin is derivative of that on XP). And Microsoft's desire to hide the internals of Windows (because seeing an OS held together with duct-tape isn't inspiring!) mean that they've had to make sure that pretty much everything can be done via point and click.

Actually given that Linux is third on the OS list - how about patterning a new system admin suite on Windows or MacOSX (although given Apple's propensity to launch lawyers at all and sundry maybe avoiding MacOS would be sensible)? I don't mind really, just as long as the old command-line-based alternatives are still there.

Choice...

I believe that the majority of the linux's userbase agrees with the idea that, making the linux distro world more cohesive is great for general growth and stability, but it's difficult to choose which tools already in use by the different distro's are the best, or better yet... What will Gnome guys say if KDE tools are prefered by the decision making guys and vice-versa??? For cohesion to be possible, the distro creators have to take the heat from all the ranting and general grumble that their decisions would generate, stick with their choices and, make it work. This step is mandatory but a lot of good will, understanding and effort is needed for this to become a reality.

.. vs on the Fence

Competition is a good thing and does make for better applications in the long run. However, it may be more beneficial for distributions to standardise on a common set of admin utilities when using specific desktop environments, that way when we try to explain something to a new user we don't have to list explanations for the various permutations of distro/utilities.

If the users then choose to use a different app then good for them and they should be encouraged to do so.

We want different window

We want different window managers, different browsers and different distributions BUT there is a definate limit. I do not want to be incompatible with a package format it will be hard but it would be very nice if we standerdised this. I run arch linux. This uses pkg.tar.xz packages. I don't mind this package format. It works but so does a deb and so does an rpm. I think we need to lean towards having these more compatible with eachother. Yes lets have alien intergration in apt-get and deb2targz intergration into package managers like pacman. This will help us leed to a more standerdised base on which we can build on. I don't mind having community projects which want to do things differently but in the end the user generally wants something that works. nentwork manager, Wicd? I don't care they both do the job. I wish there would be more standerdisation but with the added OR you can use this which works better for this. I want to get to a stage where I can be running a LFS build and be able to install a deb or an rpm or a pkg.tar.xz or a slackware package but we have to cooperate and there has to be standerds. We now have a cooilition government. if conservitives and libdems can work together. I want debian and red hat to work together. One can be the deputey and they can both scrap some ideas. Linux is free. We want freedom butsome people just need a working standerdised system.

We need a standard that people can choose to go away from

And Ubuntu alone is not it. We need somebody like the Linux Foundation, for example, but not necessarily them, to put their foot down and select one of everything that will be the standard so that the majority of the efforts will flow there.

Any distro can deviate if they want to experiment and compete, but average users and business would know they can't count on it as being standard. Good ideas can still flow both ways from the standard to the experimental, much like things are now.

Look at Debian, and Fedora. Lots of people look to Debian as a sort of base that they branch off from, and RedHat, even though they deny it, uses Fedora as a testing ground before things become standard in RHEL.

One of the greatest strengths of open source is competition. In fact, it is our main asset, so we need to emphasize that over competition. Selectively timing when to do things and where to put your efforts is much harder and much more rewarding than just letting everybody throw things at the wall and picking the best of the worst.

Mistake

Meant to say that our greatest asset is cooperation, and that we need to emphasize that, but I used the word competition twice.

:(

Brilliant thought: multi-dimensional package labeling :)

Honestly, Linux needs both.

But reading this I had a thought: in the same way a package Debian goes from unstable --> stable, what if a package was also labeled from competitive --> cohesive?

like x.org is quite a cohesive project, vlc is more of a competitive project (considering the number of linux media players out there)

Such a label might help programmers decide where to focus their efforts: to focus more on competition/innovation or working to improve/expand on already existing projects.

"No wonder that so many

"No wonder that so many guides still explain how to do things at the command line. It's the only thing consistent between distros" - Haha... apt-get / yum / zypper /...?

@Prolific Puffin

That is all fine and well for you, but what about the people who don't want the choice, or for whom the choice would be prohibitive? My grandmother for example. I know the grandmother argument is cliche and lame, but that is because it is true. She can barley check email, and I am going to have to explain window managers, package managers, etc to her?

hmm...

When money is involved there is usually a lot of cohesion, say for instance how every body is forced into it by the big companies. For as long as the Linux world has nothing to brag about money wise then we are crippled and there is no cohesion. If Ubuntu, being the most popular distro around, could have a market share that can be bragged about then we will have a form of cohesion because developers will have a bigger platform for their applications, best in worst out. Also lets not forget commercial software vendors are starting to look at Linux especially with canonical's approach to deal making.

"Competition leads to better quality"

that whole "Competition is good. Competition leads to better quality, more innovation and cheaper prices"
can be seen every day in your local fried "chicken" shop.
Tasty pieces of chicken swept into a box all for 2quid.

@johnville

"He's insane, completely insane ...but he might... just be a genius."

Freedom means...

...that for better and for worse we can do what we want. Those who want co-ordination can get co-ordination. Those who prefer a free-for-all can have it. Surely that is the point of 'open source'---no one is locked in to any one else's preferences.

The only thing that has to be agreed is that (within the bounds of law), people can organise their use of code as they see fit.

Open source, as far as I am concerned, must not ever be seen as the 'succesor' to MS et al, but always an alternative. If people want to go that way they are free to do so and the option is open to them, but 'open source' will possibly always remain a 'sub-culture' rather than the 'main stream', because so many people just don't want to have to think about what they are using, they just want to do and to 'do' what everybody else is 'doing'.

Pseudo-profundity does it pseudo-profoundly again

apt-get install cohesion or rpm -i competition.rpm. That is the question.

@Everyone-pushing-the-Ubuntu-way

What about people who are not dumbed down to the point of preferring the "appliance-like" Ubuntu desktop?

I say appliance as the user has very little control on what you can do after installing it. Reeks of Apple-ism to me.

Choice is a good thing. I would not want to buy $BRAND of car just because its the "only" standard around, would you?

If you would, how about all of us start using Kubuntu? Surely, it gives you Firefox and Kontact!

History Repeating Itself

I am merely a linux user and FOSS supporter, but I think that the diversity is hurting the landscape more than helping at this point.

Right now the whole tech industry is heavily reliant on M$ and many proprietary formats and protocols.

As a result, our Open Offices or our RythmBoxes have to be able to open .docs and .mp3s.

This is just a tiny example, but I think that we do not have a free landscape to properly develop the free software that we desire.

I think of it as how the US (/British) colonists were divided by colony and they considered themselves free peoples. But it wasn't until they banded together to form the Union and clearly declare independance from Britain (a la M$) that they truly were free.

After the formation of the Union, the states have competed to improve themselves.

I think that the Linux community should do the same. Declare independance from propietary limitations together, and THEN focus on competition in a truely open landscape.

United we stand; divided we 'fail'

Also...

I would like to pose the question to Linux users and devs:
Would you prefer if one distro, Ubuntu for example, could magically replace every installation of Windows if it were possible. I personally think that I would prefer that, even if I was a Fedora fan. I think it would be much easier to sway someone from Ubuntu to Fedora, than it would be to sway someone from Windows, as is the current state of things.

Not Ready for prime time...

As much as I love Linux, it will be a long time before it's ready for prime time. I certainly agree that there has to be some cohesion between all the distros.
As mentioned above, some things will probably never change, such as rpm vs deb packaging, but a common interface for the two, would go a long way. I also like the idea of different window managers.
However, there are some things that could be easily changed that would help both the user and especially the developers. Things like having common folders for all distros. ex: some distros will have their 32bit libs under /usr/lib while the having the 64bit libs under /usr/lib64.... while others will have 32bit libs under /usr/lib32 and 64bit libs under /usr/lib. There seems to be a number of different folders that distros use that could consolidated into a uniform standard. This is (I believe) the same problem for package documentation.
I like the idea of having 3rd party developers compete, as it helps Linux (and the computer community in general) grow, but I believe having just simple folder changes as above would make life much easier for developers and should allow them to distribute software to a wider range of distros with much less headaches, hopefully making life for the end user much nicer (and making them much happier).
As I am not a Linux guru, there are probably other things that can be consolidated to help move in a more uniformed direction.

Divided we fail

@Torchstone, you should recall that before the states united, they fought a war between the North and the South that threatened to destroy the entire country, and was responsible for many thousands of casualties on both sides of the Mason-Dixon line.

If your allegory may be followed, perhaps we're still in the times of the North-South dispute, rather than the time of consolidation and collaboration.

I agree with Mike as far as he goes, but I don't see any immediate solution to the issue, nor do I have any thing specific to suggest either. It doesn't seem in the spirit of openness to insist that users be obliged to use something other than what they are used to? Another problem is that changing habits may be hard. I come from the days of lilo, and the change to grub was tricky but gettable, and now there's this new thing called "Upstart". You're left with a backwards compatibility problem but maybe that's less important. I've lived through changes of this sort, and usually the cream will rise to the top so we wind up with something better than before. Sadly, as I often say: "The scum also rises" ....

I mean, what can you do if someone suddenly comes up with a great new packaging scheme that is right, is "true" and is "the way" everything should be packaged from now on?

Most users are still going to be using whatever their package manager uses. And it is a detail that many newcomers to linux will find problematic to the point of being turned off because they can't get a specific program to work because it isn't in the requisite package format.

I don't know what's going to work for those newcomers, except to say that for many of us newcomers, we stayed and carry on for our own reasons, despite the drawbacks, and become "converts". Some of us even contribute back to the community.

Many in the community will get involved and this is a strength of linux, and has to be accepted as part of it's nature, if you like. Linux is still growing and eventually will reach a point where it works well enough and reliably enough for newcomers to make the switch. Maybe we're not there yet, but I have confidence we'll get there, just because I'd prefer to be optimistic.

Personally, I'm attempting to do some limitied deveolpment on my own system, but I'm using cygwin - actually MSYS now, and I want to try to get the environment to work reliably enough to compile some source code projects for Linux on this sort of a system. I was keen to look at cross-compiling as well. I've managed to get gnu tools and a basic gnu compiling suite (gcc, and stuff) but I feel like I need some direct contact with people to discuss various problems I'm having doing some really simple things.

My local LUG is on the verge of breaking up due to politics and doesn't have the kind of comeraderie that I once enjoyed so it's no longer a place to seek assistance.

With the advent of a WEB-2.0 mindset developing, it feels as if many more people are quite happy to leave it to "the cloud" anyway, so personal efforts such as developing in isolation are far less worthwhile.

In this locality at least, it really feels like there's very little fellowship and support, though perhaps I'm not making enough of an effort? The social comunity aspect of linux was always for me it's strongest point but now I feel left out and isolated. It would be nice to feel strongly associated with a group again, so I thought perhaps to get involved with one of the many projects out there. Now I have a sourceforge account, but I'm not used to the vast range of source code revision systems out there!!

And I'm still optimistic.

American history comparison

@Mihaly

I believe you have your history mixed up. I am American and cherish our history as well as the history of other nations believing that the history books on the shelf are always repeating themselves.

It sound like you are talking about the American Civil War, but I was referring to the American Revolutionary War.

Having cleared that up, I am thankful that with the Civil War, our open society abolished slavery (competition among an open landscape). One of the improvements that I was thinking about when I typed that comment.

Thank you for your response and further comment.

Comment viewing options

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

Post new comment

CAPTCHA
We can't accept links (unless you obfuscate them). You also need to negotiate the following CAPTCHA...

Username:   Password:
Create Account | About TuxRadar