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:

  1. 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.
  2. 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.
  3. 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?
  4. 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.
  5. 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!

16 comments

  1. hope you guys can keep this running, been looking over your distro and it seems nice :/, would be sad to see it die.

    • Thanks Robert!  We feel pretty good about the direction.

  2. Maybe it is a good idea., for you will be concentrating on the operating system, rather than additional programs that can be found in Mandriva repos. This way, most probably Unity would look better in the future. 

  3. Like the Titanic you are sinking, I suspect there are too many holes in your bucket to hold water, and a small rock, clutching a big rock still wont float …. 

    • We’re removing duplication.  The only thing separating us from Mandriva previously was rpm5 and urpmi.  They (mandriva) have now switched to rpm5 AND they are switching over to the Smart Package Manager as well.  So, we’ll move to their base so we don’t duplicate efforts.

      • mandriva is switching over to Smartpm? It’s great news too! When? When? I’m using Mandriva 2011 RC and it’s using urpmi!

        P.S.: Good luck on the new direction of the distribution! I hope that everything goes right!

        • I was looking at a mailing list post on cooker…now of course, I can’t find the link.  It was recently posted though.

  4. Smart was already on Mandriva (with the mde packages from Thac and Ze).
    Why use for new users unfriendly package manager?
    Why can’t  Unity not solve the issues with mklivecd with the 2.6.38 kernels?

    Take some lessons from Mr B. Reynolds!!!!

    • The version of Smart we use is different than that mandriva uses…that’s because we made the rpm5 switch long before they did.  Unfortunatley, this version that we’ve been using over a year is not 100% compatible with current Mandriva repositories…we’re working on fixing that.  As for ‘unfriendly package managers’…we’ve been using Smart since our inception…we’re not going to change.

      As for mklivecd and 2.6.38 kernels…that’s the version we’re locked at now so it’s going to be the one we use on the next release…that means mklivecd will be fixed and working with it.

      As for lessons from Mr. B Reynolds…we’re a different animal than pclinuxos with a different focus…as such, there’s not much we can learn or take from pclinuxos.

  5. Guilherme Moro

    I think that this is a pretty smart (no joke here) move, linux distros has suffered a lot with all this fork and separated distros. Mandriva seems not so resistant to changes in their packages, like other distros that dont want to be base or collaborate with anyone.
    You can still hold your branding and make a lot of great stuff, without need to worry about maintaining a lot of packages, I believe that is the right thing to do from many perspectives, and I really think that this model should be followed by many others, Linux and freedom is not about duplicate efforts as many people think, its about freedom to reuse and improve existing things.
    Great new direction, and wish you best lucky

  6. I think it’s a very smart idea to use an upstream distro’s repositories, but I really do agree with the earlier analogy ‘a small rock clutching a big rock still won’t float’… from what I’ve seen, Mandriva seems to have really gone downhill in the last few years, and — while I could be wrong — I just don’t see them picking themselves back up… You mentioned importing packages from Fedora/Mageia, but have you considered moving your base to one of them instead? I’d probably have more suggestions if I used more RPM distros, but I’m a DEB kind of guy, and switching Unity to a Debian base would be too much work to be a viable solution.  ;)

    Also, a name change may be a good idea for attracting more users. I know you came first, but when people hear ‘Unity’ they think of Ubuntu’s desktop environment, which is hated by many Linux users. They’ve tarnished your good name, so to speak…

  7. Cam77murray

    I don’t know a lot about Linux… That said I have been involved with volunteer organizations for a long time – forty years plus. The crossroads you speak of is typical of volunteer orgs.
    How do you make the commitment to a venture ongoing and permanent. The Linux community has had the input of so many volunteers and so much effort it could have built the pyramids many times over. The point today is exhaustion and other demands
    Where do the donations stand? Does the organization have enough to buy a revenue property and fund abbreviated operations from that? Or does everything crater from overload?instead of money (simplest) revenue source .why not receive used equipment?
    Refurbish that & sell that to third world with stable &working software use the sales dough to fund operations
    The genius of the collective can certainly develop a working environment to better fund Linux

  8. Looks like Unity will have a great relationship with Mandriva, but will
    take a while over some compatability issues, but see Unity is taking
    stock and concentrating on stability.

    Great news that Unity has a ARM repo too :)

    A very good customisable small base distro, with friendly helpful devs and users.

  9. I think the most amazing thing here is your communication of what’s happening to the users. TOo many projects stay silent and hemorrhage users because they don’t know what (if anything) is going on behind closed doors. What you’ve done is much closer to the FLOSS ethic. Good luck!

  10. Mageia JeOS Wanter

    What about mandriva breaking in two: mageia and mandriva ’11, which is basically just what’s left after the layoffs at mandriva :( –how about just creating some scripts to turn mageia into the ultimate vmware jeos and call it a day?

  11. Thank GOD!!! =D =D
    This is an amazing decision!

    I suggested making Mandriva compatibility a priority a year ago and didn’t get much of a response, glad to see it’s really happening!
    http://forum.unity-linux.org/thread-1072.html
    Thank you for not being too proud to realize it. I have stuck with Unity since the very beginning when they sill were Mandriva compatible, and I’ve seen things go down (in the form of breaking my system 6+ times while performing normal installs/upgrades) over the years.. finally I abandoned all hope and went back to PCLinuxOS, which has oddly been a breath of fresh compared to Unity lately.

    This decision will only make Unity greater and stronger, rather than reinventing the wheel the devs can focus on making an amazing and complete-feeling distro (which Mandriva, despite their fame and reputation, has STILL not managed to do IMO) Mandriva is still, I believe, the strongest, fastest, and most newb-friendly Big Papa distro of them all, and with a little tweaking and the ability to easily remaster it, I know that the new Unity Linux will have the power to become the ultimate Linux distro.

    I hope the idea of using Mageia as a base rather than Mandriva is still at least on the plate.. it has yet to be seen I guess where either project will go at this point..

    Best decision ever, I’m looking forward to making the new Unity Linux my favorite distro once again! <3

    Viktor Nova