The Joomla! project is calling for white papers for the next big release, Joomla! 1.6. This is just one of the recent attempts to make the development process of Joomla! more structured, better organized, and more controllable. I’m all for that… kinda.
The Joomla! Bureaucracy
The white paper submission process, as well as the recently announced maintenance procedures, risk turning the project into one big bureaucracy. As ibnhafsun noted, that’s fine, as long as you can manage it. In companies, where employees are paid to fill in forms, this can work. Joomla! however is made by volunteers. Potential contributors will be scared off by reading the procedures, let alone actually having to go through all that. You also need people who read the submissions, filter them, organize them, etc. Does Joomla! have the manpower for these processes? And more importantly, where’s the fun in that?
Adding a button
What happens if ten great papers are submitted for additional buttons? That’ll clutter up the user interface big time. A better idea here would be to find someone with in-depth knowledge of usability. Someone who can tell us how we can make Joomla! more intuitive. Someone who can come up with a conceptual overview of what Joomla!’s UI should be like. I bet that person won’t tell us to ‘add more buttons’.
With more of an ‘incubator’ approach, similar to what Zend and PEAR do, we can replace the white papers with a more organic process. If you want to build a certain feature, simply start coding in a separate branch of the codebase. Find some people who share your interest and make a first working version. As soon as you’ve got some basic functionality, you can let users try it, and get other developers to review your code. It’ll be much easier to discuss it, when people have had hands-on experience, instead of by reading your white paper. You’ll get feedback that’s actually worth something. When the code reaches a certain maturity, it can be integrated in the core (be it 1.6, 1.7, …). Or possibly, you’ll find out that it’s better kept as a separate extension and let the end-user choose whether he needs it.
The big advantage is that the different incubator projects can be developed more or less independently. New Joomla! releases don’t have to wait until all planned features are done. Instead, when an incubator project is stable and good to go, that can trigger a new Joomla! release. I’m sure this incubator approach will speed up Joomla! development, and result in higher quality code. I also believe this creates a healthy balance between developer-driven, and community-driven development. And more importantly, it’ll bring the fun back.
So here my proposal for the next stage of Joomla! development:
Less talk, more code!