Monday, November 05, 2007

why betas, brother?

so in (very quick) response to my blog on shooting for the stars and hitting the moon, "Scorp1us" wrote:

, but I am concerned that these "Beta" releases are really alphas. I would figure that once the platform has stabilized, and "KDE4.0" "platform" is done, there is still a large amount of work putting together a complete "KDE4.0" "desktop". The difference between the "platform" and the "desktop" (in my mind) is that the platform is now ready for 4.0 desktop applications to be written in. When those applications are complete, then the "KDE 4.0" desktop can actually launch to the users.

Or are we just hoping that Koffice 2.0, plasma, and other Kore eKsperiences will be done at the same time and integrate seamlessly?


i figured i'd answer it more prominently with another blog entry because i hear this often enough and feel that it really does miss a number of fundamental issues.

before i get into it, though, with regards to "assume they'll integrate seamlessly" there are no assumptions being made at all. as we develop the software we're all keeping an eye to harmony and consistency.

so .. first off is the issue of how open source development works. open source development strives towards complete products, but it does not make every release a complete product. in fact, it can't. because if it just holds on and holds on waiting for some mythical completeness ... you get e17. if you release "early, often" you get dot-0 releases like the linux kernel (which usually suck in various splendorous ways), but you get the momentum needed through extended testing and 3rd party development to push towards a completed product.

what i'm saying is that we can't hold on to kde 4.0 until everything is "done", as Scorp1us talks about. to do so would extend the release cycle beyonds its already silly length and eventually bring the project to a grinding halt. releases are necessary to keep momentum, to keep discipline (esp amongst lib development) and to increase both testing and 3rd party development.

our proprietary competition hold on for years and do extensive beta testing and what not and then release a "finished" product (which, btw, usually also sucks horribly in its first incarnations *anyways*). most people don't get to see the stage we're going through right now with 4.0, because in a proprietary world that'd be what goes out on the pilot programs.

but i also take grand exception to the idea that "Kore eKsperience" (hehe) applications are not there yet. dolphin, okular, gwenview, konsole, kdegames, kdeedu .. shall i continue? they are all massive improvements over their kde3 incarnations and work rather well and stable right now. those efforts deserve both our recognition and support.

so i feel that looking at koffice 2.0 not being out with 4.0 (which is silly: they have 'always' had their own release cycle) or that plasma is so new, or that kwin is still making its way towards the composite holyland, etc, and gauging everything by that is to discount all the work the people have put into the other apps.

there is a metric ton of really great applications in svn today, which is another reason to get the releases flowing.

yes, 4.1 will be even more interesting that 4.0. that wasn't a hard thing to predict. how long have i been saying that 4.0 is a lot like 2.0 in that regard? many of the new usability guidelines will probably take multiple releases to become pervasive and we're bound to see improvements across the board (features, stability, performance). but here's the salient point:

without 4.0, and soon, 4.1 will not only be longer off ... it may well be put into jeopardy.

this is not to say that 4.0 is a compromise or a rush, but that 4.0 is exactly what it needs to be and what it can be. none of us have rose coloured glasses on; in fact, if you want to hear the harshest and most realistic criticisms of where the codebase is right now ask a real kde developer. they'll tell you =) that awareness is helping make things come together, but it shouldn't hold us back from releasing. it's been long enough, it's now time to get back on the release train and start making regular stops.

8 comments:

Anonymous said...

It's amazing how many people expect 4.0 to be the Finished Product: "Finished" as in "when released, will not see significant progress until 5.0", which flies in the face of the experience we've gathered from practically every open source project ever - KDE2.0/3.0, GNOME 2.0, Linux 2.6.0, etc.

I really wish that beineri's "Disambiguation 'KDE 4', did you mean 'KDE 4.0'?" Had been picked up and run with by other developers when it was posted - perhaps even being made into a dot article:
http://www.kdedevelopers.org/node/2600

Anonymous said...

PS

Tom Green you can get away with, but I think "Desmond" might be stretching it a little ;)

Scorp1us said...

