my blog

Monday 28 February 2011

Canonical, you're breaking my heart

Quoting code from Banshee:

    // We ask that no one change these affiliate codes. ALL (100%) revenue
    // generated by these affiliate IDs is sent directly to the GNOME
    // Foundation. The GNOME Foundation controls/owns these affiliate IDs.
    // Please help support Free Software through the GNOME Foundation!

I've been resisting blogging or talking about this topic publicly, but I'm so frustrated with how Canonical dealt with the whole topic that I can't resist more... If you don't want to read my stuff, I encourage you to go read Zonker's articles about the story.

Very short summary for those who didn't follow:

  • the Ubuntu community decided to switch to Banshee as default music player.
  • Canonical offers the Ubuntu One Music Store in the default Ubuntu music player to let people buy music online. Referral fees go to Canonical (as far as I know).
  • Banshee comes with an Amazon MP3 Store plugin to let people buy music online. Referral fees go to the GNOME Foundation.
  • with the switch to Banshee by default in Ubuntu, Canonical proposed two options to the Banshee developers: disable the Amazon MP3 Store plugin by default, or changing the affiliate code for the Amazon MP3 Store and giving 25% of the referral fees to the GNOME Foundation (the other 75% would be going to Canonical). Banshee developers chose to keep the money going to the GNOME Foundation, and to have the plugin disabled by default.
  • a few days later, Canonical changed their mind and decided that the Amazon MP3 Store would stay enabled, and that 25% of all referral fees (Amazon MP3 Store and Ubuntu One Music Store) would go to the GNOME Foundation.

There are a few things that are wrong with this story, and I've read a few things that made me wonder if some of the people standing for Canonical's decision in the comments I've read have a good understanding of everything (and maybe they do; everybody is entitled to his own opinions after all). It's worth pointing out first that I'm annoyed at Canonical, and not at Ubuntu, and my first two items below explain this:

Money does not go to Ubuntu. It goes to Canonical. I'll start with that, because I feel this was neglected by most. I would be much less annoyed if the money went to Ubuntu instead of Canonical. This way I would know that the money would be used for Free Software; I would still not be completely happy (see other points below), but that would make me feel better. But it turns out there is no active Ubuntu Foundation (the Ubuntu Foundation does exist, but is nowhere near active or alive), which means there is no real way for Ubuntu, as a project, to collect money. The result is that we have no idea how the money will be used, in concrete terms; and this raises accounting questions.

This is not an Ubuntu decision, this is a decision from Canonical. As far as I can tell, this decision was not discussed in any way inside the Ubuntu community, and I have serious concerns that such a decision that does affect Ubuntu is not taken by the Ubuntu community. I've added an agenda item to the next Community Council meeting (tomorrow, March 1st, at 21:00 UTC, in #ubuntu-meeting). To be blunt, though, I have absolutely no hope of open discussion there: I've yet to heard of anything that is agreed by the Community Council that goes against the interests of Canonical. I believe that is a serious flaw in the Ubuntu governance, and it's certainly not the first time this is highlighted.

It is legal, but it is not necessarily right. Of course it is legal because of Banshee's license. Nobody is arguing about that. However, the will of the Banshee developers is to donate money to the GNOME Foundation. They've expressed this will twice: when they first chose to donate the money to the GNOME Foundation, and when they chose one of the two options proposed by Canonical. So Canonical's decision is explicitly going against the will of the developers. It is legal, but going against the will of the developers is definitely wrong.

Releasing Banshee as free software doesn't mean Banshee developers don't care about how their software is changed or used. I've read several times that Banshee developers could simply have chosen another license to avoid this issue. That's an extremely dangerous slope: many free software developers choose a free software license because they believe in freedom and they believe that releasing their software under these terms will help improve the world in some way. That's our contribution to making the world a better place. We also believe that, usually, people will understand what we want to achieve and will respect that. Canonical's decision, and how it was taken, doesn't show any such respect. Should we stop contributing to making the world a better place because a company is doing things wrong? I don't think so. We should try to make that company a better citizen, and keep making the world a better place. Suggesting that we can simply choose a non-free license is suggesting that we stop trying to achieve our dreams. Sure, we could do that, but that's certainly not the right solution.

