October 14, 2010
The Foundation sponsored several developers and summer of code students to attend last week’s EuroBSDCon. We’ll publish the trip reports as they come in. Brooks has already sent his and his report is as follows:
EuroBSDCon 2010 was a small, productive conference with a well organized developers summit. I arrived on Wednesday, October 6th and met a group of developers for dinner. The next morning we headed to the Karlsruhe Institute of Technology for the developers summit. The format was 15-minute talk & discussion sessions in the morning and longer meetings in the afternoon. In the morning we heard about and discussed USB, toolchains, documentation, NanoBSD, pf, jails, and virtual private servers. In the toolchain session I provided a quick review of the current state of affairs followed by a general discussion. The progress of clang’s integrated assembler was of particular interest.
Useful outcomes from the initial discussion included identification of the need for people to drive both libgcc and libc++ replacement efforts. Much of libgcc has been replaced by compiler-rt, but we may need to write a few components and we need to package it appropriately. More work will be required for libc++, but there are patches available to make it work on Linux.
After lunch, topics for larger discussion were solicited and we broke up into groups. I lead a small discussion of toolchain issues. Koop Mast reported that nearly half of the ports collection now builds with clang and three ports have fixes in the works which will unblock over 5000 more ports. Ed Schouten volunteered to work on a libgcc replacement. As a prototype we decided to start by replacing all the parts of libgcc which have counterparts in compiler-rt and then see what’s left. Koop expressed interest in trying to to get libc++ building as a port. One long pole dependency we found is support for POSIX 1003.1-2008 per-thread locales. Functions such as newlocale(), uselocale(), and freelocale() will need to be added to libc. Another issue we discussed was if we actually need a /usr/bin/as. It’s not clear that anything in the base system needs it and most things that use an assembler directly actually use something like NASM. If we don’t need it in the base that will make things easier since currently there isn’t a gas replacement as part of llvm/clang.
Other topics of the afternoon included inet6, USD, documentation, and cluster administration.
The next day followed the same format with morning talks on PC-BSD; FreeNAS; kernel event timers; problem reports; ports tinderboxes; GSoC projects: NFS event auditing, optional kernel subsystem registration,ringmap, and accessing subsystems via libraries; and finally a general GSoC discussion. In the GSoC discussion there seemed to be general agreement that recent FreeBSD additions including the soc-status mailing list and the multidimensional ranking system we used for proposals this year were good ideas. There was a suggestion that we should make sure mentors instruct their students to provided some overall context in their soc-status proposals.
In the afternoon, discussions covered ports, pc-bsd, bugbusting, ringmap, cluster administration, event timers, and freenas. I joined the cluster administration discussion and working session where we talked about the status of the various clusters as well as some possibilities for new mirror systems as well as the fact that we’re nearly ready to go with the things required to let us build ports with quarterly releases.
After the days summit we adjourned to the developers summit dinner which was quite excellent. Over all the summit was well organized and the format worked well. My only complaints where a catering error which left us without snacks on the second day and that soliciting ideas for breakout sessions with a quick meeting before they started probably wouldn’t scale to a larger group such as the BSDCan devsummit. For something like that some of the techniques from un-conferences would be appropriate.
The main conference was a normal two track format with a keynote at the beginning. Saturday began with an opening speech and then phk give a provocative overview of the system tools philosophy where he argued that we need to bring the power to Unix tools like grep to structured data (primarily XML). I think he made a good case and it certainly stirred up a good bit of controversy. I then attended the next four talks on Track 1. Three of those were virtualization with Bjoern Zeeb talking about jails and vimage, Jamie Gritton talking about his new jail management framework which includes config file support, and Klaus Ohrhallinger talking about his work on virtual private systems (VPS) which is essentially VIMAGE taken to the logical extreme and includes support for live migration of virtual instances. The fourth talk was on netpgp and the ability to use ssh host and user keys to sign and
encrypt data. I left the talk knowing that you could do that, but with no idea why you would want to. The final session I attended was on recent developments in pf on OpenBSD. It sounds like they greatly simplified some aspects of the code at the cost of breaking most users configuration files. If FreeBSD were to adopt this code it would need to be as yet another firewall. The day ended with the conference organizers asking me to give a FreeBSD status report on Sunday.
On Sunday I worked on slides for the status report during early talks. I did catch Martin Matuska’s talk on ZFS which included detailed coverage of the current state of ZFS both technically and politically along with upcoming features in v28. While attending that talk I missed a talk on binary package updates which I would have liked to hear. In the afternoon I wrapped up my slides and the presented a FreeBSD status report along with reports on NetBSD, OpenBSD, and PC-BSD. Between the projects there were both sharp distinctions on some things like the toolchain and near total agreement on others like moving to mandoc for manpage rendering. On the toolchain front, OpenBSD is beginning to move from gcc 2 and 3 to various pre-GPLv3 versions of 4. NetBSD has been spending a fair bit of time on pcc, but has also imported a GPLv3 binutils and plans to import gcc 4.5 soon. While putting slides together I found it that pretty impressive to pull together a set of features from the last several months as well as works in progress. It was also interesting to see how many of the features were partially funded by the foundation.
All in all the conference came off well. I do fear that if we had more attendees in the future that we would need a different venue, but that will be many years away. I’m looking to next year’s conference in the Netherlands.