Documentation is important

 So I have to admit that although I've been preaching for years that open source software needs more documentation, it wasn't really something I worried about. (Probably partially because I have a good network I can always ask when in doubt.) At least that's how I felt until I got my G1 phone.

I read manuals. I read the G1 manual in a couple of minutes. And then I really wished I had the real manual – one of those that tells you everything about your phone – when …

  • At one point in time I saw a list of wireless networks on my G1. Now it just seems to connect to one. I can disconnect and reconnect … to whichever random network it wants. Nothing in the manual. Some where on my phone has got to be an option that would show me the available wireless networks and let me select one.
  • I was trying to add shortcuts to the home screen to no avail. A quick google search told me that tapping and holding would show me the most used six apps. Nope, but it did let me add a shortcut!
  • Speaking of which, my phone does a lot of cool things that I keep accidentally discovering. Like an accidental swipe to the right showed me that the home screen is three times as big as I thought!

It's a really cool phone and it does cool things, but accidentally discovering features one by one makes me feel like I'm missing out. (Not to mention the frustration I feel when I'm trying to do something I know it can do.)

So I'm not complaining about my G1. I'm just pointing out that good documentation is a good thing.

Photo by romainguy.

Why do netbook vendors make their own distribution?

Netbooks are very small, lightweight, cheap laptops. For $350-600 you get a mini-laptop, perfect for surfing the web or writing a quick document. Many of them, as I've pointed out in previous posts, have open source software desktops.

The thing that's disappointing to me is that they all have their own Linux distribution. As a matter of fact, the Eee PC I talk about so much, comes with a custom version of Xandros that is based on Xandros and KDE. (I apologize if in previous releases I made it sound like it came with GNOME. It comes with KDE and a simplified desktop based on KDE. I think the simplified interface is probably quite good for a large percentage of users. And because it has a free and open source solution on it, you can put any other open source distribution and desktop you want on it. Which I think is a big strength. I put a disto with GNOME on it, however I go back to the default option often in hopes that they've fixed everything.) Xandros isn't alone in making a custom distribution. Dell worked with Canonical for a distribution for their netbook. Rumors have it that HP is making their own distribution for their netbook.

