Hi everyone,
it's been quite a long time since I wanted to write this post, but never found the time. I will try to keep it relatively short so that it is easier to engage in an open conversation.
As you have all probably realised, Zentyal is becoming increasingly popular as the project matures. However, the development team has remained the same and our resources are becoming increasingly stretched, like butter scraped over too much bread. As an example, there has been an extremely
interesting thread on Zentyal Desktop, with a lot of bright ideas of all the things we could develop. However, the reality is that there are so many things the development team needs to do, that only a tiny fraction can be done for the next version. A poll on
where our priority should be shows a strong demand on everything related with desktop integration, as well as disaster recovery, UPS support and IPv6 among others. It would take us years to cover the most demanded functionality. Unless...
... well, Zentyal is an open source project, and probably just by getting better organized we can make the most of the little time we all have available. On one hand, there is the current development team, with deep knowledge on the framework and with a company behind them sponsoring their time to continue the development and improvement of Zentyal. On the other hand, there are plenty of much needed, time-consuming tasks, that do not require so much knowledge on the framework, but that can sometimes drain most of the available time and energy from the core developers and bog down the progress of the project.
One of these tasks was, precisely, supporting this forum. Luckily, we have now the
forum moderators, a team of seven members who heroically support other members and help keeping the forum alive. Zentyal developers are still participating actively in the forum, but thanks to the moderators, Zentyal can have both a forum AND a product alive and kicking. But there are many other small tasks that can easily be managed by other community members, freeing up time from the developers that can be better invested in improving Zentyal. I can see three clear examples:
- Bug squad: handling the stream of bugs reported by Zentyal users (removing duplicates, documenting the bug case, setting the priority, etc). You cannot imagine how much valuable time could be spared if a there could be some people ensuring that bug reports are filtered, well-documented and ordered by priority
- Documentation team: maintaining documentation for Zentyal, howtos, use cases, wiki, etc. We can only do the bare essential in documentation, but this is a task that can easily paralyse the whole development team for several weeks every year
- Localization team: Zentyal is partially translated to close to 40 languages, far from complete, however. One of them, Spanish, is directly maintained by the development team
Apart from that, there is the possibility to create
specs/blueprints teams, that work together with the core developers to design user cases and write specifications, help with alpha and beta testing and identify usability issues. A good example of such a team could be
Zentyal Desktop team, to help define what to develop in the desktop-server integration and help testing it.
I could continue summarizing my thoughts on how to articulate all this, but I would prefer getting some feedback at this point and learning whether this whole thing makes sense, whether there would be people interested in giving a hand, whether someone has already thought about it and where are the pitfalls that should be avoided.
Waiting for your comments.