GCDS round-up 6: The tail-off

community, freesoftware, gnome, guadec No Comments

The last in the series!

After Mobile Day on Wednesday, I chilled out on Thursday morning, and attended the GNOME Foundation AGM where I gave a quick report on GNOME Mobile, before heading off to play in the fourth annual FreeFA world cup, with the mad dogs and Englishmen who went out in the midday Gran Canaria sun to play football for 2 hours.

As is usual, the team I played on won and the team that Bastien played on lost 🙂 After the match, though, I let Bastien in on my secret: always play with the team with the most local guys. Why? Because the people from the local team who take time off to go play in the patch usually play regularly. The rule has never let me down 🙂

Another highlight of the match was Diego, ending the match without breaking a sweat, finally broke a sweat just as we were taking the group photo at the end.

Thursday evening, met up with Federico Mena, and Jonathan and Rosanna Blandford for a very interesting hippie BOF, with conversation varying across a bunch of subjects, including compost heaps, growing trees and herbs, architecture pattern languages, cultural variations in building design, and more. On to dinner, and home to the hotel early, ready for the cycling trip on Friday.

Up early on Friday, down to breakfast, no sign of Aaron or J5 yet, so I start eating without them, and go get started with the bike. Turns out we were sitting in different parts of the lobby in the Fataga.

Armed with bikes, we set off around 9:30 to get to Arucas, on our way to Teror. We made pretty good going of it along the waterfront, and after taking it fairly easy on the edge of the motorway (surprising that we could cycle there actually, but apparently that’s the only way to get where we were going) along the coastloine, we finally came to the intersection for Arucas. John was starting to find the going a little tough already, but nothing had prepared us for what was next.

The nice straight GC-20, from the coast to Arucas, was steep, much steeper than I had expected (if I had to guess, I’d say an average of around 8% with some bits around 10%). It was a struggle, but we got to the top, before a nice long downhill stretch to come into Arucas, after which we all needed a water stop. We agreed that the goal of Teror (600m higher and 15km further on) was probably not realistic, so we decided to cut across on the GC 300 to Tamaraceite, grabbing lunch in the first village we came to on the road.

And so we set out after a nice long break & a walk around the “cathedral” in Arucas, the town gardens and the main shopping district (with a detour by a farm supplies store) for what we thought would be a nice light 20 minute cycle to the next town over. No such luck.

After climbing a nice hill straight out of Arucas, we had our reward – a really nice winding fast descent towards Tenoya. But when we got up to the village of Tenoya, we couldn’t find a restaurant anywhere. Eventually a nice old man pointed us towards “la cantina”, which turned out to be a bar with some very nice young men standing outside calling us crazy. So we decided to go to the next village over.

Through a road tunnel – watch out for the oncoming cars! Traffic lights don’t know about bikes going through and we didn’t have lights. then we got to a sort of service station with a promising sign: “Supermarket in Las Mesas: 500m”. If you ever come across that sign, don’t believe it. Between us and lunch was a killer hill and 2km of dusty road.

We settled in to la Cantina to weather the hottest part of the day, had some nice lunch (food always tastes better after physical effort) and set off again to get back to Gran Canaria. Getting around Tamaraceite was a bit tricky, we took one or two wrong turns before finding the nice small back road to get us on the right track. Then one last killer hill, up the Cuesta Blanca to the major shopping district, and then downhill all the way through the roundabouts, right down to the hospital near the golf club, and home.

It was a great ride, lots of fun, and I’m happy I made time for it. Aaron & John were great partners.

After that, packed my bags, out for dinner with Lefty, home to bed quite early, and up with the birds for an early flight, when I got to run into lots of GCDS attendees in the airport – a nice breakfast with Guy Lunardi, Jonathan & Zana and Owen Taylor (IIRC), and I was off on my plane once more. Homeward bound, for a few days, before heading off to OSCON and the Community Leadership Summit.

GCDS round-up 5: Mobile Day

community, gimp, gnome, guadec, maemo 5 Comments

Nearing the end of the series on the Gran Canaria Desktop Summit.

On Wednesday morning (after SMASHED), we had to get to the new location for the conference. I missed the bus window of 8am to 9am, so I took a taxi, without knowing the address of where we were going, other than knowing that it was the “Gran Canaria university, informatics building”. Turns out that’s not enough information for a taxi driver 🙂 Anyway, got there eventually, late for the opening session, and a little more expensive than expected. I also lost some change down the back of the bucket seat, so he even got a tip.

