Wednesday, May 21, 2014

BSDCan 2014 summary

BSDCan 2014 and the accompanying FreeBSD devsummit are officially over. Let's recap.

FreeBSD devsummit

The FreeBSD devsumit at BSDCan is, by far, the largest of them all. It is true that I already visited a devsummit once —the one in EuroBSDCon 2013—, but this is the first time I participate in the "real deal" while also being a committer.

The first impressive thing about this devsummit is that there were about 120 attendees. The vast majority of these were developers, of course, but there was also a reasonable presence from vendors — including, for example, delegates from Netflix, Isilon, NetApp and even smaller parties like Tarsnap.

The devsummit started with a plenary status talk followed by a new proposal for release engineering and a planning session for features desired in FreeBSD 11. We ended up with three whiteboards full of desired items, ranging from small stuff like adding a feature to a driver to larger stuff like packaging the base system or potentially dropping support for IA64 altogether. In the end, and being this a volunteer project, it is obvious that all features that came up will not be ready for 11.0. However —and this is the important part— this was extremely motivating: tons of new ideas for future releases, a collective desire to getting them done and dozens of people with the energy required to make them happen.

I digress. We then went off to our working groups.

The Continuous Integration working group

The devsummit session that I most wanted to attend was the working session on Continuous Integration with Jenkins, and it was quite an eye-opener for me.

When I first heard about the Jenkins work that had gone into FreeBSD, I disregarded it because I assumed it overlapped my work on Kyua (NIH syndrome, you know). The thing is that it did actually overlap my plan, but this is a good thing and I will let you know why in an upcoming post.

Fortunately though, my views on Jenkins and the project changed pretty quickly. Jenkins is a very powerful software package with a large community backing it. With help from Craig Rodrigues, I had a local instance up and running, ready for hacking, in less than 20 minutes. Plugging Kyua into Jenkins, which is something I promised to do a couple of months ago but never got to it due to procrastination, turned out to be a simple 1-hour task.

So where are we going from here? Integrating the FreeBSD Test suite into Jenkins! This will be a relatively-simple thing to do and will provide a quick and powerful solution to continuous integration for FreeBSD. As Craig mentioned, realizing this alone was worth the entire trip to BSDCan.

My talk on the FreeBSD test suite

My talk this year was on the shiny-new FreeBSD Test Suite. The original conference schedule had me against a talk on mandoc and a talk on PC-BSD (if I recall correctly), which made me happy because I thought I would not have super-strong competition and I'd be able to fish many attendees looking for a systems talk.

Unfortunately... the speaker for the PC-BSD talk could not make it to Ottawa and, in his place, the conference organized an impromptu talk on LibreSSL — the hot topic these days. As a result, I really was not hoping for (m)any attendees.

However, in the end, I think I got around 40 people in the room; not as many as I wished, but let's call it a success. The funny thing, though, is that one reason behind the existence of Heartbleed-like bugs is a poor testing culture, which in turn results in poor APIs and unverified (often pretty obvious) corner cases.

Speaking of talks, this is the first time I experimented with bullet-less slides. My slides had pictures, diagrams and code samples alone and all the "bullet" content was on my private notes. I hope this was much more engaging for the audience but, in particular, reinforces the fact that the slides are not the presentation.

The talk will be online soon I hope, at which point I'll post a link.

To summarize: I think the talk went well. If you were one of the few attendees: thank you and please provide detailed feedback! It's the only way to become a better speaker.

Little NetBSD presence

The lack of NetBSD presentations and attendees is a recurrent topic in pretty much all BSD conferences. Only very few people show up and the content of the conference is pretty much all FreeBSD and OpenBSD related (the latter being a good recent push).

This is probably a vicious circle. Because there are no NetBSD talks, NetBSD developers don't see the value in attending... and because they don't see the value in attending, they don't propose topics.

But the truth is attendance is not about "we against you" presentation-wise. Meeting people from other projects and holding hallway conversations with them is incredibly valuable and essential if you want your work and ideas to float around. Many misconceptions are cleared this way and, who knows, maybe you will find an unexpected collaboration opportunity.

From here, I'd like to encourage the top contributors of the NetBSD project to fly out to the major BSD conferences. You know who you are. There is no need to present, but obviously doing that is a plus because you'll have your expenses covered.

If any of you are reading this, I'd also ask you to attend the FreeBSD devsummit to see how things work on the other side of the fence. I know that at least one board member is interested in hearing how the FreeBSD Foundation drives things on their end as their prior experience surely applies equally to the NetBSD Foundation. If interested, drop me a note when the time comes and I'll extend you an invite.

Hallway conversations

As always, the best thing in these technical conferences are the hallway conversations with other developers. Building personal relationships with the community helps massively in later online interactions, especially in treating nasty-looking-at-first email replies in a more personal way. (Doesn't work with everyone but it does the majority of the time.)

I can't mention all the individuals I talked to because they were a good bunch, but let me say that I learned a lot about the future desires for the ports tree, the status of the FreeBSD powerpc port, "things" about IPv6, internals of Xen...

The food

This year's BSDCan featured catered salad and sandwiches instead of the traditional lunch boxes. I think the widespread consensus was that the food was much better this time. I personally welcomed the change.

Gained motivation

And, lastly, we are back to motivation. I've already glanced over this throughout the post, but I gotta restate it on its own. Being able to meet all the people that really care about the project in a single room, sharing what their desires and goals are; receiving kudos for one's own work and suggestions on how to improve it; and just seeing everyone put effort in their preferred areas is very motivational. It refreshes one's view on the projects and, at least in my case, really makes me want to continue working on what I was doing in the past.

I've got this feeling during every single BSD conference I attended and I hope this continues to be the case in the future.

That's all for now. See you in Sofia, Bulgaria for EuroBSDCon 2014.