The thoughts and ideas in this post are mine and not necessarily representative of what the GNOME Foundation thinks or plans to do.
Canonical will be shipping Unity as the default desktop for Ubuntu 11.04. It’ll still be GNOME technologies underneath, GNOME applications will run on it and it’s still optimized for GNOME, but it won’t be the GNOME shell. Not the traditional GNOME shell that we all know and love nor the new GNOME Shell coming out in GNOME 3.0.
Many developers were really disappointed to hear that Unity will be the default shell on Ubuntu. Some are disappointed because they don’t like Unity. Others are disappointed because they feel like Canonical is doing its own thing instead of working with the greater GNOME community to reach a compromise that works for all.
I understand. We’ve put a lot of work into GNOME Shell, our next big thing, and Canonical is saying that it’s not the best thing for their users. It’s disappointing because we are excited about our new plans and expect lots of users to enjoy them. And we rely on our distribution partners to get GNOME into the hands of users, so we were expecting Canonical to help us in that. We also expected Canonical to push for any different user interfaces they wanted within our community, not to design them and announce them independently. In a sense it feels like a child who’s decided to move out of the house. We thought they were going to stay with us forever and listen to our wisdom and instead they’ve told us they’ve learned from us, they like some of what we are doing and they have grand plans for the future. They plan to use some of what we work on (like kids come home for some holidays) but they plan to do their own thing too. Perhaps they’ll make mistakes that have been made before or perhaps they’ll do something grand.
Trying New Alternatives
The beauty of open source software is that they can decide to try something new, without convincing all of us to do it too. And they aren’t forking the project. They’ll still be using a lot of GNOME technologies – the same ones we are using – with just a different shell on top.
In a way, it’s not all that different from what Moblin and Maemo did. They used GNOME technologies with a different shell. We were ok with that because they were expanding into new markets – netbooks and tablets – and because it didn’t seem like a step away from GNOME but a step forward with GNOME. Canonical’s move with Unity is similar. Except that they aren’t starting from scratch, they are moving from a traditional GNOME desktop to Unity. So we feel the change more.
Changing Open Source Ecosystem
I’d also say we are seeing a change in the open source ecosystem here.
On one hand, we are getting more companies joining us that know very little about open source or who have interacted very little with open source communities – device manufacturers for example. We have been actively working on how best to get them involved in the our community in order to improve our project and in order to ensure that they have a good experience with open source software. We want to be sure that they use it in a way that doesn’t require them to do lots of rework every time we update our product.
On the other hand, we have companies that have been using open source for a long time and are developing their own ideas for what works. We aren’t always going to agree with them. For example, Canonical believes copyright assignments will benefit open source software. The GNOME community feels copyright assignments are potentially detrimental to free software projects. But while we don’t agree, we need to find a way to best work together.
Canonical has a lot of work to do, but I assume they know that and I won’t presume to tell them how to do it other than to encourage them to continue to work with us on the GNOME technologies they use. I do wish them the best of luck. As one of GNOME’s partners and as a company that gets open source software into the hands of users, I hope they succeed.
In GNOME’s case, I think we need to understand what companies are looking for from us and how we want to position and brand ourselves.
What do we call projects that use GNOME technologies but aren’t a GNOME desktop? What if it’s a device that has no screen? Or a small device like a smartphone? Or a full desktop distribution? Do we want them to be GNOME branded? If so, how do we want them to be GNOME branded?
What do we want to focus on? Awesome technologies that can be used and pieced together independently? Or an awesome desktop that solves a particular problem? Or a set of user interfaces that solves a set of problems? Right now I think we are working on one awesome desktop that we hope solves lots of problems. But it’s unlikely that one desktop is going to work for a huge set of diverse people. For example you might have a developer with two 24″ screens or a student with an 8″ netbook or a mom with her smartphone. Either GNOME needs to develop solutions for all of those or they need to enable others to do so. And we need to figure out what that means for the project and how we want to brand ourselves.
We also need to continue to work on better integration between the desktop and the web. While both GNOME Shell and Unity say they are addressing the way people work today with the web, there’s still a huge gap between the applications I run on the web and the ones I run on my desktop. They don’t seemlessly integrate. Email is the best example of how things could work. Most web email services and most desktop email clients integrate very well these days. But calendars, contacts, banking systems, recipe management systems, etc. all have a ways to go.
We are doing the groundwork to enable that integration between the desktop and the web in projects like GNOME Shell and WebKitGTK+ and many other projects. There’s still work to be done to maximize the entire user flow including the 7 applications they have open on their desktop and the 15 tabs the currently have open in their browser. Fortunately we have many smart people working on it.
Over 106 companies have contributed to GNOME and over 3500 individuals have made contributions. While we may have lost a distribution channel for GNOME Shell, Canonical will still be using and building with many GNOME technologies and working with the GNOME Foundation. And we still have all of our substantial technical resources working on GNOME Shell and other GNOME technologies.
Time, and our strategy, will determine what the free and open source software user interfaces of the future look like.