Jul 05 2008
The wars are over, let the era of peace and prosperty begin!
In the computer industry, the pendulum of debate, innovation, and building infrastructure at one end vs building up complete and ready solutions on the other end keeps swinging every 20 years (more or less).
So here it comes, to the rest of the thinkers and planners and to the delight of the builders and engineers; the era of FLOSS
In this blog, I might sound biased or short-sighted. Its really just an opinion based on my day to day findings. Please don’t be harsh on me, if you want to comment, take me completely out of the picture and focus on the ideas and let them debate in a professional fashion.
In the beginning there was the operating system
In my professional view, GNU/Linux (and FLOSS) is the clear winner (over MacOs and Windows) …
GNU/Linux is not a prospect, or a great idea any more. its a solid fact on the ground. that is being used millions of people in mission critical systems addressing real life needs, both at home and at work. with an ever increasing adoption rate, the whole FLOSS era has certainly passed its childhood as being opted by hopiests and enthusiasts into being used in real life by real people wither individuals or organizations.
In a very ironic and unexpected fashion, Windows Vista is a great failure. It took too long to come up with, and when it came it was a disaster on two important aspects : performance, hence requiring considerably more hardware power to run, and stability.
This very incident is what probably gave GNU/Linux the time to get a head of Windows.
On the server-side
The FLOSS has the lead in adoption and innovation, this wasn’t the case few years ago.
Java et al has become fully open source; Groovy and Grails is second to none when it comes to agile web-development, Ruby on Rails started the new era of web 2.0 and RAD web development, Php is the people’s scripting language, Apache is the leading web server, MySQL and PostgreSQL have the full horse power to compete with the big boys and so forth.
The road a head is so clear to the point where there is no need to make any case for FLOSS on the server side. FLOSS offers a wide variety of options covering most of today’s needs.
No need for me, as a technology consultant, to ever think twice about choosing FLOSS vs Proprietary.
What about Open Solaris? That will surely continue to be the big brother covering up for GNU/Linux for even more critical situation. The relation between Open Solaris and GNU/Linux is not a competition, its rather complementary.
On the desktop/client-side
Within GNU/Linux there has been another war, the War of the Desktop Environments (DE) and the war of toolkits …
On the Desktop Environment side, I believe its time to declare that there has been no winner! ![]()
Not KDE nor GNOME.
KDE went into a very unpleasant direction with KDE4, its becoming more like the fantasy of its developers as opposed to being practical and usable. With the huge effort and long time (2years plus now) put on those fantasies as opposed to just upgrading its core tool kit from Qt 3.x to Qt 4.x means its not expected that KDE4 steers back to doing just that. KDE 3.x series was the best ever released Desktop environment on Linux platform.
GNOME has caught the infection, actually even before KDE 4 started. With the completely unjustified adoration to Microsoft … comes the Mono project. Which is - with all respect to the hard working people who made it happen - a shame. Most of the FLOSS working class who create software have realized that following on the heels of someone else is a never ending story, and will get us no where. FLOSS project leaders need to have independent thinking and a clear vision. Let alone the ugly heaviness of the Mono project and its apps, compared to plain gtk.
For my day to day use, I am relying on XFCE is my DE of choice, as it covers all my needs, and does a great job in letting me focus on the apps rather than DE. ( I used to be a die-hard KDE users for the past seven years)
XFCE is so close to becoming a winner and surpassing KDE and GNOME with bounds and leaps, when it comes to simplicity, and performance.
One important good thing that has been going on for the last few years, is freedesktop.org doing a great job in standardizing the desktop operation regardless of the running environment. All distros have also adopted dbus as their core inter-process communication engine.
Minimizing the importance the importance of KDE or GNOME and maximizing the importance of standardization. This is why XFCE was able to fit so easily.
Back to the basics, XFCE (or the like of a lightweight DE) along with Gtk/Qt only apps seem to be the natural direction. Given the fact that Gtk and Qt app run on the other platforms without much of a hassle. Application developer from the two camps (kde and gnome) need now to steer away from DE and back into being Toolkit centric; or at least offer that option.
Both Qt and Gtk only apps are fast and snappy and don’t require lots of depdency. Unlike DE Apps, which would require the whole underlying libraries and subsystems of the respective DE.
If I like konqueror why should I live with the kde dinosaur?!
As with the Gtk case, more and more Qt-only apps are showing (e.g. Speedcrunch, Aurora), some KDE apps are also supporting Qt-only mode (kchmviewer).
I tried those types of apps on GNOME or XFCE only environment and they are a breeze to run. No performance overhead, despite the fact they need to load Qt libraries, but this happens only once and doesn’t eat much memory.
In the debate between Qt and Gtk, and despite all the nice things Gtk offers. Qt is the clear winner.
Qt 4.4 is becoming the jewel of the crown in the FLOSS world, Qt 4.5 is expected to shine even more.
Last but not least, Qt being GPL’ed on all platforms eliminates the last obstacle of adoption. Remember, this was the very reason why GNOME started off from KDE.
I predict that Qt Apps will have a huge edge, presenting cross-platform open-source alternatives, every overtaking existing big names such as firefox and Openoffice.
- Web-kit based Web browser
- Phonon based player
- Office suite that natively supports ODF
- Simplified Desktop environment that is xfce-like, that runs on all platforms
- … and so forth
The very notion of becoming cross-platform is really important and intriguing; no more do you as an application developer limit your user with their choice of platform. hence giving your app a far wider base of audience.
Look at what OpenOffice and Firefox did. They are almost every where.
Same token applies on embedded systems, wither mobiles, sub-notebooks, modems and routers, media centres and so forth.
Conclusion
The important and strategic point to bear in mind is the peace of mind and durability of the software. All FLOSS software is being built to live far longer than its counter part. No fear of vendor locking or platform dying out. Being cross platform means both developers and users will feel better.
This year, 2008, FLOSS community has completed laying down the technology foundations for many years to come. The pillars and infrastructure is there, its now the time to reap the advantage and develop even more mature applications.
Investing in learning those technologies is a guaranteed one, and could only mean having the advantage.
That shift of mentality and focus is needed to make the next wave of change.
Does that mean innovation on those areas has reached its limit? no. but it means the pendulum is now shifting to building up applications as the infrastructure and its related thinking process is completed.
The road for the next years is clear for FLOSS to become the leader in the computer software industry. I am very optimistic on where FLOSS stands now and where its heading, having great confident that the best is yet to come.