While developing the basics of what this project was going to be, we agreed that we needed a very opened development model. One of the methods we have decided to use to make that happened is an “opened-to-everyone” and centralized and SVN repository. So what does this means ?
Opened to Everyone
Well, for a starter, everyone will be granted SVN commit privileges upon requests. Anyone interested only need to fill out this form and an admin of the ImpressCMS project a SourceForge will grant him the proper access. This means that anyone will be able to actively participate in the on-going development of ImpressCMS.
[more]
Of course, SVN usage needs a little bit of knowledge but the learning curve is pretty small. Some basic information can already be found here. And, as the project evolved, we will have detailed tutorials on the use of SVN, documentation on how things should be done, etc…
This can definatly sound scary for some people and I understand why one might think it’s a little bit risky. But we believe this kind of opened development is totally worth it ! And since SVN allows us to easily revert and merge changes, there is nothing really to be scared of. The key is to create a critical mass of developers on the SVN. The more we have, the more bugs will be fixed quickly, the more features will be implemented faster, the more quickly our project will evolved!
At the time of writing this, we have 23 people with full access to the ImpressCMS repository, 15 of which have actually committed code. The result of this is quite interesting: since December 3th 2007 until today (less then 1 month an a half), there have been 582 commits in ImpressCMS SVN. To get an idea of what this represent let’s compare SVN Statistics with one of the most active project on SourceForge in the same category, phpMyAdmin. In the last 12 months, this project had 1154 write transactions (commits). For the same period, but understanding that ImpressCMS started a month and a half ago, our project had 582 write transactions…
Centralized
The ImpressCMS project will strive to centralize its code to its SVN repository. This means that not only the “core” code will be developed in the SVN, but everything else: modules, languages, themes, etc… This will help to achieve 2 important things.
First, with everything under the same roof, it will be easier for anyone focusing on something, to help with something else ! For example, if I’m developing a SmartSection directly on ImpressCMS SVN, I might be interested to have a look at other modules, fixed bugs or improved things! Development will not longer happen in a close vase, but openly, with everyone being able to help everyone !
The other very interesting thing is that, on middle term, it will be possible to create an ImpressCMS package “on-demand”! Through a simple web form, you will be able to choose which version of ImpressCMS you want, with what modules, what languages, and what themes, then click Create ! A package will automatically be created for you !
Of course, this is not for tomorrow, but the openness of ImpressCMS SVN repository makes many things possible and this is definitely one of them !