Sorry for the incendiary title, I’m just feeling pretty frustrated with the state of the Yii development process at the moment.
I feel that by continuing to use Google Code / SVN, the framework’s development is effectively closed to anyone who isn’t part of the core team. When Yii was young, this was a good thing, Qiang et al needed to retain control to prevent a too many cooks scenario. But now Yii is fairly mature, some big businesses rely on it, and the codebase has increased in size dramatically, yet we still depend on the few core devs to:
-
Design and implement new features
-
Find and fix bugs
-
Test things before release
And the fact is, as the serious bugs in the latest release show, it’s becoming increasingly hard for the core devs to manage all this.
The bug tracker currently has 224 open issues, can we really expect the 7 people on the core team to address all these issues, on their own time, for free, without taking years? If not, we should make it as EASY AS POSSIBLE for other people to contribute to Yii.
To me, this means moving the framework to github as soon as possible (and not waiting for Yii 2.0) because:
-
It encourages openness, work on features can be done on separate branches in public view and then merged in with the main branch, this makes code review a lot easier.
-
Allows people outside of the core team to review commits, comment on designs etc in the same place as the code, making discussion a lot easier (you don’t have to go open a new issue on google code or create a forum thread to discuss something)
-
Allows people outside of the core team to submit pull requests for features and fixes. I know google code allows this as well, but the process of creating and submitting patches is pretty horrible compared to the github workflow.
-
Many eyes are watching. Because it’s easier to see individual features being implemented, it’s much more likely that bugs and limitations will be found before they’re merged with live.
-
Move faster. It’s much easier for people on git to keep up with bleeding edge latest code, and therefore find and fix possible bugs much faster. It also means that the framework could eventually switch to a continuous release schedule, rather than having months between releases.
-
All the cool kids are doing it. A lot of other open source projects have already moved to github, so most developers are familiar with it already.
In my opinion, if the framework was already on github, at least 2 very serious, show stopping bugs that were part of the latest release would have been caught long before they were merged with the main branch. And if major bugs were found that passed through code review, fixes could be released in hours, not weeks.
And the people have spoken, there have been polls in the past with the overwhelming majority voting for a move to github, with support from members of the core team, yet nothing happens…
I understand that there still needs to be a certain level of control / direction and that’s fine, but Yii’s popularity is rapidly increasing, if the framework is to retain its high level of code quality, the development process NEEDS to be opened up and modernized. This is coming from someone who’s deeply invested in Yii, been using the framework since it’s earliest days, relies on it for 95% of their income and doesn’t want it to suffer as it matures.
Charles