Every now and then you'll come across someone arguing that, instead of having several different desktop environments (Xfce, GNOME, KDE), their respective developers should team up to create The Perfect DE. Apart from the fact that this is just impossible, I'd like to argue that this fragmentation is actually beneficial. Benefits that go beyond "more choice".
Let's just assume that, all of a sudden, some magical mediator appears out of the void who manages to convince the developers of the several different open source desktop environments that are available nowadays to work together. Their goal: creating the perfect desktop environment and make open source operating systems kick ass.
In their quest for the perfect DE, the developers start to plan their new project. Apart from deciding what they will implement, they will also need to agree on how to implement it. Which toolkit are they going to use? Which programming language? Which version control system?
Obviously, this would result in endless discussions. Discussions that consume a lot of time. Time that could've been spent developing Great Software.
But even if they do reach a settlement and start coding, every developer will have had to give in on his/her (probably his :P) preferences. As a result, developing is less fun, which means the developers have less motivation.
What it should be like, however, and what it's like in reality, is that a developer works on a project he himself is interested in. This means this developer is more productive than he would've been in the situation described above.
Besides, competition is good. Different desktop environments will want to differentiate and focus on innovations. Projects can experiment with exciting new things while others can stick to traditional desktops for those who'd like to keep their habits.
Furthermore, with all this being open source, projects can easily make use of eachother's innovations and technologies. A perfect example of this is the relationship between Xfce and GNOME. Xfce's toolkit GTK is often being developed by GNOME developers, and thus innovations meant for the GNOME desktop also land in Xfce. And while Xfce, being the smallest DE of the three, might still be lacking in some areas, projects like Xubuntu can make up for the missing features by including GNOME applications.
In fact, you can also happily mix 'n match from all three desktop environments. Perhaps you like the customizability of Xfce's desktop manager xfdesktop, need the network browsing capabilities of GNOME's Nautilus file manager, and prefer KDE's AmaroK as media player - it's all possible.
All in all, calling for unity in the DE world is quite futile. Besides this being impossible without an supernatural mediator, it would not even improve the quality of the software.
Very nice article! Now if everyone read this maybe we could avoid some of the giant flame wars and get back to agreeing on how great GNU/Linux is over all! I prefer to use Openbox myself but I can certainly see the appeal in each of the big Desktop Environments. :-)
Exactly right. Competition breeds innovation.
We've all seen how Windows has led to stagnation on the old mid 1970s XEROX WIMP for 30 odd years, when with a bit of healthy competition we could have been using an all talking, all seeing, all reading interface by now.
Once the back room human interface developers stop trying to emulate the WIMP and start innovating with today's powerful CPUs and GPUs and let the cloud do the computing, the mouse and keyboard will disappear and something else will replace the current plethora of GUI managers.
When I first saw the article title I thought this was about filesystem fragmentation.
You have forgotten something. If there was one DE it might be easier to create viruses for linux, because there would be yet another common denominator. Graphical applications tend to be more vulnerable than cli applications.
I doubt the fragmentation of desktop environments would have much of an effect on virus propagation, for several reasons:
I agree, when you have freedom to work how you want, and on exactly what DE your passionate about, your chances of having an outstanding product are much greater than a robotic grind of people just going through the steps to get there piece of a meaningless project done.
And there is the Virus aspect and the innovation aspect, as someone has already pointed out a great example is Windows, little to no change up until Vista, and even that is already (Visually) something that has been seen in the GNU/Linux community for some time now.
spot on. with the different DE's everyone is catered for.
With windoze, you do things windoze way.
With mac, you do things mac way.
With Linux, you do things YOUR way.
Linux puts the personal back into PC.
I use Gnome on desktop and KDE on laptop. both same OS, but very diferent because of the DE's. windoze and mac, desktop and laptop its all the same.
keep them seperate and we all win.
This Linux Desktop discussion is a perfect example of the limits the bazaar style development has reached, mainly because going beyond the limits makes development less fun. It does not provide good design beyond that which is controlled by one person.
The problem with the desktop is not that there are too many of them, it is that they are incompatible from the developer's view. So, an application is either a KDE app, or a GNOME app, or does not use DE features at all. Things that must have a well structured layered design are a mess. Putting aside the fun of mixing both GNOME and KDE apps in one session, which makes me desire all of them were Java, just one simpler example.
There is an applet in KDE 3.5 that wants to configure network, that is, to handle my init scripts. It's funny how it attempts to do that and finally discovers that Slackware scripts are beyond its understanding. I am lucky it did no harm.
The first problem here is that there is no interface to the network configuration. The second one is that KDE does not acknowledge that and does not leave the network configuration alone. The third one is the design fault in KDE: applets are loaded unconditionally while an applicability test is necessary.
Just imagine what could be done with some discipline and Ruby being used for configuration scripts.
I know that things do improve, like having compatible clipboard in GNOME and KDE or fixing sound in the kernel, but they do so only under extreme pressure.
Desktop fragmentation is not beneficial, it is a sign of disaster. Linux is failing to switch from catch-up to leadership. Remember, this kind of failure resulted in 10+ years of economic crisis in Japan and crashed the USSR.
Your comment makes sense only from a commercial viewpoint, which is not the essence of Linux and open source anyway. From a community/development view, I think the article is spot on.
And don't complain about "design faults" which probably only affect Slackware. If you use Slack, you probably know how to fix it.
You're in Easy Mode. If you prefer, you can use XHTML Mode instead. |