my blog

Tuesday 27 November 2012

JDLL and Mini-DebConf Paris 2012

During the last two week-ends, I went to two different events. That's part of my end-of-year sprint where I travel too much: SUSEcon and openSUSE Summit in September, OpenStack Summit and openSUSE Conference in October (oops, didn't find time to write about these events), two weeks vacation in Thailand in October/November (yes, we enjoyed the time there!), one week of team meeting in Prague right now, and two other trips to Paris during those few months... Crazy planning!

I attended these events with my advocate hat to deliver GNOME-related talks (and also to chat with people a bit about openSUSE, and of course to meet good friends of mine ;-)). I feel there's a big need on GNOME's side to communicate more and clarify our direction and opinions, and on top of that, there's a lot of mis-informed statements around that people blindly trust and that need to be debunked. My talks were simply part of my local contribution towards that goal. And apparently, that's something that seems to be most welcome!

JDLL 2012

The Journées du Logiciel Libre (or JDLL) is an event that occurs every year in Lyon. Lyon being close to home, it's an event I can attend quite easily and this is not something I can complain about ;-) We did have some great people at the event this year, including a french-turned-british-turned-french-again guy.

When I got asked to give a talk about GNOME this year, I wasn't sure I would have anything really interesting to tell, so I suggested an interactive session around the recent hot topics in GNOME (you know, GNOME OS, systemd, fallback mode, etc.). In the end, even though I had many slides ready, we simply discussed the questions that were raised by the audience, and I believe that this session proved to be very useful for the attendees. So a good experience, and a format I'll likely use again.

I also had the opportunity to play a bit with Firefox OS. I've been following the project for quite some time but never took time to really try it, so I was really glad to be able to take a long look at it. There's still some work to do, and, hrm, well, that was visible ;-) I managed to crash things without even trying to be nasty. I hope it will take off, though: there's a need for an alternative closer to our ideals.

Mini-DebConf Paris 2012

The Debian France team organized a Mini-DebConf in Paris, and I was invited for a slot. I chose to talk about GNOME vs downstreams, and discuss the love/hate relationship we have, and how the future direction can be good/bad for different downstreams. The idea was simply to get out some information out about what GNOME is doing, and to clarify where the project is heading, as this has some pretty big impact on our downstream friends. Obviously not everything is perfect in GNOME but I feel that the project is, overall, doing okay as an upstream. (I'm kind of sad to discover an ABI breakage in glib after I told to Stefano and Lucas that we were not breaking ABI in our platform; oh well).

This Mini-DebConf was a pleasant surprise, as there were quite a number of attendees, and the whole event went quite smoothly (well, at least for the day I was there). It was also interesting to hear about the different opinions with regards to the Debian release cycle (got some pretty good food for thoughts), and I enjoyed Sylvestre's talk about making Debian compiler agnostic. The event had many other great talks — definitely an event I'd recommend attending, even to non-Debian people.

Wednesday 21 November 2012

No fallback mode in GNOME 3.8, future of gnome-panel

No fallback mode in GNOME 3.8

As announced by the release team two weeks ago, the fallback mode will be gone in GNOME 3.8. The decision was taken after some discussion on the mailing list back in June and in October, as well as some discussion during Boston Summit 2012. We also have a wiki page detailing the discussion arguments.

In my opinion, the biggest issue we had with the fallback mode is that, with only a few cycles, it quickly became clearly not tested enough, and lacked manpower for proper evolution along with other GNOME 3 changes. This resulted in a much lower quality than what we expect from GNOME. Moreover, several applications actually started requiring Clutter, and therefore didn't work anymore in a real fallback manner (ie, where you have no proper 3D acceleration); this means the fallback mode, when really used as a fallback, was not offering a fully usable desktop, and would be considered more like an alternative shell than a fallback mode.

Where does this leave us?, you might ask.

Well, for a start, GNOME 3.x had several iterative cycles to bring tons of improvements. Many users who were using the fallback mode because they didn't like the GNOME Shell experience are now happy with 3.6. But we're going an extra step starting with the next version: there is an explicit goal of having the project provide a set of extensions to help even more people preferring the fallback mode experience. The tentative list of what the extensions would provide is classic alt-tab, task bar, minimize/maximize buttons, and a main menu. This effort is being publicly tracked, so everyone can participate: if you're interested in contributing to these extensions, don't hesitate, I have no doubt help will be welcomed! Update: this topic is being discussed on desktop-devel-list right now!

There will also be work on improving GNOME 3 when running with software rendering. Of course, llvmpipe was a good start, and llvmpipe itself is getting better and better. But in addition, there are plans to offer a reduced resources mode, with fewer animations, that would be used in different circumstances, including when using software rendering. This should really improve the performances under llvmpipe.

There might be cases where these improvements will not be good enough in 3.8 (or with the Mesa and llvmpipe versions available at that time), resulting in a GNOME version that people might not consider acceptable in terms of performance or hardware support. Things will improve with time, obviously, and 3.10 will solve more and more issues; hence I would recommend to people hitting such issues to stay with 3.6 for a few more months.

All in all, the community is working on having future versions of GNOME, starting with GNOME 3.8, offer an improved alternative to the fallback mode.

Future of gnome-panel (and other fallback components)

Of course, this raises the question of what happens to the components of the fallback mode: gnome-applets, gnome-panel, gnome-screensaver, metacity, notification-daemon, polkit-gnome, etc. These components don't necessarily have to go away: they're just not part of what the GNOME project officially releases, and people are welcome to keep working on them. It's really up to each maintainer.

As for myself, I do not intend to keep maintaining gnome-panel after 3.6.x. I did a 3.6.2 release a few days ago, and it might well be what I consider my final release. If there's a strong push for some patches, there could be a 3.6.3 tarball... So, if you want to keep gnome-panel alive, contact me and you can become maintainer. As long as I either know you, or I can see that you have some minimal coding abilities, you'll get the maintainer hat for free :-)

