Last week-end I attended the eleventh edition of FOSDEM in Brussels.
Like the previous editions, it was simply amazing. Great minds, anonymous hackers and free software enthusiasts, in total more than 5000 visitors over the course of two very intense days!
Volunteers who saw to the organisation did an impressive job at running the whole event smoothly, thank you very much guys!
Unfortunately two days is a very short time frame for so many talks, discussions and Belgian beers, and this year again the whole thing was over before I had time to realize. And the lack of sleep didn’t help either…
The event traditionally kicked off with the infamous Friday Beer Event.
Picture hundreds of hackers gathered in a bar in the centre of Brussels, cheap and tasty Belgian beer…
That’s right, the logical consequence is a bad hangover on Saturday morning. Luckily Ugo had a load of painkillers that did wonders to my head and saved my day.
As last year, the bar was really packed and I didn’t move around much, still I managed to bump into Matthias Saou, a former colleague at Fluendo, and I also met a bunch of Igalians, some of whom I had met last year in the same place.
Saturday
This year I had decided to travel very light, and I intentionally didn’t carry any laptop or netbook, the idea being to really make the most of the talks.
A decent phone able to connect to the network for schedule updates and meeting workmates would have helped, though…
So I went around carrying a notepad and a pen, taking detailed notes of the presentations I had carefully selected in a small printed version of the schedule.
And I must say that overall I’m not disapointed by the quality of the presentations I attended.
Eben Moglen’s opening keynote was inspiring. He talked about the power of ordinary people to change things, and how freedom may look like something messy, destructive in the short term, but is salvaging in the long term.
He went on to highlight the enormous political importance of social networks, and how highly dangerous to use the current solutions are, because they are too centralized, and because business and profit will always prevail over technology and freedom.
And he said we need to fix this, by creating federated social networks. We need to operate under the assumption that the network is untrusted and untrustworthy.
He finally announced the creation of the Freedom Box Foundation.
Chris Lattner then presented the LLVM project. Interesting to know that there are people out there who are working hard to improve our most fundamental tools, compilers and the rest of the toolchain.
After a quick lunch break, I went to the Mozilla devroom to see Tristan Nitot give a quick speech about the foundation in 2011 (or was it 20011 as he said?). The new marketing motto of Mozilla for Firefox seems to be: «We report to no-one but you».
I then moved to the nearby cross-distro devroom to listen to Thomas Weber, a debian developer, explain how to be a good downstream. By means of a list of common-sense advice, he advocated for two-way pro-active communication between packagers and upstream developers. Communication and empathy are, he said, the keys to a successful relationship, and will avoid most of the issues that usually arise. In an ideal world, upstream developers shouldn’t have to deal with distribution-specific stuff (it’s great if they are willing to do so though), and packagers need to understand that upstreams may have different deadlines and schedules than that of their favourite distro.
The next talk in the same room was given by Jared Smith, current Fedora Project Leader, and was entitled «Swimming upstream, or how distributions help open source communities». He developed on the river analogy (upstream, downstream, salmons and other apparently unrelated topics), to make a point on how distributions actually create communities (who said Ubuntu?), how discussion, as long as it’s respectful and civilized, is a healthy thing (who said Code of Conduct?), and to ask what artificial barriers we are putting in people’s way, which reminded me very much of the ongoing efforts of Canonical’s community team to make sure the processes in place help people rather than get in their way. He concluded on why we are doing all this: at the end of the day, we all live downstream.
I then hurried back to the main lecture hall for Lennart Poettering’s introduction to systemd, a drop-in replacement for sysvinit. I had already read his introductory paper, so I knew what it was about, and the prospect of starting all processes in a completely parallel manner is really exciting, but what proved really interesting was the update on the status of the project, and the questions that were asked at the end of the talk. Having worked recently on optimizing the boot sequence of a netbook for a project within Canonical OEM services, I can’t wait to see the benefits of such an init system in action.
I then went to a presentation of Firefox 4 for developers by Tristan Nitot. I’m not much of a web developer myself, but Firefox’s latest performance improvements, together with full support for HTML5 and CSS3, promises an exciting future, and the demos he showcased were truly impressive. Too bad the presentation suffered from obvious lack of rehearsing.
The last discussion I attended on Saturday was about XMPP and federated social networking. After a presentation of buddycloud, a rather technical discussion ensued about implementation details. It seems several groups of people are currently experimenting with various approaches, and they hope to converge towards a common standard at some point. Good to see a real example of constructive discussion and community efforts.
And with that Saturday at FOSDEM was over, which I took advantage of to take a quick nap before going for dinner with my friend and workmate Ugo.
Sunday
Sunday started early for me with a talk in the accessibility devroom entitled «How does a blind person see a computer with free solutions», by visually-impaired Jean-Philippe Mengual. I am particularly interested in this topic in the context of Unity in Ubuntu, its currently poor support of a11y, and the total lack thereof in Unity 2d at the moment. The GNOME desktop and Ubuntu are often praised by enthusiasts as being quite accessible for people with physical or cognitive impairments, and there is indeed a collection of tools dedicated to making the desktop usable for them, but in practice eSpeak, the default text-to-speech synthesizer, was deemed not usable by the presenter. Ouch. Good commercial, proprietary solutions exist, but they are very expensive (> 2000€ for IBM’s text-to-speech tool). The good news is that projects aiming at producing better free tools exist, that there is a whole team in Debian dedicated to a11y, that people developing GNOME 3 are working hard to enhance a11y, and that every single of those efforts is a step forward towards enabling the impaired to fully get rid of proprietary solutions. The presenter, a mere user himself, urged developers to have a11y in mind when writing software, and gave a series of common-sense advice to achieve that.
I then went to the embedded devroom to see Loïc Minier talk about Linaro. That was a very instructive presentation. Until then, to me Linaro was a big word which I knew was related to Linux on ARM, and that my employer is investing heavily in, but little more really. Loïc delivered a high-level overview of the goals of the project, its actors and its current status, and then dived in the details of the current and future tasks of various of the teams. With the increasing number of projects for ARM platforms we are seeing at Canonical’s OEM Services, this effort makes a lot of sense and I’m glad I’m now slightly less ignorant on the topic.
I stayed in the same room for a talk entitled «Qt tales from the embedded trenches». The abstract was promising, and it could have been interesting, especially since I’m currently up to the neck in Qt and QML with Unity 2d, but the speaker was trying too hard to be fun, and showing too much boring code on screen. Don’t show me code, give me food for thought!
I left this last one early, which gave me the opportunity to meet Bertrand Lorentz, of Banshee fame, who I had known last year at UDS in Brussels. It seems exciting stuff is planned for future versions of Banshee, and that includes DVD support and better video classification (unfortunately but quite predictably no contribution from Fluendo in sight).
I then headed towards the main lecture hall again for a practical go programming crash course. Andrew Gerrand, who works at Google in Sydney, took the audience through the exercise of writing a URL shortener in Go, with the goal of demonstrating some of the neat features of the language, such as defers, interface types and built-in concurrency with goroutines and channels.
Definitely interesting, although maybe not of immediate use to me, but I’ll keep an eye on it.
I met with my colleague Vincenzo Di Somma for lunch, which gave us the occasion of exchanging about our respective ongoing projects.
I then headed towards the main lecture hall again for Michael Meeks’ «The Wonderful World of LibreOffice, or how we will fix your office suite». He is certainly a great speaker, as I already had the opportunity to witness in the past. He probably digressed too long on how evil contributor agreements are, especially since I had already read a lot of this on his blog. Not that I entirely disagree with him, but at some point I even wondered whether he was going to get back to the main topic, LibreOffice. He eventually did, and the future looks bright for our favourite office suite: lots of new contributions from the community, new features, but also less sexy yet essential tasks, like tedious housekeeping to clean up the code base from its cruft, including thousands of lines of comments in German! In his words, «we wanna be a cool, vendor-neutral, diverse, linux-like community».
Back to the cross-distro devroom for a talk on automated testing (in this case of OpenSUSE). Scripted tests are run daily on new images in virtual machines, and the success of the tests are determined by taking screenshots of regions of the screen, and comparing with known-good expected results. Additionally, the system produces a fast-forward video (one frame captured every half-second) which allows an operator to later review what happened in case of failure. This allows to spot regressions early in a fully automated way, although at the moment it still involves a lot of initial work to set it up. The solution seems to be generic enough to allow testing other OSes: the presenter mentioned Debian, Fedora, OpenBSD, and even Windows! This is work in progress and could use a lot of improvements, but the concept is interesting. Results are presented in a web UI. I wonder how well this complements/competes with mago and checkbox on Ubuntu.
I stayed in the same room for the following talk, entitled «One source to rule all binaries». Sascha Peilicke presented the OpenSUSE build service that allows to build packages and custom distributions out of spec files. He demonstrated how from one seed the system is able to build packages for a large number of distributions, including Ubuntu, Fedora, Mandriva and Debian. Definitely cool and impressive, yet subject to lots of potential issues inherent to differences between distributions. Different package naming across distros is one example, custom patches another obvious one. Probably a very good tool for upstream developers who want to experiment with packaging their software for cheap.
And with that it was already time to catch a bus to the train station and then a train to the airport. I missed the closing keynote («How kernel development goes wrong and why you should be a part of it anyway» by Jonathan Corbet), but luckily it was recorded, which will allow me to watch it later.
Bye-bye Brussels, see you next year!