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.

201202DevRoom (last edited 2020-10-25T23:34:41+0000 by SashaVigole)