Now, I believe a group of people could well adopt all the fallback components and keep building a great desktop, on top of other GNOME 3 bricks. They wouldn't even have to restrict themselves to what the GNOME 3 vision is (which is something that blocked some people from seriously contributing to gnome-panel). I don't think it'd be actually too much work: the code is already there! Of course, there would be some compatibility bits removed from other GNOME modules that would need to be moved elsewhere, but in most cases, it's really just about moving the code, not re-implementing things.

To be honest, I would really have loved if the MATE people had taken such an approach (maybe it's not too late?). I think it's a more reasonable effort than effectively forking all of GNOME 2, including obsolete technologies, as the amount of work is much more reasonable.

I'm eager to see if a group will step up to keep alive this old code, which represents thousands of hours from many of us! I wouldn't use it, but it would still make me happy :-)

Saturday 13 October 2012

Chairing the openSUSE Board, SUSEcon & openSUSE Summit

I'm supposed to be flying over the Atlantic right now to attend the OpenStack Summit, but British Airways had other plans for me: I'm stuck in London for a few hours, and will head towards New York tonight, before going to the west coast. But since I have Internet access, I guess it's a good opportunity to write about something that happened last month: I joined the openSUSE Board as chairman!

(And if you were wondering: I'm still part of the SUSE Cloud team, and the chairman position simply comes on top. The fact that I'm heading to the OpenStack Summit should have given you a hint already ;-))

For those who don't know about the governance structure of openSUSE, the openSUSE Board is a group of six people that exists to serve and guide the community. This includes working on legal and financial topics, talking to our different sponsors, etc., but it specifically does not deal with the technical side of the project. The Board is made of six members: five who are elected by the community, and one (the chairman) who is appointed by SUSE.

The new openSUSE Board Chairman

The new openSUSE Board Chairman. Picture by Andreas Jaeger

Until recently, Alan Clark was the chairman, but he recently got elected chairman of the OpenStack Foundation. I was surprised when I got asked if I'd be willing to step up, but that was a pleasant surprise: I was actually considering running for the next board elections, so it didn't take me too much thinking to accept :-) I got interviewed twice about this new position. This is quite cool, as it shows how much people are interested in what's going on in the openSUSE world.

I do believe there's a lot the Board can do to help the project, and there are many ideas I'd like to push, a lot of them coming from my experience at the GNOME Foundation. But the way I (and I hope, many others) see it, the chairman is just one member among others; of course, the chairman should be a bit more proactive in pushing the others, but that's the main difference. It's therefore important to have great people in the Board, like we do today. But guess what, we also have elections coming in a few weeks, so if you feel you can make a difference, consider running! If you don't want to run but have ideas to share, don't hesitate to mail the board or me to send us your input.

Because of this new position, I went last month to Orlando, in order to attend SUSEcon and the openSUSE Summit that was organized just after SUSEcon. This was really a last minute decision: I booked my flights three days before leaving... Both were amazing events, especially when you think that this was the first year for both events.

SUSEcon

Of course, it was a great opportunity for me to chat about openSUSE and the Board with many people, including Ralf Flaxa (VP of Engineering at SUSE) and Michael Miller (VP of Global Alliances & Marketing at SUSE) who both care a lot about openSUSE. It turns out they simply told me, when I asked if they were expecting anything special from the chairman: do what's good for the project! Pretty cool to hear :-)

It was no surprise, but there was quite some discussion about the cloud during SUSEcon. And actually, I was surprised at how much interest there was from everyone. I was helping on the SUSE Cloud booth, and many people came in — some to just learn about the field in general, while others had some pretty deep questions about the technologies. Everyone was mentioning OpenStack during the keynotes, and the SUSE Cloud product was deployed live during the closing keynote to show how easy it is to deal with. SUSE also produced some fun videos about the cloud.

SUSE's birthday cake

SUSE's birthday cake. Picture by Andreas Jaeger

