my blog

Friday 25 January 2013

And here comes a gnome-panel fork...

Last week-end, just before leaving for some travel, I became aware that gnome-panel was being forked into consort-panel (btw, I commented on that post, but I guess it was a bit too late since it's stuck in the moderation queue).

Now, let me start by stating clearly that I have nothing against forks: people are free to go this way, and that's cool with me. However, I quickly got confused for three reasons: I thought it was clear that volunteers are welcome to maintain gnome-panel, I thought I had explained to Ikey in June 2012 why some changes would be blocked from entering fallback mode but could hopefully happen in a not-too-distant future, and I'm getting explicitly blamed here and there for putting roadblocks.

I usually don't mind being blamed, but I prefer when it's for good reasons ;-) Of course, as a maintainer, I reject patches. There are usually good reasons, including the fact that there's a design philosophy that a module like gnome-panel had to follow since it was fully part of GNOME. Rejecting patches is part of the maintainer job. It doesn't mean that contributions are not welcome, but I guess it can be perceived as such... Another task of a maintainer is to enable people to keep the code alive, and in the case of gnome-panel, it was clear to me that having the fallback mode as part of GNOME 3 was a blocker to do so. It took more time than I would have liked, but this is something that got fixed when the fallback mode got dropped of GNOME 3.

With this in mind, and to clarify why I got confused by the fork announcement, here's a quick timeline of events in 2012, related to the fate of gnome-panel, covering what I was aware of until the blog post from a few days ago:

  • June 24th & 25th: I get a mail from Ikey about some patches he wrote to revert changes that were done in gnome-panel 3.x. I answer that this can't get in at the moment, due to the fact that the fallback mode is an official part of GNOME 3 and has to work the GNOME 3 way. I also mention that this direction of gnome-panel could change if the fallback mode is dropped from GNOME (and that I would step down as maintainer if gnome-panel becomes actively developed again). As far as I know, this mail discussion (six mails) is the only time I've interacted with Ikey until I commented on his blog post a few days ago (no other mail, nothing in bugzilla; there might have been some irc chat, but I don't keep irc logs).
  • June 25th: I start a thread on desktop-devel-list to see if we still need to keep the fallback mode as part of GNOME 3.6, and I invite Ikey to participate in the thread (in the private mail discussion mentioned above). A decision is taken, and it's to keep the fallback mode for now.
  • end of August: I start the DropOrFixFallbackMode feature page for GNOME 3.8, because I feel the fallback mode in GNOME is not getting enough love. This feature page explicitly mentions that some people would like to improve components of the fallback mode to work differently, and that dropping the fallback mode would enable these people to step up and push for what they'd like to do.
  • December 5th: I send a mail to a small group of people who I know might be interested in keeping some fallback components maintained, to help them start on their work. Clearly, I failed to include Ikey in the discussion, but only because I had forgotten about our discussion from June.

The ironic point here, at least to me, is that it's Ikey's mail that triggered my push for the fallback mode to be dropped from official GNOME so people could work on gnome-panel with more freedom. Which is what seems to be wanted.

Anyway, let me take this as an opportunity to remind everyone that people are welcome to become maintainers of gnome-panel. It'd be preferable to maintain it in the GNOME infrastructure, but I guess even just forking it with full history on gitorious/github would work. No need to rename, no need to follow the GNOME 3 design, etc. If full forking+renaming is preferred for some reason, in the end, that's fine; I'd be curious to know what good reason exists, though.

And as usual, you're welcome to blame me for X, Y or Z :-)

Friday 21 December 2012

DevStack on openSUSE, or how to quickly setup OpenStack on openSUSE

One of the first things I did when I joined the Cloud team at SUSE was to start porting DevStack to openSUSE. DevStack is a set of shell scripts to build complete OpenStack development environments. It is useful to create a small OpenStack environment that will be used for hacking, testing, etc. and is therefore primarily used for upstream development. Getting this to work on openSUSE seemed like a logical first step before doing more OpenStack work. I got things working pretty quickly, but for various reasons, this all stayed in a personal branch of mine (except for a few preliminary patches).

A few weeks ago, I got time for DevStack again. So I rebased my branch, cleaned up everything, and started submitting the patches. After reviews from Sean Dague and Dean Troyer (and some patch rewriting to address the issues that were raised), the openSUSE support landed in master. A few other people tested it, and nobody has been hitting any major issue, so yesterday, I finally submitted the patch to make openSUSE 12.2 a supported distribution. Now you can play with DevStack on openSUSE!

I wrote some documentation for DevStack on openSUSE if you want to get more details on how to use it. But I guess it wouldn't hurt to show how easy it is to setup your own OpenStack environment this way...

I'm shamelessly stealing instructions from the single VM DevStack guide to show you the very short version. Just run the following in an openSUSE virtual machine (do not run this on your main system unless you're 100% sure it's what you want: DevStack is a little bit too invasive right now; see Daniel's analysis on this topic):

zypper in git-core
git clone https://github.com/openstack-dev/devstack.git
cd devstack
echo ADMIN_PASSWORD=password > localrc
echo MYSQL_PASSWORD=password >> localrc
echo RABBIT_PASSWORD=password >> localrc
echo SERVICE_PASSWORD=password >> localrc
echo SERVICE_TOKEN=tokentoken >> localrc
echo FLAT_INTERFACE=br100 >> localrc
./stack.sh

(You'll actually need to call FORCE=yes ./stack.sh until the patch mentioned above gets in.)

And there you go, you have OpenStack running! That was quite easy, right? :-) You can connect to the web dashboard (horizon) or use the command line tools (hint: source openrc will setup the proper environment variables for you). Here's a few commands you can use to get started:

source openrc
glance image-list # find out which image is available
nova boot --image cirros-0.3.0-x86_64-uec --flavor m1.tiny cirros-test # start an instance of one specific image
nova list # see what instances are in the cloud

So go ahead, read the documentation, play with all this, and enjoy DevStack on openSUSE!

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...

- page 2 of 121 -

by Vincent