Anyway, the rest of the day went pretty well, and we had some great mobile related presentations (to compliment all of the other mobile related content in the conference):

  • Multimedia in your pocket, by Stefan Kost: Nice presentation on using MAFW to build complex multimedia applications
  • Designing Moblin-Netbook. A free desktop on a 7-10″ Screen, by Nick Richards: Great overview of the Moblin platform, and the design principles guiding it – from design requirements, personas, and dealing with constraints.
  • Hildon desktop in Maemo 5 by Kimmo Hämäläinen: An overview of the Hildon desktop on a whiteboard by Kimmo.
  • MAFW: the Media Application Framework for Maemo by Iago Toral: Drilling down into the details of MAFW.
  • Why its easier to re-invent rather than participate on the mobile? by Shreyas Srinivasan: My favourite presentation of the day. Shreyas laid out what he had expectied from GNOME Mobile, the problems he encountered, his understanding of the issues, and some proposed solutions to those problems. All in 15 minutes. I really appreciate people who don’t pad out the content that they have to present and instead focus on making a high-impact presentation.
  • GNOME Mobile BOF, led by myself: We talked about how far we’ve come, the original goals of the initiative, and identified a bunch of things that we can improve short-term and medium-term.

Had a great dinner again on Wednesday, in a tapas bar with some Red Hatters and Michael Meeks, and then on to the party. Wednesday night was the golf club party, sponsored by Collabora, with a free bar until 1 (of which I mostly did not avail – I was being good), and I was in bed by 2. It was a great party, and I picked up another couple of cyclists for the outing I had been planning for Friday, before they wimped out on me.

GCDS round-up 4: Days 2 – 4

General, gnome, guadec, maemo 2 Comments

Sunday, Monday and Tuesday were the “core” days of the Gran Canaria Desktop Summit, with cross-desktop and KDE & GNOME specific presentations throughout. I caught a number of presentations, but mostly I was chatting in the hallway track, or doing work on the schedule, or actually working.

For me, the story of the 3 days was “parties”. I missed the early sessions on Sunday and Monday to get breakfast at 10am, after the parties hosted by Nokia (Sunday night) and Igalia (Monday night) – I was relieved that there was no party planned on Tuesday night, my 35 year old body couldn’t stand the pace! Great parties, not marred by excessive boozing mostly, and some great chats, notably with jrb, and Adam Dingle and Jim Nelson from Yorba, makers of Shotwell, a Vala photo manager with some really nice features and plans. And some great discussions with Michael Meeks and Matthew Garrett on the fouton during the Igalia party, with Federico Mena Quintero on architecture design patterns, and Jorge Castro on dinosaurs. I also got to meet Joaquim from Igalia, the Macacque band were great, but I’m sure that a hoarse Lefty regretted sweet home chicago and smoke on the water the day after.

I did get to some presentations though (here with a one line summary):

  • Power management by Matthew Garrett: “Power management isn’t doing the same amount of work, slower. Do less work, or you’re killing polar bears.”
  • ConnMan by Not Marcel Holtmann (Joshua Lock from Intel gave the talk in the end – thanks Emmanuele!): “ConnMan solves some problems for Moblin that NetworkManager wasn’t designed to solve.” (I think).
  • Bluetooth on Linux by Bastien Nocera: “It mostly works now”
  • Introduction to GNOME Shell, by Owen Taylor: “It’s pretty cool stuff already”
  • GNOME Zeitgeist, by Thorsten, Seif and Federico: “We record what you’re doing”
  • Communicating design in development, by Celeste Lyn Paul: “Keep it simple until they get the design principle, excessive realism too early just makes the discussion about the details”. Unfortunately, I don’t see a video available, highly recommended viewing if there was one.
  • GNOME 3.0: A live circus^Wstatus update, by Vincent Untz et al: “It’s not just GTK+, Zeitgeist and GNOME Shell”
  • GNOME 1,2,3, by Fernando Herrera and Xan Lopez: “A history of GNOME with thanks to YouTube” (my favourite presentation of the conference)
  • Personal Passion lightning talks, by Aaron Bockover: “We’re not just Free Software hackers!” This was absolutely my second favourite session of the conference. We got a 10 minute overview of the burnout cycle from Jono Bacon, underlining how important it is to have a life outside of software, and heard from people whose passion was running (complete with a soundtrack of me finishing a marathon), airplanes, motorcycling, cooking, bacon, dinosaurs, Aikido, buddhism and calligraphy, trekking in Argentina, and also a couple of geeky ones on icon design and scheme (which was very enjoyable indeed, thanks Andy!)

