Hi, I would like to share some hopefully interesting thoughts, from a comparison of a few things in KDE and in Mozilla, in the hope that it helps KDE borrow good ideas from elsewhere.
***** 1. Issue tracker (Mozilla) vs. Mailing lists (KDE). KDE uses a Mailing list for most its development discussion, and only uses trackers (bugzilla, reviewboard) for specific tasks (user bug reports, patch review). Mozilla uses a (modern, well-configured) bugzilla for almost everything including 90% of development discussion. My point here is not to advertise bugzilla specifically (though I love it), but issue trackers in general. An issue tracker, contrary to a mailing list, allows to efficiently keep track of what TODO items remain to be done, how they must be prioritized, etc. It also is much more convenient for core contributors because it allows them to handle issues later, so they can reclaim control of how they spend their time, instead of having to constantly handle the flow of emails. ***** 2. Can one tell volunteers contributors what they should be working on? (KDE: no, Mozilla: yes) A common bit of KDE wisdom is that you can't tell volunteers what they should be working on, since they are volunteers. Mozilla is much more proactive in deciding what needs more attention, and what is just a waste of time, and that applies to everyone regardless of volunteer/employee status. Here I'm not saying that Mozilla got it right and KDE got it wrong, because the fact is that KDE has an order of magnitude more volunteer developers than Mozilla has, and that could partly be related to that. However, KDE could do more to communicate what actually needs to be done, for the benefit of those volunteers who are interested in investing their time in what's most useful. It's nice making everyone feel that they can "be KDE" but the truth is that you are much more KDE when you work on what KDE really needs. ***** 3. QA, Unit-testing, continuous testing (KDE: very little, Mozilla: a lot) Let's face it, KDE has always been deficient in the QA department. In order to ensure good QA, it needs: * a lot more unit tests than it currently has (Kate in SC 4.5.0 was horribly buggy) * unit tests must be automatically run, frequently. In mozilla, everything is built and the unit tests run on 10 configs everytime you push to the repository, see http://tbpl.mozilla.org/ * this means investing in some build hardware. There are cloud services for that, too. * regressions must never be tolerated. if a commit causes a regression, back it out. If a big set of changes need to go through a bad intermediate state, develop it e.g. in a separate git repository. ***** 4. Crash reports handling (KDE: poor, Mozilla: good) * Have a look at Socorro, Mozilla's crash report tool: http://crash-stats.mozilla.com/products/Firefox * Crashes are grouped by signature so you get prioritization for free * For each crash you get a call stack, a modules map... * If KDE wants that, it needs to sort the difficult issue of how to get symbols. The logical approach is to work with distros here. * I've come across this: https://wiki.kubuntu.org/Apport . Quote: "Apport reports include a core dump in a compressed and unencoded format". If this is true then I don't get 1) how you can attempt to upload a potentially huge core dump, and 2) how you handle the obvious privacy issue here (if "unencoded" means unencrypted then this is horrible; if not, there's still a huge privacy issue, the user may not want anyone, not even the developer, to be able to see his credit card number). ***** 5. KDE's approach to the Web * KDE, being a local desktop project, can only believe/hope/target that the user wants local rich applications. That's OK, not up for discussion. * KDE hopes that the user will want to use web content integrated into local applications. That's more speculative, but not something I can really argue against. My belief is that web content is very hard to dissociate from the browser while retaining a good user experience, and it's only getting worse. * The KHTML/WebKit issue. I understand that WebKit, even just the Qt-provided version, has more developers than KHTML has, therefore it's the natural choice for KDE applications going forward. What I don't understand is that nobody seems to see the huge value in KHTML as a project. OK, it's probably not going to be the default Web engine in KDE for the time being if you want to guarantee your users a top-class experience; but I hope very, very much that you keep KHTML around, possibly as an optional non-default-install component. Indeed, there are very few credible open source Web engines around here: Gecko, WebKit, KHTML. If I were a volunteer looking for a project to contribute to, KHTML would be an incredibly strong candidate: small enough to be approachable, still a credible web engine (I can't believe how well it works in 4.5 given how complex web apps have become) and contributing to KHTML allows one to learn extremely valuable skills (web technologies). KDE should totally push KHTML as one of the very best developer learning experiences of any open source project, for prospective contributors. And learning is a huge aspect of open source development. And who knows, if you do this, first you'll get new people into KDE development, second you might find that in several years KHTML is revived. I estimate that 50 dedicated developers people is the minimum to get a modern web engines going. * KDE still needs a plan for the case where web apps might win the "war" against local apps. Experiences about HTML backends to Qt would be exciting. * KDE could learn a lesson from the popularity of web apps. Web apps aren't really better than local apps, but they're far easier to deploy. Where distros still struggle to offer 1-click install, web apps offer 1-click use. So PackageKit/PolicyKit are very exciting here, but this needs to be taken to the next level. The day that you'll be able to guarantee to developers that KDE apps benefit from a 1-click-use system (of course after some authentication) you'll have a very powerful selling point to get them to develop KDE apps, not just Qt apps, say. Cheers, Benoit >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<