Friday, February 11, 2005

making the most of KDE on MS Windows

i just finished dinner and am too full of yummy food to feel like hacking at the moment. instead, with the lights turned low, i have Baraka playing on a monitor to my left and a cold beer in a glass to my right. as i sit here in contemplative contentment, it occurs to me that it is time to write a counter piece to my own blog entry that detailed the risks associated with porting KDE to Microsoft Windows. even though i wrote that blog over two months ago and even though it's still getting quoted by the media as recently as a couple days ago, i have yet to read a really compelling counter point piece. here is my attempt to remedy this.

it isn't risk free



when i wrote about this the first time, my desire was to get KDE developers talking openly and frankly about the issues raised by the MS Windows porting endeavour. i was concerned that many people in and around the KDE project had not really examined the risks as well as the benefits involved. i hadn't expected to spark a larger conversation outside of KDE itself, but i'm happy that that happened too.

there are very real risks involved with porting our desktop software en masse to MS Windows. i think most people in the community are now aware of these risks. a few refuse to acknowledge them, but at least the conversation has been had and our eyes are generally are more open because of that conversation.

but it is, to be frank, all a moot point: people are going ahead with porting KDE to Windows. KDE as a platform is robust and successful, and that inevitably leads to it spreading further and further afield. it was never my goal to try and stop the inevitabilities of our success. while it may be an odd concept, i simply wanted people to think about what was happening. by becoming aware of our actions we can mitigate risks and accentuate opportunities.

since KDE will be on MS Windows at some point, the only real question is: how do we make the most of it?

0. represent it accurately



we need to avoid hyperbolizing the capabilities of KDE on Windows. wait until it's there for us to play with so we can measure how good it is. keep in mind that there will likely be differences between KDE on Unix and KDE on Windows, at least at first if not indefinitely. installation, documentation, interoperability and other issues may not be very smooth. the last thin we need is to proclaim it to be the Messiah of Open Source only for it to be "just" another useful stepping stone. if we allow expectations to outgrow reality there will be a marketing backlash as people figure out that it's only good, not great (or only great and not messianic).

here are some commonly expressed myths which if spread widely will only make us, and in turn our efforts, look foolish:
  • myth: porting KDE to MS Windows will topple Microsoft! despite the number of postings to that effect on various web boards, KDE on Windows isn't going to shift the market away from Microsoft all on its own.

  • myth: KDE applications will be able to beat out competing MS Windows apps on day 1. sorry, Kontact will not replace Outlook on Windows this year.

  • myth: by replacing commodity software (web, office, mail, messaging, etc) with open source equivalents people will be able to move off of MS Windows! people are not held on windows for a lack of commodity software; they are held there by vertical applications, hardware compatibility and training/support concerns

keeping a level head will make us look good. speaking jibba-jabba will make us, and by association KDE, look incompetent and make people distrust us.

1. use KDE on MS Windows as a migration tool



we need double digit market share to become sustainable. with such volume we can attract and keep a healthy ISV market, ensure standards are not closed on us and allow us to engage more fully in defining the market place itself. with 12-15% market penetration we would find ourselves in a robust situation, though likely facing the most aggressive competition imaginable as Microsoft wakes up and smells the coffee. but we're not there yet. we could achieve those sorts of numbers with annual growth of 25-40% per year for 3-5 years. those are big numbers, and we need to push for them aggressively.

this is where having these tools on Windows can be a huge boon as they make it easier to migrate people from Windows to Linux. if we purposefully use these tools for such purposes, we can reap huge rewards.

note, however, that i'm not talking about using KDE on Windows as "bait". throwing bits of open source on people's desktops and expecting them to "get it" is, in the common case, wishful thinking. no, i'm talking about using KDE on Windows as one of the early steps in Linux migration projects.

2. developers, developers, developers!



we've all seen that video of Steve Balmer jumping about and sweating profusely while he hoarsely chants "developers, developer, developers" over and over again. this very successful man who heads up a very successful company wasn't doing that just because he wanted to look like an ass or because he was high on drugs (though i have to admit that's one of the first thoughts that springs to mind when i look into his crazed eyes in those clips). no, Balmer understands very well that the life blood of a platform are applications, and that applications spring forth from developers. therefore the most valuable resource for a platform are active developers. that funny, often shared video clip is our biggest hint to Microsoft's greatest potential weakness: developer retention.

many developers who work and learned on MS Windows have not been exposed to the Open Source culture and development mechanisms enough to truly appreciate the powerful paradigm that it is. many of them seem to think that they grok it, but most don't. by delivering a large body of Open Source onto the platform they are most at home on, we are opening up an opportunity for them.

as KDE on MS Windows arrives, we need to get this software in front of every Windows developer we know. get them playing with the code. see how many of them offer improvements, fixes, new features. encourage their efforts. help them understand how it all works and how they can get involved. open source is a (serious) developer's wet dream, and those are exactly the developers we want.

the number of Windows developers out there dwarfs the number of non-Windows developers. if we can tap into that huge resource we will not only bolster our own ranks and increase the pace of development, we will also draw off efforts put into MS Windows-only software: the software that keeps people beholden to Microsoft in the first place.

and once they are developing Open Source, what's the bet that many of these same developers slowly move over to Open Source operating systems to take advantage of the whole universe of Open Source software? well, if we give them a helping hand in that direction, anyways.

the outro



it's pretty evident that taking advantage of KDE on MS Windows means a lot of active involvement on our part. simply casting our bread upon the waters will not be as effective as we need it to be. understanding the very real and precarious risks involved with this development underscores how vital these efforts will be. but knowing the risks will help us avoid negative effects as much as possible and help us reap the positives.

i'm very happy to see discussions surrounding this continuing and growing, because it is giving us the awareness we will need to build a sustainable platform. let's turn these discussions to how to best capitalize on the trends. maybe start with a goal: 15% market share in 3-5 years. that's a good target, don't you think?

1 comment:

Exigentsky said...

Unlike Ballmer, I don't think KDE understands that developers are the key to the success of the platform.

Otherwise, we would see solid, up to date and intuitive developer DOCUMENTATION for KDE both in print and online. Currently, it is very very difficult for new developers te learn to pragram for KDE. KDE and F/OSS will not be a developer's dream if they don't understand the code and are frustrated.

Thankfully, some F/OSS understands the importance of good documentation for both developers and users. Python and Gnome come to mind.