Update: Memory playing tricks with me – for of course, Tuesday evening was the highly anticipated meeting of SMASHED. We finally met at the Mare Baja again, where the opening night party was held, and enjoyed a bunch of tapas courtesy of CodeThink, before scoffing down some great whisk[e]y, including (from memory) a 21yo Highland Park, a nice 16yo Longmorn, a very lod bottle of Oude Ginever from Lefty, an old standard Connemara single malt, and a Yamazaki 10yo I brought.

SMASHED 2009 in Gran Canaria

SMASHED 2009 in Gran Canaria

Festivities carried on until after 1pm, when I left with Andrew Savory and someone else (whose name I don’t recall), and Behdad got in an unprovoked fight with the footpath on the way back to the hotel – it came right up and hit him in the face. Some nice KDE people took him to the hospital to get sewn up – luckily the group photos had been taken earlier in the day.

Got back to the hotel around 2, and tried to catch up on some of that beauty sleep before Mobile Day on Wednesday in the new conference location in the university.

Gathering Gran Canaria press and feedback

del.icio.us, gnome, guadec No Comments

I have been bookmarking Gran Canaria Desktop Summit blogs, articles, photos and more today, and I could definitely use some help (help!).

So, here’s what I have:

  • Tag all GCDS related webpages as gcds
  • Tag pages related to specific presentations with presentation and talk (slides or video or presentation description inline)
  • Tag blog entries as blog
  • Tag photo pages as photos
  • Tag news articles (outside press, including slashdot for example) as press
  • Tag non-English articles with the language they’re written in
  • Optionally tag GNOME specific content with guadec gnome
  • Optionally tag KDE specific content with akademy kde

This way, we can find all of the GCDS related press, GCDS related blogs, GCDS photos and so on, as well as having one big bucket of GCDS related content. There are hundreds of blog entries, and I didn’t get them all. So as an easy first step, if you blogged about your presentation, put up a photo set, spot an article about the conference (in any language) or blogged about the conference in general, please tag your content in delicious. It makes it easier to filter everything and get an idea of the buzz created, generate publicity for future conferences, and a ton of other good stuff.

Thanks!

Gran Canaria wrap-up 3: Day 1

gnome, guadec No Comments

Saturday morning, dragged my sorry ass out of bed to get to the conference hall for 9am. Shared a taxi with Stormy & Behdad, got my badge, met the keynotes (except Richard, who I was told would be arriving later), briefed them on how the morning was going to go down. I had some hastily written introductions for each of the keynotes I wrote around 2.30 the night before, after Stormy told me that it looked like I was going to be introducing people.

The opening got underway at 10:00, and kept good time. The local politicians who wanted to show their support and excitement without getting in the way did a fine job. Thank you very much to the Cabildo, the high school and the university for having us.

I introduced and attended all the keynote sessions, I was particularly impressed with Robert Lefkowitz‘s (better known as r0ml) presentation, although I would have liked to hear the end of his argument (I got a chance to get the main details later, and I like it). As I said in his introduction, Robert never tires of teaching us that the ideas which we consider radical and revolutionary now were also radical and revolutionary centuries ago. In this case, Robert was arguing that software development was more liberal art than production, and thus as a liberal art, it is something which people should learn merely for the enjoyment of the pursuit. In his words, liberal software is software which a gentleman would use. The continuation of the argument is thus that liberal software is more like reading and writing than brain surgery, and thus in time, everyone should learn the basics of programming, since it will be just another way of expressing oneself. He also mentioned an aside that since liberal, unlike “free” or “open” is a gradient rather than an absolute, it is possible for software to be more or less liberal than other software, with some unusual conclusions.

The second keynote, Walter Bender, former president of One Laptop per Child, and current executive director of Sugar Labs, presented his vision for educational software, which was the really revolutionary part of the OLPC project, and his continued pursuit of that vision through Sugar Labs. A cause worthy of our support.

Half way through Walter’s presentation, I was getting a little worried that I had not yet seen Richard. So I got up, and asked around, I was informed that he was here, in the building somewhere, and would be in the auditorium 5 minutes before it was time for him to start. The problem is that I didn’t know where he was, and hadn’t yet met him.

