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?



29 comments:

  1. > "But who cares about the benefit to Free Software?
    > I do."

    Me too. I think that share and make community it's the key of GNU/Linux.
    I try to help and collaborate, not only in openSUSE.

    ReplyDelete
  2. Thank you for this blogpost! I already wrote some stuff about the Software-Center issue and Canonical in general (only in German, unfortunately) and especially the SC situation is very bad, as it's just political reasons and artificial barriers built by Canonical which make easy contributions impossible.
    Also, if you see the patches Canonical is carrying right now and applying to all GNOME and GTK+-related stuff, this just can't continue to work very long... And now they'll even have to support legacy ConsoleKit and won't get easy multiseat-setups just by not using systemd. (and spreading FUD about it isn't very nice either)
    For me this is really sad, because Ubuntu - even with not contributing stuff back - was the distribution I wanted for a very long time. (desktop-centric, Debian-based, short release-cycles, company providing support and infrastructure) But right now the "Ubuntu way" is just wrong, as well as the way decisions are made in Ubuntu dev community at time.

    ReplyDelete
  3. Man, you really made my day!

    This kind of posts is why i like coming to your blog! You just focused the truth here!!! And you were not afraid of getting SOME things on the table (referring, naturally to that "right..." above.

    This mentality is why o use openSuse! What OpenSuse developers do benefit everyone and not just opensuse! That is the right way! That is the right though and that is what keeps me in. It's the only way to build something really better!

    Congratulations for this wonderful post! bookmarking it........ :)

    ReplyDelete
  4. While I appreciate getting mentioned, I'd appreciate it even more if my name were spelled correctly. ;-)

    ReplyDelete
  5. Now we may be complaining here, but the truth is that Unity is the standard we have to live with. Does KDE support Unity dbus system tray menus and dock menus out of the box? AFAIU no. There is the daisy or how's it called extragear task manager, and that's it. That's where work should be done, in my opinion.

    The modern young and not so young computer user audience is brand-minded, from what I understand, and they need a brand just to be able to fit Linux into their view of the world. Ubuntu is the brand. That's it.

    ReplyDelete
    Replies
    1. Canonical originally adopted KDE's overhauled systray specs. They should still be compatible unless Canonical broke something afterward.

      And no, Ubuntu is not "the brand". Fedora is used by more people. Fedora users just usually keep to themselves and do not shout everybody in the face that their OS is the best. (Not counting RHEL, CentOS, etc. users.)

      Delete
    2. @kamikazow: Is it the brand from _whom_? Follow developers or end users?

      I hear ubuntu all the time around me. with a reason, people mark it as the pillar of easy to use.

      Delete
    3. @Diederik people still has windows as the pillar of easy to use, so.....
      Now all the ubuntu fan lovers think that before ubuntu there's only a black console and nothing more, and magical mistery man Mark pick a ugly debian and made his magic tricks... but the ugly truth is that Ubuntu is the less open source, community friendly distro out there..

      Delete
    4. "... but the ugly truth is that Ubuntu is the less open source, community friendly distro out there."

      You will now be pursued by the whole world by Ubuntu's fans!!!

      XD XD

      Delete
    5. The standard is Windows, when it comes to popularity. When it comes to 'cool', it's Mac/Apple. Android is the most popular Linux by far. The rest might distinguish themselves with some small things - I think openSUSE sets itself apart by being collaborative and open.

      Delete
    6. AFAIK Aurélien Gâteau ported all the Ubuntu specs to Qt 4.8. If your distro is running a clean, upstream Qt 4.8 (or Qt 4.7 with the Kubuntu patch set) you have support for everything Ubuntu, including the global menu. In fact, I enjoy it on Chakra and Arch Linux.

      Ironically, Kubuntu is MUCH better than Ubuntu when it's time to upstream system-wide improvements.

      Delete
    7. I've been following the specs Alejandro Nova speaks and AFAIK i can confirm that he's right.

      Let's not start any fire here. This is not the point of the post! Every DE is the best in it's own field!!!

      Delete
  6. Hi, do you have any example about not collaborating that is relevant to KDE ?

    ReplyDelete
    Replies
    1. I don't even want to try to come up with something.

      If I know enough about a situation to say for sure it's bad, I'm too close to talk about it. If I don't know enough to say for sure, I shouldn't say much either.

      Let me give two examples - and again, I don't know enough to judge, but these areas least seem to have room for improvement:

      * I do know the new store in Plasma Active uses but doesn't completely follow the OCS spec - yet no patches or requests for changes came there according to Frank. That sounds bad to me but I can't judge the details, esp considering there's some personal stuff there. I think the schism related to that is the worst thing going on in KDE right now...

      * I did express my wish that more distro's would jump on Apper/PackageKit - of course Kubuntu and Chakra would be first on that list I suppose. Kubuntu works a lot on their Ubuntu-only 'app-store' and I'd much rather see some of that energy go into a cross-distro effort. Again, I can't judge the details - there might be good reasons for the situation.

      All in all, to repeat the point I made at the end of my blog: I much rather point to positive examples than to negative. Much less chance of wrongly accusing people of anything.

      Delete
    2. From BlueSystems we've been working on improving the Kubuntu store (see my blog post from a couple of weeks ago). Honestly, I don't really see what "Ubuntu-only 'app-store'" you mean. We have been using Muon which has nothing to do with an app store and it's definitely not Ubuntu-only. It's tied to APT if you wish, instead.

      In any case, I don't think it's very important to concentrate in sharing a client, I think we should concentrate in sharing our database of reviews, screenshots and any data we can gather. If we have all this, having a client is a matter of connecting the dots.

      Delete
    3. True, sharing data would be a good idea. And that's what we're working on with Appstream. Using the Open Collaboration Services spec for the reviews and ratings, screenshots from screenshots.debian.net etc. It'd be nice if you got involved.

      I personally still think having a shared client would also be nice. Instead of having a new package manager for each distro's every 4 years (at least that's how it has felt to me in my 12 years on Linux/KDE and various distro's) it'd be nice to finally finish something.

      Delete
    4. BTW that's exactly what the first commenter said on the blog about Muon Discover. It's a great tool (just watched the video again, it's really awesome) and could give KDE an edge in software management. Too bad it's tied to one distro, limiting the value it has for KDE and Free Software. I would love to see this as a KDE app - not distro-specific. For GNOME, the Ubuntu Software Center might become the tool - KDE could use a good competitor imho.

      I know it would be more work, but it would also make more sense from a long-term perspective - right? That's been the argument of my blog all along - it makes more sense, both for your own project and the wider FOSS world, to collaborate.

      And no, if you don't, I still love you, Riddel and everyone else at Kubuntu. That's not the point here, I'm not trying to say 'bad bad boys', just saying it'd be great to work together and highlighting some projects where we do that.

      Delete
    5. > * I do know the new store in Plasma Active uses but doesn't completely follow the OCS spec - yet no patches or requests for changes came there according to Frank. That sounds bad to me but I can't judge the details, esp considering there's some personal stuff there. I think the schism related to that is the worst thing going on in KDE right now...

      I totally agree with you about that, Jos! Unfortunately, you are so much right in there. :(

      I have also tried to discuss with the Plasma Active developers the OCS material at the Plasma Active sprint and afterwards, since I have been working heavily around OCS as well in my pastime, but all I got ignoring. :(

      See my thread in here:
      http://mail.kde.org/pipermail/active/2012-March/003164.html

      Luckily enough, there was a person appearing recently on our ocs mailing list with a gnome store project. Furthermore, we have now also been working on a Qt Store for QML/JS applications cross-desktop.

      I am having a student working on the JSON parser bits under the GSoC umbrealla for OCS in the Qt client library (attica), so purposefully and hopefully, we will have JSON specification for OCS as well relatively soon. :-) Not to mentiong, we have been planning OCS2 as well, but we need some time to get that actually done in the practice. :-)

      Delete
  7. I think the collaboration between KDE based distribution is really unique and it should be an example for other projects. You can find it everywhere. Everyone contributes back and I usually do not care about dividing upstream/downstream. So thanks all :)

    And yeah, sometimes we do not use KDE solution primary, if we are unsure it's a good idea. Usually where Fedora is too new to adapt KDE to fit it but we're trying hard :) From polkit to udisks (and now udisks2)... It's great to collaborate!

    Where it does not work very well for now is Plasma Active land but let's hope it will be better and follow the desktop KDE one day more closely.

    ReplyDelete
    Replies
    1. The work the Fedora team does to get KDE ready for new infrastructure (often also being developed within Fedora) is really amazing and I thank you for that :D

      Delete
  8. I think that your post is quite arbitrary sorry.
    One could say that KDE developpers didn't collaborate when they kept using Qt when it wasn't Free instead of using GTK.
    Same question about .rpm vs .deb..

    ReplyDelete
    Replies
    1. You seem to have missed the point of my blogpost entirely, somehow. I wasn't ranting about anyone.

      And I'm not saying the world is perfect anywhere - I'm just saying it's not smart to not collaborate and it's hurting. That projects re-invented the wheel in the past and didn't collaborate isn't exactly news...

      Delete
  9. Thought I would just add a story regarding Linspire.

    During the KDE3 era, they created their own system for recognizing when you plugged in your USB devices. This was a major missing piece in the Linux desktop. So they filled it and then ported stuff like Amarok to use it.

    ...and then KDE made its own solution not long after that. However they stuck to their own system - maybe due to their egos? Of course then a year goes by and another and they're using some ancient version of Amarok because they don't have the resources to port the new Amarok to their hardware system nor apparently the resources to port their whole OS to the new upstream technology.

    The benefit to Linspire? Reacting to USB devices for maybe a year earlier than anyone else (maybe!). The cost? Well... they're not around anymore. (Which is a real shame, they were the first with a big promoted 'app store', ahead of their time a bit).

    So working upstream isn't just about being nice and community-oriented... it's basic good engineering.

    ReplyDelete
    Replies
    1. Ian: that was a very important part of my argument, yes. It is the right thing to do, both from an egoistical AND altruistic point of view. As a matter of fact, this is what makes the Free/Libre/Open Source Software development model so great: you and everybody else benefits from collaboration. Those who don't collaborate loose out in the long run. That took companies like Novell/SUSE and Red Hat a while to figure out, but even a 1 billion dollar behemoth like RH has this upstream-first-policy. That's how important it is...

      Delete
  10. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. OpenSuse is well known for its opensuse-only yast, I don't really understand this post.

      Delete
    2. Yast, like (I bet) many other tools, was meant to be cross-distro, but nobody was interested.

      It needs replacement anyway as it's older than most other entire Linux distro's and those working on a replacement surely look outside of their own distro tools.

      Note that YaST does more than package management, that's just one module. There's basically nothing else on the Linux space which does what YaST does. So replacing it will be hard...

      Delete
  11. actually, see my new blog - we have made YaST available on other distro's.

    ReplyDelete

Say something smart and be polite please!