A New Direction
The Unity Linux developers have come to a crossroads and these past few weeks and were even considering throwing in the towel on our beloved distribution. Why would some of us consider quitting? We’ve got so many issues to fix and not enough people to fix them…and it is weighing heavily on many of the active developers…but we have persevered through this rough patch and I will tell you how. First, let me describe the problems our distro has had these past few months in detail:
- kernels – Our kernel developer as some of you know, had to step down in January since he had a newborn to take care of. Excellent for him but definitely a hit to Unity. In the meantime, mdawkins was doing kernels and dillj also pitched in. The problem is that they’re also doing a TON of other things and kernels just weren’t the same. We’ve had major problems with our recent kernels and are spinning our wheels so to speak without making much progress. In an effort to combat this, we’ve begun using Mandriva kernels. So we’ve already taken a step toward Mandriva in this instance.
- Create-basesystem/mklivecd - It’s taken major effort to keep things working and we’ve had quite a few blockers recently using our favorite remaster tool. The problems could be kernel related…but we haven’t had much time to troubleshoot things due to #3 on this list. Our lack of movement to make create-basesystem better is due to having such a workload put on fewer developers. We’d really like to make things better with it…making improvements, making it compatible with more systems, perhaps making it distro agnostic…but those things can’t happen when we’re scrambling to fix everything else and squeeze an iso out the door.
- Packaging – Packaging will succeed if you have one thing: Packagers. While we have a few, we don’t have many. Our package workload is suffering and things aren’t getting updated…bugs aren’t getting squashed…dependencies are not getting resolved…package installs are failing. Something has to give right?
- Community – We’ve seen our community numbers going down over the past year. It’s obvious that this is due to the instability the above three reasons have contributed to…which was directly proportional to our inactivity (fewer developers = less development). We’d love to have a robust and thriving community but most of our devs that are good community managers are packagers now or kernel guys. It’s difficult to focus on the community when you have so many other requests to fill.
- Workload – All previous number contribute to a large workload spread across a few developers. If you load a bridge up with weight…eventually it collapses. We wanted to do something before that happens.
WHAT WE WILL DO
Effective immediately I am moving us to using Mandriva repositories. We will continue to have a ‘Unity Only’ and ‘Branding’ repository and repos for our custom packages and various branches (if they have their own), but Mandriva will be our complete source for packages. Now, this decision was made a long time ago as some of you who attended the last developer meeting…during this meeting we discussed the eventual use of Mandriva’s repositories for replacement of ours. No clear steps to get us there were outlined and it was decided that this would happen later rather than sooner.
We recently met in a private dev meeting and I pushed us toward using Mandriva’s repositories _NOW_ versus later. I know this will mean that we may not be able to ‘roll’ with our updates…which means that 2010 iso’s and even 2011 alphas probably won’t update to current once the move is complete…but I have determined that NOW is the time for us to move.
WHAT WILL BE THE BENEFITS?
The benefits will be that we no longer have to maintain packages as a small team…upstream will do that for us. We’ll be able to focus on meta packages for install, dependency resolution and default desktop environments.
We’ll also require that our developers be able to contribute DIRECTLY to Mandriva…this makes our upstream contributions flow easier and our fixes enrich the distro we’re pulling from. It also allows us to fix things that are broken fast and contrib the fix upstream. If our fix isn’t taken right away, we can use smart package manager priorities to pin our fixes in our custom repo above the same package that is unfixed in mandriva.
WHAT WILL BE THE CAVEATS?
Possibly, no upgrade path from 2010 ISO’s…I know, it’s huge :( I know it’s against what we said we would set out to do…and I know it will suck. We’ll also be quite unstable for the next month. Our current roadmap will change because we’ll be working heavily with getting smart to work with Mandriva’s repos…so focus will go off of solving bugs and onto making our core work there. That means we’ll be focused away from the release for a short time…that means the alpha/RC/main release will push back possibly to September if all things align correctly. I know, it sucks.
WHAT WILL CHANGE?
After the initial repository switch, not much. We’ll still work on maintaining the smallest possible base/core ISO for you to install, upgrade and tweak. The one thing that will change for developers is that we’ll have more time to concentrate on the quality of the distro instead of playing catchup on packages.
Scripts will still work like create-basesystem. Smart will still work. Things will still appear the EXACT same. We’ll import sane installs from Fedora/Mageia if we have to to make things work more smoothly for Unity users. We’ll still have Unity branding. Meta packages will still be there. So overall, not much will change.
WHY DID YOU HAVE TO CHANGE THINGS?
Without this change, Unity wouldn’t survive long. We had a laundry list of things to fix and only a few developers to do it…by moving our base and repositories to Mandriva, we’ll free up TONS of time for these developers to work on sane default installs for desktop environments, filling individual requests for obscure packages that Mandriva doesn’t have, and making sure that all things can install without issue.
I know it’s going to be tough. I know it goes against what we set out to do (rolling release). Please remember, NONE of us maintained our own distribution before this. We were all just community managers and packagers. We had 0 experience and unfortunately, we’ve had to learn by making mistakes along the way. We’re realizing our shortcomings and aiming to correct those. This move will help us…and unfortunately the user will feel the move more than developers will.
WHEN CAN WE EXPECT TO SEE THINGS HAPPEN?
Immediately. We’ve already begun work on the Smart Package Manager to make it compatible with Mandriva repositories. You’ll see the repositories begin to change as soon as Smart is compatible. That means that we’ll only have a short while before the current repos are retired. They’ll still be in place of course so you can still use them…but we won’t be updating them as we focus on moving toward Mandriva repos.
Questions? Comments? Concerns? Hate devnet? Let us know!