A 75%/25% deal does not reflect what Canonical brings to Banshee. I've read this several times: people think it's actually a fair deal because Ubuntu does most of the job, by integrating Banshee in Ubuntu and by exposing it to many more users. I'm disturbed when I read this. The fact is that Ubuntu chose to adopt Banshee by default because it was the best solution. If it was the best solution already, then somehow, the Banshee developers did a hell of a great job and Banshee actually improves Ubuntu. And that part is certainly more than 25% of the whole job, isn't it? I mean, if that's not the case, then certainly Ubuntu would be shipping with something better already. Also, this way of thinking gets me wondering: do people seriously suggest that Ubuntu would exist and be successful without great upstream developers? The work done to build Ubuntu is integration. It is not easy, there's no need to argue about that and I know this because I work on a distribution. So I know it's far from trivial. But compared to actually writing the applications upstream... Most of the hard work lives upstream, and integration, while key, is only a small percentage of the work. Even the argument that Ubuntu will bring more users falls apart for me because Ubuntu brings more users to applications, but only because those applications themselves are great. Ubuntu can only bring something to the applications because the applications bring something to Ubuntu.

No, a 75%/25% deal is not necessarily a better deal for the GNOME Foundation, money-wise. Several people mentioned that 25% of referrals fees of the plugin enabled by default is higher than 100% of referrals fees of the plugin disabled by default. How can we know? We can't. We simply don't know. I've heard that the Ubuntu One Music Store is... suboptimal, so I think it's also a fair position to assume that many people would have found on the web that there's a great Amazon MP3 Store plugin, and would have switched to it. It could therefore turn out that in the end, maybe, even if the plugin would have been disabled by default, it would have brought more money to the GNOME Foundation. Who's right? Let's be honest and agree that we don't know.

No, even if it's a better deal money-wise, a 75%/25% deal is not necessarily a better deal for the GNOME Foundation. You know what? Please don't put words in the mouth of the GNOME Foundation, and leave the GNOME Foundation decide for itself. The GNOME Foundation is a non-profit organization and while the GNOME Foundation could use more money, it's certainly not the goal of the Foundation. As a past Foundation Board member, my informed guess is that most members of the GNOME Foundation would agree that respecting the will of authors is more important than money. If the GNOME Foundation decided to take a public position about what is best for itself, it could well be something as simple as this deal is not in our best interests. I'm of course not saying this is the position of the GNOME Foundation since that's not my job, but I hope this helps people understand that more money doesn't make the deal a better one for the Foundation.

There is now no way to make the money go to the GNOME Foundation. With the current decision, there is no way for the user to choose to leave the money to the GNOME Foundation. I've seen at least a comment from Jono suggesting that Banshee could distribute a new plugin for that. I can certainly understand that Canonical doesn't want to do that itself, but Ubuntu people could. Is there any reason that Ubuntu can't ship this small plugin (17 KB) itself, on the CD, or even in a package in the Ubuntu repositories? If people would do the job, would the package get accepted on the CD? I don't want to guess, so I'll leave the question open.

The whole decision process is just alarmly broken. Canonical came with two options, and one was chosen by Banshee developers. There was some reaction in blog posts, news articles and comments about the two options, that were already negative about the proposed choice. And then Canonical came back with what I understand is a unilateral decision, that does not respect the previous explicit choice of Banshee developers. Sure, there's now 25% of the referrals fees from the Ubuntu One Music Store, but did some people really think that would make Banshee developers change their mind? How can this sound right?

I'm sure I could go on and on, if I'd take more time, but I'm not sure it's worth it. If the deal was something like 25%/75% or even 50/%50, I think I'd feel a bit better but I'd still want the money to go to Ubuntu instead of Canonical, especially as Canonical did absolutely nothing to develop this Amazon MP3 Store plugin. I'd be surprised if the Ubuntu community would have no use for money that it could decide how to spend.

The bottom line is that I'm highly annoyed. It's just yet another illustration that, even though some parts of Canonical care (or try to care) about upstream, in the end, what matters to Canonical is money. I'm even more annoyed because I have many good friends at Canonical, and that makes me not want to dislike their company.

Canonical, you're breaking my heart: I thought you understood the spirit of Free Software, but you're just another normal company that is first going after money.

Tuesday 25 January 2011

