In ungewohnt schriftlicher Form präsentieren wir euch ein englisches Interview mit Andre Klapper (AK) und Vincent Untz (VU). Beide sind beim Gnome-Projekt tätig und waren so freundlich uns einiges über sich, die GUADEC, Gnome 3 und über die kommenden Monate zu erzählen. Wir wünschen euch viel Spaß!
Hello Andre, hello Vincent. Thanks for joining the interview with us. So first of all, please tell us something about you and your work on Gnome.
AK: I've been around in GNOME for a few years now. I started triaging the bug reports of Evolution. Nowadays I am part of the bugsquad, the release team, and the translation coordination team. In real life I'm yet another student and maemo.org bugmaster for Openismus. I think I'm still around in GNOME after all those years because I really like the people in the community.
VU: I've been involved in the GNOME project since 2002, and I've work in many areas - bug triage, coding, promotion, GNOME Foundation Board, release-team, etc. I'm lucky to be able to work on GNOME as part of my day job: I'm employed by Novell, and I'm part of the openSUSE boosters team, which means I'm doing cool stuff, including upstream GNOME work. My main activities in upstream GNOME these days is mainly around release management and maintenance of a few modules.
What was the trigger for you to work in the open source community? And why you joined the Gnome team?
AK: I was just a normal user in the beginning who had a question about printing emails on a gnome mailing list. I received an answer, stayed subscribed, started helping other people. and as time passed by it somehow became a bit more.
VU: I think it was mostly curiosity, at first. I was playing with free software just to see how it was, and then I became curious of what was going on in GNOME. It was back when the community was working on 2.0, so many things were happening and it was exciting to follow that. And at some point, I tried to help a bit.
You were on the GUADEC 2010 in Den Haag. What were your impressions of this event in this year in comparison to the years in past? And what were your highlights?
AK: It's been my 6th GUADEC actually. In general it's always great to meet lots of old friends and to see people for the first time in reallife that you so far had only contact with via IRC or mail. My highlight this year was probably seeing the GNOME 3 plans becoming more and more reality. But for me it's really hard to pick out something - I always enjoy the conference a lot in general.
VU: GUADEC 2010 was a really great event! It's always fun to see the friends again, and that's what I enjoy most during such events. All GUADECs I've been to were fantastic. I think this was my 6th GUADEC, too. But this one was above the others for me. Which means a lot, since I loved my first GUADECs. I'm not quite sure why - it could have been because of the great venue, or because I know the people really well now. I guess the main highlights for me are the updated plans for GNOME 3.0, since that kept me busy a good part of the week, and the last GNOME Foundation meetings as a board member. I was on the board for 4 years, and it felt special. All in all, seeing the community work on making GNOME rock even more is something that everybody should see, so feel all invited to the next GUADEC.
AK: ...which will be co-hosted with KDE's Akademy in Berlin, so two good reasons to be there.
You mentioned Gnome 3.0. Can you tell us what is the most important thing in Gnome 3.0? And what is, in your opinion, different than other desktop enviroments like KDE or LXDE?
AK: Most important thing to me is the new GNOME shell which will provide an activity-based user experience and replace the current concept of the panel and the desktop which will still be available via distributions, of course. I think other environments as KDE and LXDE have slightly different target groups. In my opinion KDE is more for people that like to have lots of options offered while GNOME tries to hide complexity a bit. But you can still tweak lots of stuff though, and LXDE is slicker. Somebody correct me if I'm wrong as I've never tried it, I have to admit.
VU: To me, the main change in GNOME 3 is that we've started redesigning the desktop to make it usable by most people as opposed to fixing the desktop to try to make it more usable. The most visible part of this is GNOME Shell, obviously. So we're moving forward with our philosophy of what should be a desktop, and this is a major step forward. Another big change I like is that we'll slowly focus more and more on applications when we'll talk about GNOME: it's hard to understand what a desktop environment is, and actually, it shouldn't really matter to the users. Applications, and what they achieve with them, are what people care about. And after 3.0, we'll also see some good focus on improving the life of application developers. We're working on the plans there at the moment, and that's quite exciting!
It's a bit hard to compare GNOME 3.0 with KDE and LXDE, but I think one major difference is that the target users are likely not the same. We're working on making GNOME work for people who don't necessarily have a technical background (while still making GNOME enjoyable for us). This leads to a lot of decisions, that some people might not like. And that's perfectly fine! That's why the diversity in free software is good: people can choose another desktop.
Also, LXDE is trying to be a "traditional" desktop, while GNOME 3 and KDE 4 are trying to change things. To a lesser extent, in my opinion, but that's just my opinion.
Can you tell us technical details, e.g. what programming language is used in Gnome 3 or what are the technical differences between Gnome 2 and Gnome 3?
AK: Traditionally C has been strong, but there are bindings for lots of languages like Python, Perl, C++, C# and lots more, and JavaScript has become more popular recently. Also in GNOME. As for technical difference we've cleaned up the GNOME platform a bit and removed several already deprecated libraries in the stack to make it easier for developers. GTK3 will also see a lot of old craft removed.
VU: As Andre mentioned, we're using many languages in GNOME: most of our code is in C or Python, with also a few modules using C++ or C#. With GNOME 3, we're also making JavaScript a first-class language for GNOME. As an example, GNOME Shell is implemented in JavaScript! We're really proud of the language diversity in GNOME, and this helps us propose a good development platform that is appropriate for many different types of developers: not everybody wants to do C, or Python, so choice is good there. As for the technical differences, I think Andre summarized well the work we're doing on the platform.
VU: Do you want more details on the changes in the platform? Because we can elaborate, but I'm not sure it's of interest to most people.
AK: Yeah, I'm also wondering how techy I should get.
Of course, please feel free to tell us and all guys outside about.
AK: Various deprecated parts of GNOME 2 will be removed for 3, for example libraries such as libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui, and libgnomevfs. Functionality has either been replaced by newer and better libraries for example gvfs/gio, superseding gnome-vfs or merged into other modules like gtk printing support that supersedes libgnomeprint.
Libglade is replaced by GtkBuilder, bonobo mostly by D-Bus. GTK3 removed lots of ancient functionality that was deprecated for years, and other maintainers have adopted the required API changes in their modules which is mostly done already.
VU: An important point to mention is that we've been working on cleaning up the platform for a few years now. This is why the migration is relatively smooth for developers: they've had time to adopt the new API. Else, Andre gave most of the details already, so I won't repeat all this.
But what was the reason to use JavaScript in Gnome Shell like a high-level language?
AK: I don't know why the developers chose it. Vincent, do you know?
VU: I do. There are a few reasons for this choice:
First, there is no strict reason to use C for applications, but it's of course possible, and it's generally faster to use a high-level language. So people wanted to try something else than C. As seen earlier, we support various high-level languages but JavaScript has two advantages:
a) It doesn't come with a big platform. It's a language, and people writing code in Javascript for GNOME will be able to use the whole GNOME platform. If you look at Python, or C#, or most other high-level languages, they all come with a big platform. And it's sometimes a bit unclear which API to use: the one from the GNOME platform or the one from the platform coming with the language.
b) The competition in the browser world lead to a drastic improvement in JavaScript performance. That means it's a language which is very very efficient.
Oh, actually, I forgot two other nice advantages:
c) Nearly all developers know the web platform and know some JavaScript. And if they don't, it's an easy language to learn. That means it considerably lowers the barrier for contributions. And we've got new people contributing thanks to this. So that's a really big positive aspect of JavaScript.
d) No need to rebuild. Just save your changes, and you can test them. That wouldn't be a good reason per se, but it's a nice little touch.
So Gnome supports many high-level languages. Could there be any problems with the stability?
VU: Nope. The reason is that the languages all use the same code for the platform. Our platform is in C. And then we have bindings for the platform so no matter which language you use, you will use the same code for the platform. There's one thing we forgot to mention in the new technical details for GNOME 3: introspection!
AK: Oh, true.
VU: This is something we're adding, and this will make it even easier to write good bindings for our libraries for all languages. So this will lower even more the work required to support a programming language for GNOME. All in all, this means there's no real stability issue since we don't reimplement the platform, but we re-use the code.
The plan is to release Gnome 3.0 next year in spring. What's about Zeitgeist and the activity journal? Will they be part of the Gnome release next year?
AK: A few months ago GNOME Activity Journal was proposed by its maintainers for the upcoming 2.32 release. At that time it was rejected because we felt that it needed more integration with the rest of the desktop and the overall GNOME design. As far as I know the maintainers plan to propose it again for inclusion in GNOME 3. As with any other proposal that means that the GNOME community will discuss it and it's improvements on the developers' mailing list again, and the release-team will summarize the discussion and make a decision.
VU: It's also worth mentioning that there is design work in GNOME Shell to integrate "activity journal"-like features directly to the Shell. It's unclear yet whether it will use Zeitgeist or not, though.
Is there a log file or something like this that user can use their activity-journal in other desktop enviroments?
AK: I think I don't know enough about the activity-journal architecture to answer this. If Vincent doesn't know either it's probably best to ask one of the a-j developers.
VU: The activity journal is just the interface. All of the data is handled by zeitgeist. And it's desktop-agnostic, so the answer is "yes".
With Gnome 3.0, there is a new window manager calls Mutter which uses Clutter. What was the reason for this decision? And what are the hardware requirements?
VU: Mutter is actually not a new window manager, it's the same code base than metacity. This is important, because getting right window management is extremly difficult. So we avoid many headaches this way. The difference is that Mutter uses Clutter, as you point out which is why we forked metacity (editorś note: metacity is the window manager in GNOME 2). As for hardware requirements...it's actually more requirements on the drivers, since all the recent hardware, for example, from the last five years, should support this. But we need drivers that support 3D acceleration. That's the case for the Intel drivers, and also for most AMD cards with the Radeon driver. For Nvidia, I must admit I don't know how it's going these days: I believe it works with the proprietary drivers, but the real solution is the nouveau driver, which is improving every day. I can't give more details on this, but documenting where it works well and where it doesn't is something we'd want to work on - help is welcome for this!
Your opinion about the future of Linux on desktops?
AK: I expect the though very slow increase in the classical desktop area to continue, but currently I see the way bigger potential in the mobile field.
VU: I think we're moving nicely there. We've been playing the "catch up with the competitors" game for a long time, but we're there now. In terms of quality, I mean. What's more difficult is getting more adoption. We're progressing, but I don't think we'll see a huge switch during a night. We'll simply keep progressing in the future. I agree with Andre that if we want to get a big market share, it's much easier to do in the mobile world.
But why it is easier to do this in the mobile world? Are there any plans to port Gnome to the mobile sector, maybe a port to MeeGo?
AK: I wouldn't say that a "port" is needed. MeeGo already uses large part of GNOME as it's platform in MeeGo Core, for example gstreamer or gvfs, plus GTK+ as a supported toolkit. GNOME is used on devices such as OpenMoko, Nokia's Maemo based devices, and others.
VU: First the second part of the question. There's no plan to "port" GNOME to the mobile: the GNOME platform is already being used there! Andre gave a few examples, but you can add some GPS devices, and medical devices to the list. Meego is an interesting case too. If you look at the netbook interface of Meego, it's actually extremly close to GNOME. The Meego "shell" is working like GNOME Shell, and it's using the same infrastructure (Mutter). And many parts of Meego Netbook and GNOME are common. So GNOME is already present there.
As to the first part of the question. The reason the mobile world is easier is that it's moving fast, with a lot of competition. So nothing is set in stone yet. Just look at how popular the iphone became, and then how popular android-based phones are. In just a few months. Changes is easier there.
Next year the GUADEC will join with the KDE Academy to the Desktop Summit 2011. Can you tell something about it?
AK: Looks at Vincent as he's been member of the board.
VU: It' ll be great! Not exactly sure what I can tell about it. It'll be in Berlin, probably in August. And the organization team is working hard to make it one of the most amazing events of the year.
So now we are coming to the end: is there something you want to tell to all people outside there?
AK: At least to me, GNOME is not only a software project but maybe even more a bunch of great people. I've learned a lot in all those years thanks to the nice community. So if you feel like getting involved there's lots of ways to do so like code, bugsquad, marketing, translation, documentation etc - just try and have some fun.
VU: I just hope GNOME helps make people happy. We're a technical project, for sure, but we care most about our users, and our community. And people should never hesitate to send us useful feedback. This helps improve the project!
Andre, Vincent... thank you very much for all these information and all your time. We wish you and the rest of the Gnome team good luck and a great release for the new Gnome 3.0. And I hope we see each other again on the Desktop Summit 2011.
VU: Thanks!
AK: Thanks for the interview.