Later in the presentation,Walter was coming to the end of his planned slides rather earlier than had been planned, so I asked a local organiser to find Richard and get him to the auditorium ASAP. In the end, Walter demonstrated some of the Squeak tools on the Sugar system, and even ran a little over time. Not knowing what to do, I thanked him for his presentation, and told the masses that Richard was around somewhere, and that we would get him ASAP. Unfortunately, a significant number of people took this to mean that there was a break, and started leaving the auditorium, around the same time that Richard entered, from stage right, apparently unaware that I had been frantically trying to get him to the hall.

Anyway, after introductions, Richard Stallman started his presentation, with people still coming back into the hall. After an overview of the four tenets of free software, he gave a history lesson of the origins of GNOME, and a warning about the dangers of Mono, before his Saint Ignucius segment which has garnered so much attention, and the auctioning of a gnu (benefits to the Free Software Foundation) for €150 if memory serves, and some rather heated Q&A.

After that, Richard went for a press conference, and I went to lunch with our other invited guests to a very nice tapas place near the beach.

In the afternoon, Quim Gil of Nokia presented the future of the Maemo project, a future closely coupled to GNOME technology, but whose face will be QT from Maemo 6 onwards.

I was in the press room for some press conferences and interviews for the rest of the afternoon, but before leaving I had a funny story at the start of the lightning talks where my laptop, which Quim had borrowed for his presentation, and which I left there for the lightning talks, didn’t appear to be working any more, and in spite of frantic xrandr manipulations, we could not get the screensaver off the big screen.

The organisers finally realised what was going on, and turned off the screensaver, which was in the projector. This is particularly funny because, after the first lightning talk finished, the technician once again put the screensaver up, and the person running the lightning talks (sorry Mr. “Buried in the Sand” Mexican, I can’t remember your name) wasn’t aware of what had gone before,  causing him to think my laptop was broken. More xrandr/frantic hand-waving/laptop changing followed, before the technician once again removed the screensaver. I believe we got to the 3rd presentation before he realised that we didn’t want the screensaver between 5 minute presentations. It’s moments like those that make you realise the importance of talking to the A/V technicians beforehand so that hand signals and instructions are known to all concerned.

One person remarked that this kind of story is typical of free software hackers – while other people arriving to give presentations go talk to the organisers and say “here, I am in your hands, instruct me”, we want to use our own laptops, record our own video, and in general master and change our environment.

Anyway, after the conference, I headed out to dinner with Karen Sandler, Walter, r0ml and some other people we met on the way to look for a very nice place I had eaten in with Vincent, Claudia, Will and Sebas when scouting the place in December. Unfortunately, my well placed intentions were not matched by a sense of direction and good memory, but we ended up in a very nice grill place where we had also eaten in December. Nice wine & food was had, interspersed with funny and tragic stories (sometimes both at the same time), capped off by some very nice rum, offered by the establishment.

Beers near the beach, followed by some later beers with Matt Garrett and others (what happens in Gran Canaria stays in Gran Canaria) crowned off a choc-a-block day that ended around 2am.

Gran Canaria wrap-up 1

community, gnome, guadec 13 Comments

First in a long series that will probably get finished next June, just in time for the next edition

Of course I was aware of the reaction to RMS’s keynote during the conference, and spoke about it with Lefty on a number of occasions.

I have been bothered by the creation of a “meme” which has, apparently, been perpetuated by people who weren’t even at the conference. The meme seems to be speaking more to Richard’s Mono comments (my opinion here) rather than the Emacs virgins segment, but it’s sufficiently ambiguous that I can’t tell.

If people are primarily concerned about the Mono comments, then say so – it’s not useful to conflate two issues. If you’re primarily concerned with the emacs virgin jokes, then for all those who weren’t at the keynote, or who don’t remember exactly what Richard said, go look at it now:

Aside: anyone know how to embed a youtube video on GNOME Blogs?

Richard is sufficiently predictable that he has been giving the same segment, word for word, for many years – last week was my third time to hear it – and to my knowledge this is the first time there has been such outcry.

Personally, I didn’t think it was offensive. As a born & bred (unbelieving) catholic, we’re big into the Virgin Mary ourselves, and while the “relieving them of their emacs virginity” line felt a bit awkward, I didn’t think that the segment was particularly offensive or inappropriate. I could see how others might feel uncomfortable, and so I have no problem with someone who did feel that way taking the point up with Richard directly. Go look at the video, and make up your own mind.