Since SUSE is 20 years old now, SUSEcon was also the perfect time to celebrate SUSE's birthday. Some kernel hackers were nice and took time to participate in a happy birthday video, we had a fun birthday party, and we also went to see the Blue Man Group (great show!). Andreas Jaeger uploaded pictures of the whole event, if you want to remember what you enjoyed there, or see what you missed ;-)

openSUSE Summit

The openSUSE Summit had many people coming (more than I expected!), and it was a lot of fun. Bryen and the whole team did an amazing job with the organization, and I think everybody enjoyed the family atmosphere that this event had. There were also great sessions (although I only attended two of them), and thanks to ownCloud and Omnibond, we had fun parties in the evenings. I especially loved building the small boats (or a car, like Simona and I did).

The openSUSE Summit also hosted a GNOME hackfest on user observation. Anna, Federico and Cosimo wrote about it already. It looked like it was a useful hackfest, from what I could see!

Scott loved the Summit!

Scott loved the Summit! Picture by Andreas Jaeger

If you want to see pictures from the openSUSE Summit, go check Andreas' gallery. Between the sessions, the geeko lounge, the parties, huge geekos, a raffle to win a Raspberry Pi (all profits went to the GNOME Foundation), and more, there's lots to see :-)

Oh, and I had the opportunity to talk with Sam Varghese during SUSEcon about how GNOME is doing. I hope the resulting article gives a new perspective about the current direction to people outside the GNOME community.

My flight is probably about to leave; time to look for the boarding gate...

Friday 12 October 2012

cups-pk-helper & desktop-file-utils releases

In the last two weeks, I took some time to review patches submitted for cups-pk-helper and desktop-file-utils, and worked a bit on the code. This means new releases, which keeps me on track for the "two releases a year" schedule followed for those software :-)

cups-pk-helper 0.2.3 0.2.4

It is recommended to update to the 0.2.3 version of cups-pk-helper, due to a security flaw in the old code (CVE-2012-4510). I found it while fixing a compiler warning about a return value being ignored; re-reading that old code, I realized that it was, hrm, not really solid, that it was not checking permissions, and that it could actually be abused to overwrite any file (among other issues)... Thankfully, this can only be exploited if the user explicitly approves the action since it's protected with polkit authentication (using the admin password). So this is not as severe as it could have been. I want to thank Sebastian Krahmer from the SUSE Security Team, who was really helpful in reviewing my iterative fixes.

The other changes are build-time compatibility with cups 1.6, some additional paranoid processing of the input we get via dbus, and updated translations (thanks to transifex).

Update: the 0.2.3 tarball had a small bug when detecting the cups version, try 0.2.4 instead ;-)

desktop-file-utils 0.21

The 0.21 release of desktop-file-utils is mainly about an update of the validator to deal with several recent (and not so recent) changes in the XDG Menu specification: a main category is not required anymore (although still recommended if one main category makes sense for the application), Science is now a main category, and new categories have been registered (including the Spirituality one, that has been discussed years ago).

The validator now also correctly handles the new values for the AutostartCondition field used by GNOME 3, and features some experimental hints in the output for .desktop files that could possibly be improved. Those hints are experimental since I'm unsure if they will really help, or just annoy people (note that they can be ignored with the --no-hints option). At the moment, they only deal with categories, but I guess it shouldn't be hard to find more hints to add (such as hey, you're missing an icon!).

Of course, while working on desktop-file-utils, I took a look at some patches and issues that were recently discussed on the xdg mailing list, and pushed some changes to the menu specification. I'm a bit sad about the fact that nearly nobody is actively working on most specs (blaming myself too, since I look at patches/issues only a few times a year) and that feedback about the proposed changes is rare (these days, I'd say getting two or more people to approve a change is an exception). It'd be great to have a few people step up and bring new energy to this effort!

Monday 3 September 2012

SUSE Cloud 1.0

SUSE Cloud

The last few weeks were a bit crazy, but there was a good reason for this: the team I've joined a couple of months ago has been focusing on polishing SUSE Cloud for its first stable release. We had some long working days, but we did it: SUSE Cloud 1.0 went out last week! There's been some positive noise in the online media, which is always good to see :-)

With this first milestone now reached, I've looked back a bit at the switch to my new position. It was a bit of a slow start because of hardware failures (try getting a full development and testing environment for some cloud stuff on one laptop with 2GB of RAM; possible, but painful) and because there was a lot to learn; it was actually quite frustrating to feel useless for so long.

However, it seems I found the highway after coming back from GUADEC and everything is going very smoothly now. Of course, doing something completely different was a bit of a challenge for me, and I didn't know how I'd react to playing nearly full-time with OpenStack and Crowbar (a tool created by Dell to ease OpenStack deployments that we adopted). It turns out I'm enjoying it! On top of that, the SUSE Cloud team is really great, with a good mix of fun and work. The only missing bit is that we haven't properly celebrated the SUSE Cloud release with ice cream — I'll have to get this fixed ;-)

- page 3 of 122 -

by Vincent