From the ‘OpenSUSE Lives!’ files:
OpenSUSE is a Linux distribution in a period of transition. On Thursday morning the project announced a delay in the latest milestone build of OpenSUSE 12.2 and issued a call for a new development model.
This got me thinking, what’s wrong with OpenSUSE’s current model? On the surface it looks fine to me with regular milestones releases that seem to be coming with the regularity I’d expect. So I asked Jos Poortvliet, openSUSE community manager what was going on and he provided some very illuminating answers.
One of the items that OpenSUSE developer Stephan Kulow calls for in the new development model is more developer to do the integration work. So does that means that OpenSUSE now somehow has fewer developers working on the project?
“No. In fact, it’s the exact opposite. The delay was caused by our growth,” Poortvliet said. “Right now — and unlike other Linux distros – we have a git-like model of development. Instead of ‘blessed’ developers who maintain packages, we have teams (devel projects) who are collectively responsible for a number of packages. They work with contributors from outside the projects by way of the usual “branch-fix-merge” way of working that the Linux kernel has. Once everything works in the devel project the team creates a merge request for Coolo (our release manager) for Factory, our development tree.”
He added that the problem now is that a number of the merge requests can break things in Factory. There are some automated checks in place, but OpenSUSE developers can’t see, however, what other packages are affected by the new one and if they break.
“Those breakages have to be fixed by people who can work on the whole project,” Poortvliet explained. “They have commit rights everywhere and know about (almost) everything.”
Poortvliet suggest that one way to solve the problem would be to introduce one or more ‘staging projects’ which is an approach that Linux currently takes with the Linux-Next tree, or the MM tree.
“By the numbers, in November 2010, we had 2100 merge requests during that month,” Poortvliet said. “In April 2011, we had 2,400. But in November 2011, we had 3,500. Therefore, you can also say that we’ve had 3500 merge requests in 7 months. Additionally, we had an unprecedented peak of almost 5,000 merge requests in September of 2011. It essentially boils down to 20 percent growth year over year.”
It’s important to remember thought that OpenSUSE also has the Tumbleweed rolling distribution repository too. One potential option for the future of OpenSUSE is to just abandon the milestone model – adopt Tumbleweed rolling releases as the standard and then just snapshot every six months.
“That’s certainly one of the options on the table – and already mentioned a few times in the discussions,” Poortvliet said. “Part of the issue with this specific idea is that currently, the way Tumbleweed works makes ‘big plumbing’ really hard, if not impossible. Basically, Tumbleweed is set up to be re-based every now and then – that’s when the big changes happen. Doing them more incrementally is much harder.”