Often in GNOME, we think of goal setting is something that we can leave up to the board, or up to the marketing team. An appearance of direction that we layer on top of the what we are really working on. This is obviously backwards … everybody in GNOME should consider the goals of GNOME to be their business. I led a session Sunday morning at the Boston GNOME Summit to try and get some broader brainstorming going about where we want to go with GNOME. So, I wanted to write up both how I set up the discussion and some of the ideas that came out.
Why should do we need goals for GNOME? Goals inspire us. They are great tools for recruiting contributors of all types. They allow us to create compelling marketing materials that explain to user’s what is significant about what we are creating and where we are going. And importantly, they drive decisions – they let us choose between path A and path B. This leads us to what makes a good goal: a good goal is motivational – it can inspire. It’s realistic – it has to be achievable. And it is concrete enough to let you make decisions.
We can look at how some past GNOME goals fit into this framework. The most famous explicitly stated goal was the the 10×10 goal. 10% market share by 2010. It was very catchy and memorable. But even from the start realism was a huge question mark. And worse than that, it really didn’t help answer what we should be doing. By contrast, the goal of the early years of GNOME, though it was never explicitly stated, was to provide a free software replacement for Windows. Not nearly as neat-sounding a goal, but when you line it up against the criteria above it actually stacks up well. At that time Windows was the big barrier to putting users in control of their software through Free Software, so people were motivated to work on replacing it. The goal was realistic – we eventually achieved a lot of it. And it gave us lots of concrete tasks to work on. Things have moved on, but it was an effective goal for that time.
Any sort of exploration of goals for GNOME involves some idea of what GNOME fundamentally is. A phrase I think captures it: “GNOME is a community of people building Free Software for users”. The direction of GNOME is set by the people working on it as individuals, not the companies that might be sponsoring some of that work. GNOME is strongly committed to Free Software, not as a temporary strategy but as a fundamental principle. And we’re not building toys for ourselves, or creating technology masterpieces for their own sake, we are trying to make user’s lives better.
Within that broad set of parameters, we really have the option to do anything. We shouldn’t feel constrained by the set of things we do currently. Another thing to keep in mind is that the computing space is mind-bogglingly big these days. We don’t need to dominate even one segment of computing to be a big and successful project. But what we do need to do is create something that’s really great for the people we do touch: that meets their needs and makes a portion of their day better. And that means direct influence over the user experience. It’s pretty hard to build something that is great for users if you are just building components that other people take and re-purpose. It’s also pretty hard to to be great for users if we’re just a small slice of the total experience. To be concrete: if we’re just the stuff around the edges of the web browser, and the web browser is a tool to look at Facebook, and the user is looking at Facebook on their phone most of the time anyways. Then that’s not an experience we can do a lot to make better. We need to engage with the user beyond traditional “computers” and beyond the local application.
I finished my intro with the question: the user actually gets big benefits by giving all their searches and documents and mail over to Google. Giving their social interactions over to Facebook. While the downsides of centralizing your data under someone else’s control and being able to only do the things with that data that they want to let you do may be obvious, we can’t pretend that this is a trap for the unwary and smart users will keep everything locally. How do we, as GNOME, enable an experience that is both under the user’s control and also as good or better than the experience they can get by giving up that control?
In my next post I’ll describe some of the ideas that came out of the brainstorming session.