So why is this? Why do the netbook vendors make their own distribution? On one hand, I'm glad free software gives them the ability to make their own distribution. On the other hand, I worry that we aren't meeting their needs. (My Eee PC is not perfect whether it's running the standard distribution it comes with or one that I put on it.) I hope over time, as we get more netbooks into the hands of open source software developers, those developers will make KDE, GNOME and Linux in general work better on systems with small hard drives, screens and keyboards. Netbooks, like other mobile devices, have different needs than a full laptop. I hope we can live up to the challange quickly so that users have great free and open solutions.

2.4 million more open source desktop users

According to Stephen Vaughan-Nichols there will be 2.4 million more Linux desktop users by the end of the year. And that's only counting Eee PC users.

To be exact, according to Asustek,
"The company shipped 2.5 million notebooks in the first half of this
year, 1.7 million units in the third quarter and is expecting to ship
1.9 million units in the fourth quarter, bringing the company's annual
notebook shipments in 2008 to at least six million units." Breaking
that down by operating system, "The ratio of Eee PCs preloaded Windows
XP and Linux stands at 7:3."

That's a lot of people. We need to invite both those people and Asustek to engage with our communities. The default install that comes with my Eee PC 700 still does not have wireless or camera working correctly. That's fixed in other Linux distributions but installing a new distribution requires more technical expertice than your average user has. (As anyone who saw me running around at GUADEC with a half installed distro on my Eee PC can attest to.)

As more and more open source software comes out on devices and netbooks, we need to make sure the vendors and the users are aware of the network of passionate people that are here willing to lend their expertice via mailing lists, forums and blog posts.

Does money kill good motivations?

I get asked a lot about my “Would you do it again for free?” talk. (“Would you do it again for free” was about the question, if you take developers that are working on open source software for free and you pay them, if you stop paying
them, will they still work on open source software?  This was the topic of my keynote at GUADEC, LinuxConf Australia, and SCALE – the talk evolved over time. The next step is to communicate how companies can work effectively with communities.)

I’m working on a transcript for the talk as the slides don’t standalone. However, it’s taking a long time (as I don’t spend much time on it) and I got asked again for reference material. I’m still working on the transcript but in the meantime I thought I’d share the studies I talk about it the beginning of my talk as that’s often what people ask about.

I found the following five studies that explore how external rewards affect internal or intrinsic rewards:

  1. NYC “pay for grades.” New York City is offering financial incentives to students to encourage them to do well in school. Kids are being offered up to $500 a year to take the standardized tests, get good grades and attend school regularly.  Barry Schwartz, author of The Paradox of Choice is very critical of the plan.  He says that by paying them we may actually make them less likely to want to go to school (unless they are paid.) Instead he says we need
    to figure out why kids don’t want to do well in school.  We need to work at making them internally motivated to do well in school.
  2. Kids & Crayons. In the same New York Times editorial, Barry Schwartz pointed to another study that shows how external rewards can kill intrinsic motivations. This study was done with preschool kids – they were given some special markers.  Some of the kids were given awards for playing with the markers and some were not. Those that got rewards were less likely to play with the markers again and less likely to draw pictures. They associated drawing pictures with earning rewards not with having fun and so were less likely to draw pictures just for fun!
  3. Swiss nuclear waste. In a slightly different twist, a study was done to see if external rewards were more or less motivating than internal rewards from the onset.(Actually, I don’t think that’s what they were studying but that’s the question they ended up answering.)  A few years ago Switzerland was trying to figure out where to put its nuclear waste – no town wanted it.  Researchers went door to door and asked people if they would take the waste in their town.  When they were reminded that it was their duty as a Swiss citizen, 50% of them said ok.  When they were told they’d be paid a substantial sum (about six weeks pay every year,) only 25% of them said ok!  It wasn’t worth the money. [Found in Motivating Crowd Theory from Luis Villa’s post. I heard it was also covered in Sway: The Irresistible Pull of Irrational Behavior.]
  4. Israeli Daycare. An Israeli daycare also conducted an unintended study on motivations. They were tired of parents arriving late to pick up their kids, so instead of giving the parents a hard time and explaining that their workers wanted to go home on time they decided to start fining parents. Parents saw the fine as sanctioned baby sitting and started showing up late even more often. They no longer had to feel bad about showing up late because they were paying for the service! The scary thing (for the daycare) was that when they removed the fines (because parents were showing up even later,) parents didn’t go back to their original behavior!  (I think the daycare must not have charged enough. My daycare charges a $1/minute and I have to say that’s motivating!  Although I am more motivated by the embarrassment of being the last parent and of making my kid feel bad.) [Dave Neary pointed me to Luis Villa‘s post on this one. I also read about it in Freakonomics.]
  5. Household chores. Motivation crowding theory cites a study that found that kids that were paid to mow the lawn would only mow the lawn if they were paid to mow it.

So the question is, can those studies be applied to open source software? And for that you’ll have to wait for the transcript or watch one of the videos of my talk. (The short answer is, it applies, but money is not as demotivating as you’d first think for a number of other reasons.)

GNOME.Asia was a tremendous success!

I just got back from GNOME.Asia. Emily Chen (and a host of volunteers) put together GNOME.Asia to foster and grow the GNOME community in Asia. It was a great event – definitely the first in an annual tradition.

What was the conference like? There was tremendous energy. There were lots of talks – keynotes in the morning and four tracks in the afternoon. I understood most of the keynotes and a few of the presentations, but I was glad to see a lot of talks in Chinese. (Most of the audience was Chinese.) Each of the speakers drew a few questions after their talk, but they were also approached a lot during the conference on a one to one basis. During the conference I was asked diverse questions from how to find a job in open source, to how to get started in GNOME, to why I was concerned about women in GNOME, to what I thought of Linux on the desktop, to our relationship with KDE, to how I liked China, to how a company could sponsor GNOME.

Thanks to all the sponsors who helped make the conference a success: Sun, Nokia, Motorola, Mozilla, Red Hat, Google, Lemote,, and Programmer. They also provided gifts for the “Lucky Draw” at the end of every day
where cell phones and laptops were handed out to lots of applause.

The volunteers were great. I believe a special thank you goes to the Beijing LUG (BLUG) as well as the volunteers that helped out with the web pages and logo. The first day people showed up before the venue opened (two hours before the talks) and when they saw people setting up, they jumped in and helped! (Emily equated that to the 10% of Beijing’s  population that helped out with the Olympics last summer.)

None of this would have happened without Emily Chen from Sun. Although she credits Quim Gil with having the idea for a GNOME.Asia, Emily gets my respect for pulling off the planning of a large event without a hitch. I first met Emily at GUADEC where she already had her plan for GNOME.Asia all laid out. She found sponsors, she found local speakers,
international speakers, a venue, attendees – especially involving local university students, and most importantly she inspired and motivated the volunteers. With her coordination and volunteers, the conference went smoothly – good venue, good press, wireless coverage was good (always important at a technical event), great volunteers, good speakers, tremendous enthusiasm … give Emily a round of applause!

I should mention that Emily even put together entertainment for speakers and volunteers – a dinner at a traditional Chinese tea house with a show, as well as a sightseeing trip to the Great Wall and the Ming Tombs for the
speakers! Pockey, a volunteer from BLUG, went along as our guide.

The conference was well attended, with more people on the first day than the second day. I believe there were 500+ registrations – we’re still waiting on a count of how many attendees. Most attendees were Chinese but I also met people from Finland, France, United States, Singapore, and Hong Kong.

I believe every year the international aspect, especially the Asian representation, will increase. I’m looking forward to seeing who puts in bids for GNOME.Asia 2009, (The Beijing team was so jazzed, they volunteered to do it again!)

I also got to meet the Sun and Motorola GNOME teams located in China. Everybody I talked to agreed that meeting people face to face, even if it’s only once a year, really fosters relationships throughout the whole year.

Here’s to a successful GNOME.Asia 2008! I’m already looking forward to GNOME.Asia 2009!


Women in open source panel at Grace Hopper

A couple of weeks ago I got to go to the Grace Hopper conference for women in computing. It was a great conference. My favorite talk was one I happened on by accident, "I’m an imposter," where some of the most successful women I’ve ever met in person got up and talked about how they often feel like they are in the wrong place or got there by accident or are being asked to do something they have no idea how to do. It was really funny and very motivating. (If they have self doubts and got to where they are at, well then … For example, the president of Harvey Mudd College talked about how she sat between two billionaires at lunch and asked for $25 million for her school. If she can do that, I should have no problem asking for very modest – comparatively – donations for the GNOME Foundation!)

I was on a panel about women in open source. We weren’t as funny but hopefully we were as motivating. Our goal was to encourage women to participate in open source so we all started off by sharing our stories of how we got involved. A good many of us originally got into open source through our jobs, as opposed to as a self started hobby. I wonder how that would compare to how men started.

Our session was standing room only and there were lots of questions – hopefully we talked at least one person into working on open source software!

Here’s the panel.


Kristen Carlson Accardi
(Intel), Meenakshi Kaul-Basu (Sun Microsystems), Stormy Peters (GNOME
Foundation), Valerie Fenwick (Sun Microsystems), Zoë Slattery (IBM), Kathryn Vandiver (NetApp)

(Picture from Meenakshi’s camera taken by somebody in the hall. 🙂

Humanitarian projects bring more students to open source software

I learned about an interesting project at the Grace Hopper conference: the Humanitarian FOSS Project.

The Humanitarian FOSS project is attracting new students to software development by appealing to them with open source humanitarian projects. They’ve had a lot of success over the past two years. They bring all the students together on a university campus, house them, pay them and give them open source software projects to work on. The students have access to each other, professors and remote mentors from the project. Past projects have included working on disaster recovery software, volunteer scheduling software and medical imaging software. Their project is 100% funded by an NFS grant right now although they’d like to have companies fund additional interns in the future.  A huge additional benefit from my perspective is that the humanitarian aspect brings in people that might not traditionally
have been drawn to open source. (They were at the Grace Hopper conference because last summer’s group included quite a few women.)

I had a follow-up phone call with Trishan de Lanerolle, the project director, as well as Professor Ralph Morelli from Trinity College, and they proposed having two students work on GNOME projects next summer! They would find, house and fund the students. GNOME would provide (humanitarian) projects and mentors.

It’s a great offer and I’m thinking GNOME has a lot of great projects that would fit the humanitarian aspect, especially accessibility related projects.

Open source marketing is like manning an info desk

At the Openismus party in Berlin a few weeks ago, I had some interesting conversations about what marketing for an open source project like GNOME should be. What’s our core message and who are we targeting? (I think the best ideas come from discussions with others who care about the subject. Luckily with open source, everyone is passionate about the projects they work on so I get to have lots of really interesting discussions and hear lots of good ideas. I realized later I always talk shop at open source events. So if you don’t like talking shop, you should probably avoid me at the next open source related party, although you can sidetrack me by talking about kids. 🙂

There was one comment that we all thought was funny and right on. Jos van den Oever observed that marketing for an open source project is like working at an info desk. In a sense that’s true for all companies. Marketing departments give the rest of the world information about the company. But it’s even more true for open source because the marketing project doesn’t set the direction or strategy or even know all the answers. You direct people to the people that have the answers. Or at least that’s what I feel like I’m doing. Getting questions, finding answers, relaying back … like an info desk.

An infodesk model also implies that you are applying less of a slant to your messaging …

What do you have: time, resources or features?

As open source software becomes more popular and is included in more commercial products, the open source software projects face more pressure to produce a “roadmap”. Projects like GNOME have successfully moved to a six month release model which has greatly aided the companies that depend on GNOME technologies. They know when the next release that includes their patch will come out. They can now plan for when patches need to be submitted to make a release, when that release will come out and roughly what it will come out.

With plans for GTK+ 3.0 and GNOME 3.0 being discussed, the pressure to generate a “roadmap” has once again appeared. When will 3.0 versions be released and what will be in them?

The rest of this post is generalizing about open source software projects in general, not GNOME or GTK+ in particular. It’s just that working with them has made me think of these things.

One of the factors that is becoming clear to me is that open source software has a fundamentally different “project triangle” than proprietary software. Every project has three constraining resources: time, resources, and scope. (Resources is often called “money” because in the proprietary world it’s assumed you can buy more developer resources.) Some of these constraints are always more flexible than others – the question is which one is most flexible and which one is least flexible for your project. Typically in a proprietary product, it’s scope that’s most flexible. The project has a fixed amount of money and people and marketing’s committed to a release date, so it’s the list of features that’s most flexible. Occasionally the most flexible item will be resources and a company can throw more money at the problem.

In contrast, in the open source world, the most flexible resource is not scope but time. While resources are not fixed, you can’t easily find more volunteer developers to throw at the problem. So for planning purposes, resources are not flexible. While scope is flexible, time is even more flexible.

Typically open source software projects define a release by saying which features they would like to have in a release (which can change if external circumstances change), put all of the volunteer resources they have at the problem and then remain most flexible with regards to time. They release when they’re ready.

Time is sometimes important in open source but not because a marketing team committed to a date but because you want to keep your project active in order to keep people interested in working on it. New features and new releases are exciting.

While each open source software project is different, I believe that community driven open source software projects are probably closer in priorities to each other than they would be to traditional proprietary softwaree.

For proprietary companies used to a fixed schedule and flexible scope, having a flexible schedule is frustrating. It’s not wrong, it’s just very different than the world they work in, and so makes planning very hard for them.

Companies look to open source software projects for a roadmap that’s fixed in time and flexible in scope. While the open source software projects are saying there’s no way they want to commit to a time because they can’t commit to more resources and they know they have to have the following features to say it’s a “major release.” The projects commit to scope (a set of features) and resources (the project members they have and anybody who wants to join us), and releases when they can.

This isn’t to say open source software projects don’t care about time, it’s just the most flexible of their three constraints by the nature of how they work.

Ubiquity: turning us all into power users

Ubiquity was officially announced this week. I installed it and I find myself using it all the time for really simple, but very useful, stuff. I use a calculator a lot. Now, when I’m in the middle of typing an email or reading a web page, I just hit two keys and type "calc 3256/3+2456" and there’s my answer. If I see a word I don’t know, I just hit two keys and type "define hello", read the answer and hit escape and go back to what I was doing. If I want to email something interesting that I’m looking at, two keys and "email this to mike" and it emails whatever’s on my web page to Mike. (Actually it gives me a choice as to what "this" is and then it brings up Gmail with an email all addressed to Mike and filled out with the information from the web page I was looking at.)

So easy, so fast.

Have you ever watched one of those power command line users? Or power emacs users? Or even people who use the keyboard exclusively? Their fingers just fly and magic comes out of their computer. I feel like Ubiquity brings that power to the average web user. With just a couple of keystrokes and intuitive commands, they can make the computer magically generate the answer they are looking for.

Ubiquity works in the web browser and can do most things I can do inside my web browser. Now wouldn’t it be cool if Ubiquity also knew about my computer and all the applications and data I have on my computer? So now I could also say "email myspreadsheet to mike" and it would find "myspreadsheet" and email it to Mike?

Luis pointed out that since Mozilla’s projects are all open, and the GNOME Foundation and the Mozilla Foundation work together, we should be able to do that with GNOME. And Abhijit Nadgouda’s post reminded me that we might not be the only ones who’d like Ubiquity to know about our desktop. Plus, GNOME already knows how to do task oriented commands – GNOME Do has provided Ubiquity like functions for a while now. (I’m a big GNOME Do fan as well.) Can we integrate those desktop tasks into Ubiquity?

It seems to me that since Ubiquity, Firefox and GNOME are all open source we should be able to make that happen. It’s a unique opportunity to integrate the web and the desktop. I shouldn’t have to remember what functionality is part of the desktop and what is part of my browser. If I say "add this to myspreadsheet", the data I selected on the webpage should just be added to "myspreadsheet" on my computer.