This is to underline a point: Offensiveness is in the eye of the beholder. It is dangerous to jump on a band-wagon about something as significant as whether someone was inappropriate or not if you were not there. I spoke to a number of people who were bothered by the speech, and many more who hadn’t noticed anything in particular, and who laughed along. It’s very easy to jump on a morally outraged bandwagon, without knowing what we’re talking about exactly.

I don’t mind people being morally outraged, I occasionally am myself, but at least make sure you are before you get in a huff. I have a lot more respect for Lefty, Chani and others who were at the conference than the sheep jumping on the issue as an easy way to take a pot-shot at the FSF and Richard Stallman. Oh – and for all the Boycott Novell crowd that are jumping on this as a way to get at people who support Mono, the same thing I said earlier goes for you too – conflating the issues isn’t helpful, in fact it’s inflammatory, stop harming our community with your bad behaviour.

By the way, the “Stop sexism” sign referred to a presentation in a rails conference, where a guy was using scantily clad glamour model shots to illustrate his talk about how “hot” rails was, IIRC. A bunch of rails heavyweights including DHH jumped in to defend him against the “thin-skinned” crowd. Is a parody of the christian church comparing an editor to a god really on the same scale? I dunno, maybe. Like I said, I can see how some people might not like it, but it didn’t bother me.

Can we move on now?

Update: Before moving on, one thing needs clarification. Let me emphasise one thing I said above: while I personally didn’t find RMS’s Emacs virgins segment offensive, I can see how others might. Taking someone to task because they were made uncomfortable by something is never acceptable. Accept that they were made uncomfortable, explain that it wasn’t intentional, apologise, move on. As I said, being offended is in the eye of the beholder. Other people are just as entitled to feel uncomfortable as you are to be unoffended. So to all those posting comments in Chani, Lefty and others’ blogs telling them to grow a thicker skin, get a life, or whatever other bile you’ve been spewing, think about that. And then don’t post the comment.

Last minute schedule change: Personal passions

General, gnome, guadec 1 Comment

I was talking with Aaron Bockover yesterday and he told me that he wasn’t going to give the Silverlight talk which he had submitted back in March, and that he planned to give a presentation on something completely unrelated that he found interesting. Chris Blizzard suggested that he could give a lightning talk on amateur aeronautics, and as the idea spread a whole bunch of ideas on interesting non-GNOME related subjects that GNOME community members are interested in came up from architecture to running. There’s also a really valuable short talk on the burnout cycle (and how to break it) from Jono Bacon in there. So for 45 minutes, we will have a set of lightning talks reflecting the eclectic nature of the GNOME community – if you see Aaron and have something you are passionate about that you want to talk about for 3 to 5 minutes, grab him today or turn up at his session at 5:30 and shout.

And spread the word!

Why I disagree with RMS concerning Mono

freesoftware, gimp, gnome, maemo, openwengo 43 Comments

The GNOME press contact alias got a mail last weekend from Sam Varghese asking about the possibility of new Mono applications being added to GNOME 3.0, and I answered it. I didn’t think much about it at the time, but I see now that the reason Sam was asking was because of Richard Stallman’s recent warnings about Mono – Sam’s article has since appeared with the ominous looking title “GNOME 3.0 may have more Mono apps“. And indeed it may. It may also have more alien technology, we’re not sure yet. We’re still working on an agreement with the DoD to get access to the alien craft in Fort Knox.

Anyway – that aside, Richard’s position is that it’s dangerous to include Mono to the point where removing it is difficult, should that become necessary to legally distribute your software. On the surface, I agree. But he goes a little further, saying that since it is dangerous to depend on Mono, we should actively discourage its use. And on this point, we disagree.

I’m not arguing that we should encourage its use either, but I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents. In this particular case, the law is an ass. The patent system in the United States is out of control and dysfunctional, and it is bringing the rest of the world down with it. The time has come to take a stand and say “We don’t care about patents. We’re just not going to think about them. Sue us if you want.”

The healthy thing to do now would be to provoke a test case of the US patent system. Take advantage of one of the many cease & desist letters that get sent out for vacuous patented technology to make a case against the US PTO’s policy pertaining to software and business process patents. Run an “implement your favourite stupid patent as free software” competition.