Results of the App Installer meeting, and some thoughts on cross-distro collaboration

Results of the App Installer meeting

The App Installer meeting is over since Friday, and I must say I've been very pleased with the results of this meeting. During three days (rather two days and a half), we managed to explore the topic, investigate some pre-existing technologies, define an architecture to handle the creation and the communication of the metadata, write a plan to move forward, etc. And we managed to all agree on this!

The first part of our plan is of course to communicate the results. And we've started right ahead by doing an informal presentation about our work at the SUSE offices. The good news is that it was recorded and you can see it online (thanks Christopher for this!). I guess I'm awful, but you'll all be able to watch Enrico and Richard save the day. Richard also drawed a nice diagram to summarize the overall architecture, so if you want to simply take a quick glance at what we produced, this is where you should go.

I've had positive feedback about the meeting, but it's important to keep in mind that it's only a beginning: we'll now work on implementing all the cool stuff. This means we have a long road ahead of us, and we need to be careful to not get too much distracted. With all the other tasks and responsabilities we all have, it is indeed very easy to put that at the back of our mind. That's partly why we defined a relatively aggressive schedule, targetting the end of the year to have something usable and shipped in distributions.

Thanks again to Novell for hosting the event, and to Canonical, Debian, Novell and Red Hat for enabling the attendees to participate in this meeting!

Some thoughts on cross-distro collaboration

While working on the organization at the end of last year, I've heard people saying that a cross-distro meeting on an important topic like this can hardly succeed -- if you manage to make it happen, that is. I've also heard very enthusiastic voices, like Stefano and several of the people who later attended the meeting. I got to think a lot about cross-distro collaboration.

The fact is that it's still much easier to work on things in a corner. The funny thing is that people are generally not opposed to work together, far from it. When discussing low-level bits related to packaging systems, many would expect dpkg/apt developers and rpm/zypp developers to have some heated discussion just because we always hear confrontational stories here and there. The truth is that those stories are generally from users, and developers are generally happy to accept differences.

For collaboration to really happen, gathering the right people from different distributions is an essential step. However finding the right people can be the hardest part, and I believe this is generally where we fail. I happen to know people from many distributions because of my work on GNOME, and while I obviously don't know who might be the appropriate people for a specific area for all distributions, I can at least ask some friends who should be contacted. While I love to think I'm unique and all that, I'm sure many contributors in distributions do know people from other distributions, so I wonder why there's no more communication going on. Maybe we're just all too busy.

Another point that is important for collaboration is to correctly define the scope and goals of the topic being discussed. Especially for a meeting: like for all meetings, this helps ensure everyone is aligned towards a common set of goals. And like for all meetings, it's important to keep everyone focused: it's extremely easy to start diverging away from the topic of a session, and to realize at the end that the original topic was not really covered. Defining how to measure the success of the collaboration keeps you on track. Yes, it sounds obvious, but we often forget that step.

In the specific case of this App Installer meeting, I believe there is another key point that helped us. We generally all had a similar vision of where we wanted to go, even before the event. So this meeting was used to iron out the big lines and to start defining the details: we didn't have people trying to push a solution over another one. This helped us move much faster, and that's why we were able to agree on so many different things in such a short timeframe, without any prior meeting. We were lucky here :-)

To be honest, since I started working on openSUSE, I've kept wondering why all distributions duplicate so much work. Sometimes, there is a good reason, like a radically different technical approach. But sometimes, it looks like we're going different ways just for the sake of doing something ourselves. We should fix this. Cross-distro collaboration is not the way we usually do things, and I believe we're wrong most of the time. Cross-distro collaboration is a cultural shift for us. But it's very well needed.

Tuesday 18 January 2011

Cross-distribution meeting on application installer

Back in October, at the openSUSE Conference, many people were interested in the whole app store/market place/software center topic for openSUSE: we had a session about that, and several hallway discussion. There is no big surprise here, since it's a hot topic for various OS distributors, and not just our free distributions. Of course, being lazy people, we discussed what we could re-use to minimize our work; the software center used in Ubuntu and the app-install work that Richard did a while ago came to our minds.

And then we thought: Hrm, why do this in our corner? Everybody is doing this in a corner. Let's see if we can work together!

