FOSDEM 2012: BSD Licensed Operating System Dev Room
Operating systems distributed under the BSD or other permissive licenses such as the BSD family, Haiku, and Minix share many things in common with other FOSS licensed OSes like Linux, but also face different challenges. These challenges include the need for alternatives to widely used GNU tools and the often surprising discovery of users of our systems.
The BSD Licensed Operating System developers room will gather users and developers from BSD licensed OS projects to discuss their individual projects and ways they can help each other achieve their respective goals. Talks about developments in particular operating systems are welcome as are talks or forums on ways we can work together. We also welcome presentations on foundational technologies which are of interest to developers of BSD licensed operating system and presentations on derivative operating systems such as Debian GNU/kFreeBSD.
Contact
Brooks Davis <brooks@freebsd.org>
Schedule
Sunday February 5th 0900 - 1700
Time Slot |
Title |
Speaker |
0900-0915 |
Introduction |
Brooks Davis |
0915-1000 |
MINIX 3 and BSD |
Arun Thomas |
1000-1045 |
Introduction to pkgng |
Baptiste Daroussin |
1045-1100 |
Break |
|
1100-1145 |
Towards a BSD C++11 Stack |
David Chisnall |
1145-1230 |
Integrating LLVM into FreeBSD |
Brooks Davis |
1230-1315 |
Lunch Break |
|
1315-1345 |
The Lua Scripting Language in the NetBSD Kernel |
Marc Balmer |
1345-1415 |
Touch your NetBSD: towards tablet integration |
Pierre Pronchery |
1415-1445 |
pkgsrc on MirBSD |
Benny Siegert |
1445-1500 |
Break |
|
1500-1530 |
Introduction to pkgsrc, and to package creation in NetBSD |
Guillaume Lasmayous |
1530-1600 |
pkgin, a binary package manager for pkgsrc |
Emile Heitor |
1600-1630 |
Automated package building |
Nicolas Thauvin |
1630-1700 |
Cross Distro Cooperation Brainstorming and Closing |
Brooks Davis |
Talks
The Lua Scripting Language in the NetBSD Kernel
Speaker: Marc Balmer
Abstract: The Lua scripting language has been designed to be embedded into software written in C to allow for scripting and extending of such software. Lua is popular because it is easy to integrate and the language itself is simple and easy to learn. The compact code size and small memory footprint make it a candidate for embedded use.
Most Lua use cases are to extend end-user software, like e.g. the popular game "World of Warcraft" or the photo editing and archiving software "Adobe Lightroom". In this presentation, however, the author will show how Lua can be used in an operating system kernel. An actual implementation will be presented based on the NetBSD Unix-like open source operating system.
Towards a BSD C++11 Stack
Speaker: David Chisnall
Abstract: Most of the Free Software world currently uses the C++ stack provided by the GNU project, including the C++ front end to the GNU Compiler Collection and libstdc++, the GNU implementation of the C++ standard library. In 2007, these projects switched to version 3 of the GNU General Public License. As a result, newer versions have not been imported into FreeBSD and other projects with similar licensing conditions. GCC 4.2.1 and the associated libstdc++ release are the most recent that can be shipped with these platforms.
Since this release, a new version of the C++ standard, C++11, has been published. This includes a number of significant changes to both the language and the standard library. Some, such as r-value references, allow much more efficient implementation of some fundamental parts of the standard template library and make a significant reworking - if not a complete rewrite - desirable.
These two factors, the license and the need to support the new standard, made it desirable for FreeBSD to switch to a completely new C++ stack. This includes a variety of components. At the bottom sits the C++ runtime library, responsible for providing features such as exception handling and run-time type information. On top of this is the C++ standard library, which provides the classes that the standard mandates. None of this, of course, would be any use without a C++ compiler.
This talk will examine each of the components in the new, permissively licensed, C++11 stack, including libcxxrt, libc++, clang / LLVM, and the modifications that were required to FreeBSD to support all of these. Some of these libraries required writing from scratch, while others required effort to port or integrate. They all depend on various features that are not specific to C++, some of which already existed and some of which required implementing from scratch.
Introduction to pkgng
Speaker: Baptiste Daroussin
Abstract: Pkgng is a completely new package manager rewritten from scratch. It aims at replacing the old pkg_install. It is developed on top of new libpkg which is the high level library that does all the package management, it brings new features such as safe upgrade, (multi) repository support, integrity checking and more. It has been designed to be extensible while remaining fully compatible with the current FreeBSD ports tree.
Integrating LLVM into FreeBSD
Speaker: Brooks Davis
Abstract: The FreeBSD Project has been actively working to incorporate tools from the LLVM project into our base system including clang, libc++, and possibly lldb. This talk will cover our efforts so far including our plans to ship FreeBSD 9.0 with clang in the base system. I will cover both our current work to replace GPL licensed components with BSD(ish) licensed components and future or experimental work to incorporate new technologies made possible by LLVM.
pkgin, a binary package manager for pkgsrc
Speaker: Emile Heitor
Abstract: pkgin is aimed at being an /apt / yum/ like tool for managing pkgsrc binary packages. Many so-called GNU/Linux distributions provide a convenient way of searching, installing and upgrading software by using binary archives found on "repositories". NetBSD, and more widely, all operating systems relying on pkgsrc have tools like pkg_add(1) and pkg_delete, but those are unable to correctly handle binary upgrades, and sometimes even installation itself.
This is the purpose of /pkgin/, to provide the user a convenient way to handle binary packages, using the same working mechanisms than tools like /apt-get/.
Introduction to pkgsrc, and to package creation in NetBSD
Speaker: Guillaume Lasmayous
Abstract: pkgsrc is a cross systems packaging system, used in NetBSD, but also DragonflyBSD, MirBSD, Minix3 and a lot more. Through the example of shotwell, a digital pictures management application, this talk will give an introduction to pkgsrc for users and packagers.
Touch your NetBSD: towards tablet integration
Speaker: Pierre Pronchery
Abstract: The AFUL, a French non-profit organization, has launched a contest called AFULTab to challenge developers to propose a FOSS tablet environment with the hardware of their choice. NetBSD enthusiast and DeforaOS developer is currently working on his own proposal, both adapting NetBSD for tablet hardware and polishing the user interface from the DeforaOS desktop environment.
This talk will summarize the work done, in progress and planned before the official release date on May 1st.
pkgsrc on MirBSD
Speaker:' Benny Siegert
Abstract: pkgsrc is a collection of over 11,000 packages available for a variety of operating systems, developed by the NetBSD project. Since the end of 2010, there is an ongoing effort to port pkgsrc to MirOS BSD, an operating system derived from OpenBSD. This talk gives a short overview over pkgsrc, comparing its usage and features to MirPorts, the older "native" packages system on MirOS. Compared to MirPorts, pkgsrc has many more and newer packages, a more active community of developers and a very responsive security team that identifies and patches vulnerable packages. Some more practical aspects will also be treated: how to get a new platform supported in pkgsrc (both on the technical and on the administrative side) and which are the principal challenges in doing so.
Automated package building
Speaker: Nicolas Thauvin
Abstract: With binary package management tools such as pkgin or nih, building sets of packages and maintaining a repository becomes a need, mostly when managing multiple servers. This talk presents the setup of different bulk build solutions in pkgsrc.
MINIX 3 and BSD
Speaker: Arun Thomas
Abstract: MINIX 3 is a BSD-licensed operating system focused on dependability. To improve the user experience, the MINIX team has been working to provide a more BSD-like environment on MINIX 3. This talk will describe our current progress on this front and our plans for the future.