In all of the projects that I have been involved in over the years, patent fears have had a negative affect on developer productivity and morale. In the GIMP, we struggled with patent issues related to compression algorithms for GIF and TIFF, colour management, and for some plug-ins. In GNOME, it’s been Mono mostly, but also MP3, and related (and unrelated) issues have handicapped basic functionality like playing DVDs for years. In Openwengo, the area of audio and video codecs is mined with patent restrictions, including the popular codecs G729 and H264 among others.

What could we have achieved if standards bodies had a patent pledge as part of their standardisation process, and released reference implementations under an artistic licence? How much further along would we be if cryptography, filesystems, codecs and data compression weren’t so heavily handicapped by patents? Or if we’d just ignored the patents and created clean-room implementations of these patented technologies?

That’s what I believe we need to do. Ignore the patent system completely. I believe strongly in respecting licencing requirements related to third party products and developer packs. I think it’s reasonable to respect people’s trademarks and trade secrets. But having respect for patents, and the patent system, is ridiculous. Let a thousand flowers bloom, and let the chips fall where they may.

So if you want to write a killer app in Mono, then don’t let anyone tell you otherwise. If you build it, they will come.

Football clubs and free software projects

community, freesoftware, gnome, maemo 4 Comments

A few weeks ago I pointed out some similarities between community software projects and critical mass. After watching Chelsea-Barcelona last night – an entertaining match for many of the wrong reasons and a few of the right ones – I wanted to share another analogy that could perhaps be useful in analysing free software projects. What can we learn from football clubs?

Before you roll your eyes, hear me out for a second. I’m a firm believer that building software is just like building anything else. And free software communities share lots of similarities with other communities. And football clubs are big communities of people with shared passions.

Football clubs share quite a few features with software development. Like with free software, there are different degrees of involvement: the star players and managers on the field, the back-room staff, physiotherapists, trainers and administrators, the business development and marketing people who help grease the wheels and make the club profitable, and then the supporters. If we look at the star players, they are often somewhat mercenary – they help their club to win becauise they get paid for it. Similarly, in many free software projects, many of the core developers are hired to develop – this doesn’t mean they’re not passionate about the project, but Stormy’s presentation about the relationship between money and volunteer efforts, “would you do it again for free?” rings true.

Even within the supporters, you have different levels of involvement – members of supporter clubs and lifetime ticket holders, the people who wouldn’t miss a match unless they were on their death bed, people who are bringing their son to the first match of his life in the big stadium, and the armchair fans, who “follow” their team but never get closer than the television screen.

The importance of the various groups echoes free software projects too – those fanatical supporters may think that the club couldn’t survive without them, and they might be right, but the club needs trainers, back-room staff and players more. In the free software world, we see many passionate users getting “involved” in the community by sending lots of email to mailing lists suggesting improvements, but we need people hacking code, translating the software and in general “doing stuff” more than we need this kind of input. The input is welcome, and without our users the software we produce would be irrelevant, but the contribution of a supporter needs to be weighed against the work done by core developers, the “stars” of our community.

Drogba shares the love

Drogba shares the love

Football clubs breed a club culture, like software projects. For years West Ham was known for having the ‘ardest players in the league, with the ‘ardest supporters – the “West ‘Am Barmy Army”. Other clubs have built a culture of respect for authority – this is particularly true in a sport like rugby. More and more the culture in football is one of disrespect for authority. Clubs like Manchester United have gotten away with en masse intimidation of match officials when decisions didn’t go their way. I was ashamed to see players I have admired from afar – John Terry, Didier Drogba, Michael Ballack, in the heat of the moment show the utmost of disrespect for the referee. That culture goes right through the club – when supporters see their heroes outraged and aggressive, they get that way too. The referee in question has received death threats today.

Another similarity is the need for a sense of identity and leadership. Football fans walk around adorned in their club’s colours, it gives them a sense of identity, a shared passion. And so do free software developers – and the more obscure the t-shirt you’re wearing the better. “I was at the first GUADEC” to a GNOME hacker is like saying “I was in Istanbul” for a Liverpool supporter.

This is belonging

This is belonging

So – given the similarities – spheres of influence and involvement, with lots of different roles needed to make a successful club, a common culture and identity, what can we learn from football clubs?