Obvious idea, right? But on the other hand, everybody is generally all for collaboration, but when it comes to do the work, it's easier to hack in a corner. So we didn't exactly know what to expect: is this something that can really happen, or is this just a blue-sky dream? I decided to give it a try.

In the past couple of months, I chatted with people from various distributions to organize a cross-distribution meeting. I first talked to Michael (Ubuntu), and Richard (Fedora) who were both enthusiastic about the idea. I met Stefano (Debian) at an event in Toulouse, and we had a great chat about many topics; that lead me to ask him if we could help find some Debian people interested in this. I discussed with Michael (Mageia) to find out the relevant people in Mageia, and a few people were interested in the topic. And of course, I knew the right openSUSE people ;-) So after a few weeks, it turned out there was great interest from Debian, Fedora, Mageia, openSUSE and Ubuntu, with people willing to attend such a meeting. I then sent out a mail to distributions@fd.o, to open this up to other distributions.

Fast-forward a bit, and here we are today: I'm flying to Nuremberg in a few hours to attend this cross-distro meeting on application installer, that will occur in the next three days with a group of 14 people. The goals are to see where and how we can work together on the end-user experience as well as on the application metadata that we want to provide. It might all sound easy, but the fact is that with all distributions building its own packages, on its own infrastructure, with different metadata and different users who could create more metadata, we're currently not set to share anything, which is a shame. This meeting will help us decide where we can mutualize our efforts to provide the best end-user experience possible for everyone.

Three days is a short time for a topic like this, and we obviously won't do everything we'd love to. But I'm optimistic about the result :-)

Thanks to Novell for hosting and sponsoring a few attendees, to Canonical and Red Hat for sending people on their own budget, to Debian for helping sponsoring a last-minute attendee, and also to some attendees who didn't need sponsorship at all!

Monday 6 December 2010

Join us on Saturday for the next openSUSE "Zombie" Bug Day

A bit less than ten days ago, we held an openSUSE Bug Day on what we call the zombie bugs: those are the bugs opened against non-maintained versions of openSUSE. We didn't want to mass-close them, since some of them are still valid and might have important information.

And it turns out we achieved some really great results:

Open bugs in:openSUSE 10.2openSUSE 10.3openSUSE 11.0Total
Before40162526728
After1589360464

We managed to triage 46%36% of those old bugs, thanks to the small team of around 10-15 people who participated! But we want more, and if you feel bad because you were not able to contribute, you'll have another chance to help :-)

We'll do another "Zombie" Bug Day next Saturday (December 11th), in #opensuse-bugs on freenode. The documentation from the last bug day is still valid, and the most important thing that you should know is that everybody can help: just join us and we'll guide you, even if you only have 30 minutes of free time!

And be sure that you'll enjoy it: we had a lot of fun last time!

Friday 26 November 2010

Quick reminder: openSUSE Bug Day tomorrow!

I'm slowly getting back to speed (had to catch up for some time after various travels, more on this later), and I expect exciting action tomorrow during the next openSUSE Bug Day!

There was a thread on "zombie" bugs two weeks ago: the discussion was aobut what we should do for bugs opened against obsolete versions of openSUSE (10.2 to 11.0). Among the solutions that we could think of: doing nothing (okay, not really a solution), mass-closing the bugs, or organizing some teamwork to triage them. I'm personally not a big fan of mass-closing bugs (at least, not before we try a few other things), and I believe bug triage is a really good way to start contributing to a free software project. This lead to the idea of dedicating a bug day to cleaning up those zombie bugs.

Alexander and I quickly worked on organizing this, and we decided that doing it on a Saturday would be a good way to have more participation from people who usually cannot contribute during the week. Hopefully this will work out fine :-) I know that it's not the best timing for our american friends, but we'll do more in the future anyway!

If you want to help openSUSE, join us tomorrow on IRC in #opensuse-bugs (on freenode)! Being on IRC is one of the most important step to participate, since this how we will interact with each other, and this is where you will be able to ping people to get started. You obviously don't have to dedicate your whole day to this, you can come for 30 minutes or 6 hours — it's up to you, but you can be sure that your participation will make a difference! Oh, and I dumped some brief documentation for this bug day; this should help for the first few steps.

- page 6 of 43 -

by Vincent