With the vote on the Joomla! restructuring coming to a conclusion pretty soon I would like to take a moment to reflect on what is the problem and how (or if) it’s being fixed.
The problem from a contributor’s perspective
If you ask ten people what’s the problem with Joomla! you’ll get ten different answers. A common theme in all the answers I have heard –and I did listen to a lot of clients, developers and acquaintances– is that Joomla! seems to be going nowhere. Or at least not fast enough. I believe that we all agree with that. The last major change in the CMS happened in Joomla! 3.0 three years ago. In computing this a century ago. This stall doesn’t happen by lack of talent or want. We certainly have very talented developers in the Joomla! world, at least as many as other popular CMS. We most definitely do want to move forward, there’s no doubt about it. What is the problem then?
Let’s say that Alice has a great new idea she wants to implement, be it a new code feature, a marketing idea or a brand new service that would set Joomla! apart from its competition. Let’s also say that Alice has the technical background, free time and will to carry out all the work necessary towards that goal. So, where does Alice start?
Alice would be a fool to make a ton of work only to get it turned down. So she must talk to someone. Who? Nobody knows. Right now there are too many cooks and no chef or recipe in the kitchen. Alice would have to start asking around –in forums, Facebook, wherever– to figure out who to contact. Usually there’s no response and Alice leaves in frustration. This can be fixed by a directory of go-to persons published in the joomla.org menu, but I digress.
I can’t comment for things beside the PHP code, so let me pretend Alice has a PHP-based feature to contribute. At the very best she’d get in touch with a member of the PLT and ask them if she should contribute this feature. The typical response is “write it, make a PR and the PLT will decide if and when it should be included”. You’ve just lost Alice. Alice only has so much time in her hands and the possibility of wasting it is off-putting. She’ll let someone else go through this. There is a fix for that too, as long as we identify the actual problem.
The fundamental problem is one of vision
You’d be excused to think that the problem is just a matter of lack of communication. But this is just a symptom of the fundamental issue of Joomla!.
And by vision I mean a roadmap. Not the joke of a roadmap currently published. If someone reads this roadmap the things that strike them as odd would be a. version 3 continues to minor version 11 and b. the changes between minor versions are miniscule. Coupled with the Version History and the backwards compatibility statement on the Roadmap page what they’re told is that Joomla! is a dead project walking. The same codebase is scheduled to be maintained until the end of 2019. That would make it an eight year old code base by that time.
Let me remind you which code base was current eight years ago: Joomla! 1.5. Can you imagine someone using Joomla! 1.5 today? Yet this is what our current Roadmap promises. By itself this would be not entirely bad if Joomla! at least did it the WordPress way: add useful new features between releases. But Joomla!’s distorted view on backwards compatibility is that new versions can only be added in minor releases, 6 to 12 months apart.
There is no vision for the future. There’s only a wish: people will come up with new features. But why would someone spend weeks or months building something if there is no authoritative way to know if it will be included?
This is what we’re currently asking potential contributors. They should undertake a major project, without any help and without any guarantee that their work will be included. This even happened with the vast majority of Google Summer of Code projects. Instead of attracting talent we made damn sure that new talent will stay the hell away from Joomla!.
We are (still) not fixing what is broken
If anything, it adds even more cooks to the kitchen and still no recipe. Under the new structure any department has a say on anything else. I understand the reasoning behind it, I’m just not sure it’s well thought out.
I’m afraid what the decision making process will be for important decisions, such as Joomla! 4, under the new structure. Ever heard of Joomla! 4? It’s Joomla!’s unicorn. Joomla! 4 should have been already underway but it’s not even in the planning stages yet. It’s quite obvious to anyone who has a passing relevance to PHP code that Joomla! 4 would need to be bold and break backwards compatibility hard – which doesn’t mean that you won’t be able to do one click upgrades, don’t be confused! If for no other reason, in the last 5 years the entire PHP community has shifted towards using common building blocks available through Composer instead of inventing their own solutions to the same, already solved problems.
Do you really think that a radical change of this magnitude would pass when everyone and their dog can object? Mind you, I’ve seen that exact process take place in real world organizations as a business consultant. It’s design by committee and it’s governed by Parkinson’s law of triviality a.k.a. “bikeshedding”. I don’t have a readily available solution for this, at least not one palatable by most people in the Joomla! community.
Joomla! needs to immediately work on a vision for Joomla! 4, in an express process which must be complete at the latest by December 2015. Joomla! needs to start amassing the developer, designer and UX expert talent necessary to build Joomla! 4 with a target beta date September 2016 at the latest. Any more delay would be catastrophic for the project and for all of us who make our living with Joomla!.
I can see that the most mistrustful among you may think that I’m conveniently passing along the hot potato. No. Even though I disagree with the proposed structure and the personalities of certain people involved I still do want to help. The big question is whether I’ll be allowed to help or, once more, I’ll be told to shut up. In the latter case all bets are off.