A few ideas:

  • Recruitment: Football clubs work very very hard to ensure a steady stream of talented individuals coming up through the ranks. They have academies where they grow new talent, scouts, reserve teams and feeder clubs where they keep an eye on promising talent, and they will buy a star away from a competing club based on his reputation and track record.
  • Teams have natural lifecycles: When old leaders come to the end of the road, managers often have trouble filling the leadership void. Often, it’s not one player leaving, but a group of friends who have played together for years. Teams have natural lifecycles, but good teams manage to see further ahead, and are constantly looking to renew the team, so that they don’t end up in a situation where they lose 5 or 6 key players in one season
  • Build belonging: Supporters want to show their sense of belonging, and people who don’t have the skillz to be on the field still want to wear their team colours, and share their passion for the team. Merchandising is one way to do that, but not the only way. We should look at the way clubs cultivate their user groups and create a passionate following
  • Leaders decide the culture: We owe it to ourselves to systematically grow a nurturing culture at the heart of our project – core developers, thought leaders, anyone who is a figurehead within the project. If we are polite and respectful to each other, considerate of the feelings of those we deal with and sensitive to how our words will be received, our supporters will follow suit.

Are there any other dodgy analogies that we can make with free software develoment communities? Any other lessons we might be able to draw from this one?

Copyright assignment and other barriers to entry

community, freesoftware, gnome 18 Comments

Daniel Chalef and Matthew Aslett responded to my suggestion at OSBC that copyright assignment was unnecessary, and potentially harmful, to building a core community around your project. Daniel wrote that he even got the impression that I thought requesting copyright assignment was “somewhat evil”. This seems like a good opportunity for me to clarify exactly what I think about copyright assignment for free software projects.

First: copyright assignment is usually unnecessary.

Most of the most vibrant and diverse communities around do not have copyright assignment in place. GIMP, GNOME, KDE, Inkscape, Scribus and the Linux kernel all get along just fine without requesting copyright assignment (joint or otherwise) from new contributors.

There are some reasons why copyright assignment might be useful, and Matthew mentions them. Relicencing your software is easier when you own everything, and extremely difficult if you don’t. Defending copyright infringement is potentially easier if there is a single copyright holder. The Linux kernel is pretty much set as GPL v2, because even creating a list of all of the copyright holders would be problematic. Getting their agreement to change licence would be nigh on impossible.

Not quite 100% impossible, though, as Mozilla has shown. The relicencing effort of Mozilla took considerable time and resources, and I’m sure the people involved would be delighted not to have needed to go through it. But it is possible.

There is another reason proponents say that a JCA is useful: client indemnification. I happen to think that this is a straw man. Enterprise has embraced Linux, GNOME, Apache and any number of other projects without the need for indemnification. And those clients who do need indemnification can get it from companies like IBM, Sun, Red Hat and others. Owning all the copyright might give more credibility to your client indemnification, but it’s certainly not necessary.

There is a conflation of issues going on with customer indemnification too. What is more important than the ownership of the code is the origin of the code. I would certainly agree that projects should follow decent due dilligence procedures to ensure that a submission is the submitter’s own work, and that he has the right or permission to submit the code under your project’s licence. But this is independent of copyright assignment.

Daniel mentions Mozilla as an example of a non-vendor-led-project requiring copyright assignment – he is mistaken. The Mozilla Committer’s Agreement (pdf) requires a new committer to do due dilligence on the origin of code he contributes, and not commit code which he is not authorised to do. But they do not require joint copyright assignment. Also note when the agreement gets signed – not on your first patch, but when you are becoming a core committer – when you are getting right to the top of the Mozilla food chain.

Second: Copyright assignment is potentially harmful.

It is right and proper that a new contributor to your project jump through some hoops to learn the ways of the community. Communities are layered according to involvement, and the trust which they earn through their involvement. You don’t give the keys to the office to a new employee on day one. What you do on day one is show someone around, introduce them to everyone, let them know what the values of your community are.

Now, what does someone learn about the values of your community if, once they have gone to the effort to modify the software to add a new feature, had their patch reviewed by your committers and met your coding standards, the very next thing you do is send them a legal form that they need to print, sign, and return (and incidentally, agree with) before you will integrate their code in your project?

The hoops that people should be made to jump through are cultural and technical. Learn the tone, meet the core members, learn how to use the tools, the coding conventions, and familiarise yourself with the vision of the community. The role of community members at this stage is to welcome and teach. The equivalent of showing someone around on the first day.

