From kde-core-devel Sat Mar 09 12:03:28 2002 From: Dirk Mueller Date: Sat, 09 Mar 2002 12:03:28 +0000 To: kde-core-devel Subject: Re: KDE Development Policy X-MARC-Message: https://marc.info/?l=kde-core-devel&m=101567612207504 On Fre, 08 M=E4r 2002, Neil Stevens wrote: Hi,=20 > 1) Packages missing from the release entirely (1) That was correct for a few hours after the rc1 announcement, in which I too= k=20 a round of sleep. I fixed the problem immediately after waking up and=20 talking with Stefan Westerfeld for coordinating the version number increase= .=20 > 2) Rampant compile problems Like ? Indeed there are problems on non-gcc platforms, which made us require=20 updating the admin directory to a newer libtool version. However, thats you= r=20 point 3 already.=20 > 3) Last-minute changes to build requirements that cannot be met by > many developers without an operating system upgrade (2) Sorry? Let me put the facts straight:=20 - The libtool update got necessary because of the RPATH encoding problems in the previously using libtool version. Furthermore the previously used libtool version was a dead end as well. It was the heavily=20 self-patched version of a forked version of an outdated libtool=20 development branch that never made it into any libtool release IIRC.=20 - The libtool update was indeed very late, thats correct. But you have to remember that the _preparation_ of the update took some time as well (integrating libtool HEAD, fixing all the bugs in it, testing compilation under many setups). I personally can not judge about if this step was "good" or not, but I have to trust Michael Matz and Stephan Kulow upon this decision.=20 - the libtool update does _not_ require an operating system upgrade.=20 autoconf is a perl and m4 based package of less than 1MB size in source.= =20 compiling and installing it takes less than 5 minutes, it is compilable out of the box on about each and every broken system you can think of.=20 Furthermore many newer distributions ship it by default anyway.=20 If you upgrade your operating system instead of updating autoconf its your decision and not forced by KDE itself.=20 - The build requirements update was a step to do anyway. We simply can not keep the compatibility with autoconf 2.1x and 2.5x over a longer period of time. For my personal opinion, adjusting the build requirements is better done for a major release like 3.0 instead of a "normal" release like 3.1.=20 - autoconf is only required during make -f Makefile.cvs, which is not=20 supposed to be run by the user who compiles KDE from source. They will download the tarballs and configure it just like all the tarballs before,= =20 even if you have an older version of autoconf.=20 - If you think about it, almost all Linux distributions had to replace our outdated build system because it did not support many of platforms people want to use KDE on, like ia64 in example.=20 - If you really consider the libtool update to be a problem, then feel free to:=20 a) fix libtool to work with older autoconf versions b) maintain an "admin.old" directory with the older checkout for people to download and use. However I almost bet that replacing the admin dir before compiling is even more work than updating autoconf. > 4) Many outstanding bugs (3) Again, let me put the facts straight: - The incoming flow of bugreports is greater than=20 the rate of fixed bugs for quite a while already. so its quite natural that there are many outstanding bugreports.=20 - Many of the incoming bugreports are reported against KDE 2.2.0 or 2.2.1 and not reproduceable with CVS HEAD any more for quite a while.=20 Do you really want to delay the release of 3.0 even more to collect even more bugreports about "obsolete" KDE versions that almost nobody (except Laurent from Mandrake) develops against ? - If you have a look at bugs.kde.org, you will realize that the amount of open bugreports went down rapidly during KDE III meeting. With the exception of khtml, which has about 800 open bugreports, and konqueror with about 380 open bugreports, every package has less than about 50 open bugreports, with many many less than 10 open ones.=20 Except for khtml problems I would say KDE is in a pretty good shape=20 right now, if you measure it by looking at the amount of open bug reports= .=20 - With the size of KDE and the amount of apps and the amount of users its unrealistic that you will reach the "open bug reports =3D=3D 0" aim at _any_ time.=20 If you have a better solution for scheduling the KDE release for a time whe= n=20 there are no open bugreports (or a way to achieve that), please let me know= .=20 > 1) When users and developers cannot build KDE, they cannot test KDE Those who can not build KDE and think its a KDE problem, should report the= =20 problems so that we can fix them.=20 > 3) When the credibility of the KDE release policies are called into > question, users and developers are less likely to feel that > testing is of value, and stop participating. Okay, this might be painful for you to realize now, but what do you think w= e=20 should do? update it after 3.0 ? screw kdevelop users who will not realize= =20 that their next minor update will have a new admin directory that is=20 incompatible to their older one ? Wait for 3.1, which is probably not to be= =20 out before christmas ? Screw all the platforms then that need the newer=20 libtool ? The only solution I see currently is providing a "configure" script for=20 "make -f Makefile.cvs", that will pick up the "right" admin dir. I will ask= =20 Stephan and Michael to consider this.=20 > The credibility of the release policies are further damaged by the > manner in which the decisions are made. For instance, the major > change to libtool, there was a minimum of discussion, with no > compelling bugs or reasons shown for making this drastic change.=20 There were always major changes in the build system before a release to overcome certain platform incompatibilities.=20 > The only remedy left for these KDE 3.0 ailments is to apply a "hard > freeze" to the KDE 3.0 source, release a third beta, to begin allowing > serious testing of KDE in real situations. Well, I'm actually doing that. Maybe even more people. I can't "dictate"=20 anybody to do that though.=20 > For KDE 3.1, however, more can be done. Having identified the > failures of KDE 3.0, we can trace the causes of these failures, and > avoid causing them again. As was already stated, the difference > between KDE 3.0 and recent releases has been changes in the "freeze" > policies in the period leading up to the final release. Again, let me put the facts straight:=20 - KDE 2.0 development was in large ways different to KDE 3.0 development.= =20 There were _big_ architectural changes in kdelibs. We had to concentrate on getting it to work a lot more than with KDE 3.0, which is basically a port of KDE 2.0 with a considerable amount of fixes and improvements, but no major achitectural changes.=20 - The mail with Waldo / Mosfet you quoted in your mail was _exactly_=20 about _long_ _freeze_ periods and the way it annoyed the developers.=20 Therefore I tried to learn my lesson and made the 3.0 release schedule more open for developers. This was for example the case with the feature plan and the shorter "deep freeze" period. I do want to give the=20 developers a bit more freedom, to keep them happy and not feeling pissed by my "the release coordinator has spoken" - rants. Maybe I was too loose this time, so probably we find the golden way of doing things for KDE 3.1.=20 - I'm really pragmatic about the freeze. I do see commits on kde-cvs that I "don't like" either, but I usually don't try to rant the people, but instead check out the diff and try to review it. I actually do find bugs in the commits then from time to time, but usually I don't, mainly because I'm not familiar with the code in particular.=20 In my opinion, if more people would do the same we would have a much higher level of quality ensurance than enforcing with brute force a=20 "freeze period". the code doesn't fix itself nor does it become better if you don't touch it for a while. the stuff only moves forward if there are people who are motivated enough to constantly _push_ _it_ _forward_ instead of let it rot in the state it is.=20 Unfortunately I see far too few replies to "broken" commits on kde-cvs, but again I'm not in the position to change it myself. I'm not a=20 dictator of KDE and I don't want to be.=20 Therefore, a freeze=20 period is supposed to be a "mental barrier" for developers to make them think "lets make sure it works" instead of "lets implement this new cool feature". It doesn't necessarily mean that the amount of commits is going down, at least not IMHO.=20 > >From the time of one week before KDE 2.2, until the final release, all > changes to the source had to be reviewed on the KDE mailing lists > (save, of course, trivial changes whose differences are included in > the log message). (4)=20 The same is currently happening as well. Of course there are some patches= =20 that are so obvious that they don't require a review (this is a difficult= =20 rule though. as somebody might think something is safe while another one=20 knows that it will horrible break things).=20 > The justification for these changes was > explained very well by the KDE 2.2 release coordinator Waldo Bastian > in a mail to the developers (5), in which he said "[Y]ou will have to > respect release freezes" if you put your code into KDE. Hmm, I always tried to express that more gently, but if you find Waldo's=20 mail okay, I will quote it in my next regular-rant mail ;) > In contrast, the time leading up to KDE 3.0 RC 1 is best described as > a flood of un-reviewed changes to the sources. (6)=20 I don't agree here.=20 > The flood was met with excitement, to be sure, because the flood=20 > came from a rare opportunity for roughly 20 KDE developers to meet in=20 > person and develop. This opportunity was not to be passed up, but it=20 > could have been handled differently. I'm sorry. But sitting together in front of the same computer and hacking= =20 and discussing the same sourcecode is a lot _more_ efficient than making=20 a patch, posting it, realize there was an error in it, and then remake it.= =20 We were also greatly influenced by a tool that allowed to rebuild KDE in a= =20 distributed way. this way a complete KDE rebuild only took a few minutes=20 instead of several hours. I understand that it might have been difficult to= =20 keep up witht he commit rate at that time, but still I think it was worth= =20 it, because KDE benefited from it over all.=20 Remember, putting so many developers in the same room also made us realize= =20 regressions _much_ earlier. For example people were notified about errors i= n=20 their commits within a minute range instead of hours/days range during the= =20 usual "development".=20 > If the developers in in the meeting felt that avoiding the mailing > list was the best way to maximize use of the meeting, then they easily > could have proposed a delay in the KDE 3.0 release, to allow for more > time to stabilize after the meeting, to allow for testers to catch up > with their time of great productivity. Well, the 3.0 release dates are not fixed, they are suggestions. In general= =20 it will be delayed when necessary (that is when people indicate in mails or= =20 irc messages to me that they urgently need more time).=20 If you remember, you suggested a delay of 3.0 release by one week, and it= =20 happened afterwards, didn't it ? Is it not okay that I don't decide this on= =20 my own but instead wait for people asking me to actually have more time ? > Some have suggested a failure in the community-recognized leadership > of the KDE 3.0 release. While Dirk Mueller is respected throughout > the community, his ability to step in and enforce the policies and > release plans that everyone agreed to in the past has not been shown. Sorry ? Isn't it _you_ that is asking for _changing_ the release schedule that we= =20 agreed on before ? Again, please remember that I'm not the one who will sit there with a loade= d=20 gun and waits for somebody breaking the schedule. If you want a dictator or= =20 a person who manually confirms every commit or every change to KDE, then I= =20 am not the right person for this. In addition I claim that you will find=20 nobody else in the KDE developer community that is going to do that and wil= l=20 be accepted. So, as a result of that, all I can do is trying to keep the=20 people reasonable and establish the communication between the developers=20 with different interests. Therefore I would not have ignored or refused a= =20 message from you telling me about your concerns with the libtool update (as= =20 an example). But instead you decided for a public rant, that makes the KDE= =20 development community look like a heap of fools who can't organize=20 themselves. Again, I can't prevent anybody from doing that, but in general = I=20 would like to suggest to actually _try_ it the _regular_ way before startin= g=20 to rant. It would make us look a bit more professional.=20 Please don't understand the release coordinator job as a dictatorship role.= =20 It is clearly not.=20 > Many in the community rely upon KDE, and as Bastian wrote, development > of the KDE release carries responsibilities as much as it does > privileges, and Mueller has not held the developers to these > responsibilities. =20 The responsibilites have to be accepted by all developers. I can try to be= =20 more strict about enforcing the rules, but not so long ago I can remember= =20 somebody who tried to sneak in a new plugin for noatun just because=20 "somebody else did something similiar". In my opinion this is not a form of= =20 being fair to the other developers. I have to pay my bills even though ther= e=20 might be other people who don't pay theirs.=20 > New leadership for KDE 3.1 is needed. I'm sorry, but you again misunderstood "release coordinator" =3D=3D "KDE=20 leader". There is no such thing as "KDE leader of the day".=20 > The KDE releases are the legacy of the entire KDE community, and > making sure those releases are good is the responsibility of every > developer and tester. This requires that all developers, regardless > of their social status, obey the written and unwritten rules of the > KDE development community. A mistake by a well-known developer can > break the release as badly as a patch from a novice, and the rules > were agreed upon with this fact in mind. Only by keeping the written > and unwritten agreements can all KDE developers and users continue to > enjoy the success they enjoy now I'm very happy that we agree on that. So lets please try to accomodate in= =20 this way, instead of fighting each other for no apparent reason.=20 Dirk