*Blush* (I'm long-time lurker, and traditionally I've bugged Zack incessantly, but he didn't fill my needs, and so you get to deal with me now too) :-)

First, let me say that KDE4 stands to be fabulous work...

But what I am concerned about is the mis-match between the media attention that is sure to come with the release announcement and the user experience. Particularly due to the integer-part version bump. It seems that there is a lot of Qt 4.4 goodness to come (WebKit, Widgets on GraphicsView) and having these in 4.0 would lead to a more stable development platform in that the first release of KDE4 apps would have WebKit and WidgetsOnGV from the start.

Looking at your post about what krunners are supposed to do, this is brain storming and in my experience is done long before anything is labeled "beta" I figured that krunners would be a Kore eKsperience (thanks for the hehe, BTW)

I just have extremely high hopes for KDE4. I do have an agenda, and that is to kill off GNOME, so that we can defragment and get all of that talent pushing the platform forward. Now that the remaining Qt license issues are even more permissible (as of 4.3.1), the motivation for GNOME should be less than ever. Combine that with the ease of building KDE/Qt apps, I think it stands to become the predominant platform.

But what I fear most is 4.0 going out and every saying "oh, that'll be in 4.1..." I'd figure WebKit would be Kore and WidgetsOnGV would be huge for Plasma.

I of course understand software development as a process (I'm a Qt commercial developer) but I focus on the users too. In my experience, if you give reasons for them to wait to upgrade, people will. (4.1 will be more awesome -- ok I'll wait) and we seem to be doing that already. In truth, if you're releasing a version only to release the next version, you can save a lot of user heartache by just cutting waiting until you're really done the development that you want to get done.

But KDE is not my project, and I have no standing to criticize, as I've not been a Kode Kontributor.

Javier said...

Every time I see someone complaining about how KDE 4.0 is supposed to be amazing but they're not seeing it in the releases, I remind them that 4.0 is by far going to be the worst of the KDE 4 series. 4.0 is a foundation upon which we are to build, not the product that we strive for. So much has been rewritten since the previous versions that it's bound too not achieve it's full potential until a lot of extensive work is done. It's not until the later releases that we should see everything come together and reach the amazing software it will end as.

momesana said...

I think what is shocking the users is that they compile KDE4 from svn and when they login they have a desktop that is barely usable, or not usable yet. I do that every tuesday. It's getting better every week but the release is scheduled for dec/jan and that is not a lot of time.

I think the people don't expect a flashy desktop with kde-4.0 but something that is usable even though a little buggy and not rich in features. On the other hand, it was a tremendous task to replace the desktop with plasma in such a short time. I'm impressed to see that is really more or less stands.

Kde (better: plasma) as of yet is not finished. But there are still roughly two months and I hope it will be usable by that time. With usable I mean, a desktop that you can use on a daily basis as an ordinary kde user and it seems like the Kde devs will manage that.

No matter what happes, the codebase will be used for the next 6 years or so, so there is plenty of time to improve and extend KDE4 and we will have an outstanding desktop in a few years. The maturing Qt-4 series will add to this.

Ramsees said...

"I just have extremely high hopes for KDE4. I do have an agenda, and that is to kill off GNOME"

If take the energy directed to kill GNOME to improve KDE instead the, that would be more productive, because you want it or not, GNOME is here to stay.

Anonymous said...

I too can see how KDE4 codebase isimproving from week to week (looking at it through the eyes of a mortal user who relies on openSUSE's build service packages) -- at least, since 2 weeks some kind of desktop starts up after login, and there are a few usable plasmoids there.

This is a very encouraging sign, and all the hard-working developers need to be commended for that titanic work. I appreciate it very much.

However, I *still* fear that by the time of the scheduled release there could be a severe gap in what hype the media will perpetuate, what general user expectations there will be, and what level of *matured* user experience that release will actually deliver to the screens.

So while I won't question at all the release date (Release early, release often!) -- do you think KDE (the project community) is flexible enough to re-adjust their release numbering to "3.99" for KDE (the product) when it comes to KDE4? With a 4.0.0 release promised to follow within 3-4 months?

That way, you could have the best of both worlds.

Wouldn't this version number give you an entry spot to all the talking points you want your marketing team to cover?

It would be a real release, but remind each user regularly that it *may* not yet be what he expected from a 4.0 (but close enough).

It would be an inspiration to everyone who works on seeing a polished-enough 4.0 release ASAP (that includes all the 3.99 users who will be encouraged to report about rough edges and bugs...)

[Heh, and it would be an efficient "insurance policy" against all the trolls who'll come out anyway and denounce KDE as "immature", "buggy" and what-not... You can shut them up for 3 months by saying "Thanks, we know ourselves. Report back next May after the 4.0.0. please!"]

Anonymous said...

Well, i think KDE 4.0 will be perfectly finished for porting applications to the new technologies.

That's what i expect.