Every additional difficulty which a new contributor experiences is an additional reason for him to not stick around. If someone doesn’t make the effort to familiarise himself with your community processes and tools, then it’s probably not a big deal if he leaves – he wasn’t a good match for the project. But if someone walks away for another reason, something that you could change, something that you can do away with without changing the nature of the community, then that’s a loss.

Among the most common superfluous barriers to entry that you find in free software projects are complicated build systems or uncommon tools, long delays in having questions answered and patches reviewed, and unnecessary bureaucracy around contributing. A JCA fits squarely into that third category.

In a word, the core principle is: To build a vibrant core developer community independent of your company, have as few barriers to contributing as possible.

There is another issue at play here, one which might not be welcomed by the vendors driving the communities where I think a JCA requirement does the most harm. That issue is trust.

One of the things I said at OSBC during my presentation is that companies aren’t community members – their employees might be. Communities are made up of people, individual personalities, quirks, beliefs. While we often assign human characteristics to companies, companies don’t believe. They don’t have morals. The personality of a company can change with the board of directors.

Luis Villa once wrote “what if the corporate winds change? … At that point, all the community has is the license, and [the company]’s licensing choices … When [the company] actually trusts communities, and signals as such by treating the community as equals […] then the community should (and I think will) trust them back. But not until then.”

Luis touches on an important point. Trust is the currency we live & die by. And companies earn trust by the licencing choices they make. The Apache Foundation, Python Software Foundation and Free Software Foundation are community-run non-profits. As well as their licence choices, we also have their by-laws, their membership rules and their history. They are trusted entities. In a fundamental way, assigning or sharing copyright with a non-profit with a healthy governance structure is different from sharing copyright with a company.

There are many cases of companies taking community code and forking commercial versions off it, keeping some code just for themselves. Trolltech, SugarCRM and Digium notably release a commercial version which is different from their GPL edition (Update: Several people have written in to tell me that this is no longer the case with Trolltech, since they were bought by Nokia and QT was relicenced under the LGPL – it appeared that people felt clarification was necessary, although the original point stands – Trolltech did sell a commercial QT different from their GPL “community” edition).

There are even cases of companies withdrawing from the community completely and forking commercial-only versions of software which had previously released under the GPL. A recent example is Novell‘s sale of Netmail to Messaging Architects, resulting in the creation of the Bongo project, forked off the last GPL release available. In 2001, Sunspire (since defunct) decided to release future versions of Tuxracer as a commercial game, resulting in the creation of Planet Penguin Racer, among others, off the last GPL version. Xara dipped their toes releasing most of their core product under the GPL, but decided after a few years that the experiment had failed. Xara Xtreme continues with a community effort to port the rendering engine to Cairo,  but to my knowledge, no-one from Xara is working on that effort.

Examples like these show that companies can not be trusted to continue developing the software indefinitely as free software. So as an external developer being asked to sign a JCA, you have to ask yourself the question whether you are prepared to allow the company driving the project the ability to build a commercial product with your code in there. At best, that question constitutes another barrier to entry.

At OSBC, I was pointing out some of the down sides of choices that people are making without even questioning them. JCAs are good for some things, but bad at building a big developer community. What I always say is that you first need to know what you want from your community, and set up the rules appropriately. Nothing is inherently evil in this area, and of course the copyright holder has the right to set the rules of the game. What is important is to be aware of the trade-offs which come from those choices.

To summarise where I stand, copyright assignment or sharing agreements are usually unnecessary, potentially harmful if you are trying to build a vibrant core developer community, by making bureaucracy and the trust of your company core issues for new contributors. There are situations where a JCA is merited, but this comes at a cost, in terms of the number of external contributors you will attract.

Updates: Most of the comments tended to concentrate on two things which I had said, but not emphasised enough. I have tried to clarify slightly where appropriate in the text. First, Trolltech used to distribute a commercial and community edition of QT which were different, but as the QT Software Group in Nokia, this is no longer the case (showing that licencing can change after an acquisition (for the better), as it happens. Second, assigning copyright to a non-profit is, I think, a less controversial proposition for most people because of the extra trust afforded to non-profits through their by-laws, governance structure and not-for-profit status. And it is worth pointing out that KDE eV has a voluntary joint copyright assignment for contributors that they encourage people to sign – Aaron Seigo pointed this out. I think it’s a neat way to make future relicencing easier without adding the initial barrier to entry.

« Previous Entries Next Entries »