07 May, 2012

On the value of collaboration

I finished my monthly column for Linux User last night - way late, as usual. It was about a number of projects openSUSE has going on to improve software installation. Porting Ubuntu Software Center to PackageKit, website integration in OBS, the improved online software store and last but not least the release of the snapper website. And I noted that all of these are cross-distribution: we're not just trying to improve openSUSE, we're trying to improve all Free Software. And it's not just us - I feel there is more and more collaboration in the Linux space (not that there aren't exceptions of course).

As conclusion, I wrote that
I personally believe that any project which fails to have this ambition will fail to really make a difference in the long run. Free Software is not just about 'abiding by the rules of the GPL' - it is about working with others.

What happens if you don't collaborate?

Let's talk about that. Who remembers Xandros? Linspire? They once were quite popular Linux distributions. So, they contributed a lot back to Free Software, right? Not really... They didn't work up-stream, instead, they built unique features like the Xandros Filemanager and Linspire's software management tools. Sounds familiar? right...

So, I believe that if you try to isolate yourself from the rest of the Free Software world, you're not only doing yourself a disservice, but all of Free Software. You can claim you contribute - lots and lots. Bringing in new users, making things simpler for end users (that's what Linspire and Xandros said, yes). But if you don't do it in a collaborative fashion, you have to carry more and more load yourself. Red Hat and Novell learned that the hard way - and now both companies have a strong policy: nothing goes in unless it is upstream. Yes, that benefits Free Software, of course. It's how we work. Even Google gets that and puts in significant resources to get their changes in the Linux kernel.

If you don't do that - you're work is irrelevant for the future of Free Software. Distribution-specific package managers are a great example: any distro hopper who has been around for a while can't count the different tools he/she has been using on two hands anymore. I know I can't. Most of these were cool, really. And most are dead code these days. Let me repeat:
non-collaborative efforts fail to make a difference for Software Freedom in the long run

But... but... but...

You'll say: but the code is free! Yes, it is. Which is about as valuable as... Let's see - how many distribution-specific package managers have been ported to others? Exactly. Very few. And most of those have very quiet lives. You say - but Linspire did lots of marketing. We brought new users in contact with Linux. That's cool, don't get me wrong. But at the same time they were channeling effort to a small world-on-its-own instead of directing these people towards understanding the wider ecosystem. It's not the number of users that counts, but what you do with it.

Collaboration is not easy - I really applaud the efforts of dantti who's putting in lots of hard work to improve the situation in the software installation area. I really look forward to the day openSUSE uses Apper as the one and only package manager on KDE desktops (we're working on making Ubuntu Software Center PackageKit based for GNOME desktops). And I call on other Linux Distributions: put your efforts in a place where it matters. Collaborate. Especially those calling themselves proudly KDE distributions - put your efforts where your mouth is... KDE's a very open, collaborative project and this is a real step forward for Free Software!

Of course, the same goes for GNOME projects. Ubuntu Software Center is a nice piece of software and if we make it work on top of PackageKit it's not hard to adopt it. Port it to GTK3, integrate it in GNOME shell, make it better for all of us. Maybe, some day, even Canonical will see the light and collaborate...

Edit: Before going live, I added this as 2 reviewers of this blog pointed this out:
  • Canonical fans might think that as usual this is all about them.
    It's not, actually. Surely Canonical is a great example of the next Lindows - no company stays around forever. Some day, SUSE won't be around either - nor will Red Hat. And as I said I believe that without collaboration with others there will be no 'legacy' - but the desperate attempts by Mark to justify the lack of collaboration wasn't what prompted this blog. It was actually the positive side of things - the work openSUSE does, of course, but also Fedora (Kevin Kofler worked on a cross-distro GSOC project last year) and the awesome debian-screenshots people. And many people around GNOME and KDE - those smart enough to realize that collaboration makes Free Software stronger and building your own garden makes it weaker.
  • But who cares about the benefit to Free Software?
    I do. But if you don't, I don't judge. Most people don't care much about a great deal of things others do care about. From puppies to privacy invasions to dictatorships to hungry children. You can't care about everything and if a Linux distro does what you need from it, despite not working with others and you couldn't care less, why do you even bother reading my blog?