Road map 2016

This commit is contained in:
Norman Feske 2016-01-15 12:43:15 +01:00
parent c0a2388978
commit 08550c6ed9

View File

@ -14,56 +14,99 @@ The road map is not fixed. If there is commercial interest of pushing the
Genode technology to a certain direction, we are willing to revisit our plans. Genode technology to a certain direction, we are willing to revisit our plans.
Review of 2014 Review of 2015
############## ##############
Most of the progress in 2014 was motivated by our goal to use In the beginning of 2015, we declared four main topics to work on, namely
Genode as general-purpose OS on x86-based platforms. To highlight a Genode as general-purpose OS, our custom base-hw kernel platform, thorough
few achievements, we started to use [http://rumpkernel.org/ - Rump kernels] documentation, and the seL4 kernel. It goes without saying that the stability
as file-system providers, enabled VirtualBox on NOVA, pulled off the and performance of the base system is a fundamental requirement for the first
engineering feat to run the Intel Wireless stack natively on microkernels, and topic.
came up with a new GUI architecture. We regard these features as the
groundwork to make Genode a feasible platform for day-to-day computing.
That said, even though we are proud about the progress, we are still not there In mid of 2015, we eventually reached the point where a hand full of
yet. So what keeps us back? The answer is actually not technical. Most developers started using Genode as their day-to-day OS in the form of the
developments over the past years were concerned with individual features or so-called
technical challenges. But the integration of sophisticated system scenarios [https://github.com/genodelabs/genode/issues/1552 - Turmvilla scenario].
was a rare occurrence. For the most part, such integration activities were By the end of the year, the performance, stability, and device-driver support
solely triggered by a particular project or by a presentation. In order to had reached a level that leaves people impressed every time we have the chance
make Genode fit for regular use, we need to make the composing of advanced to show off our system. Once people become interested, the Genode Foundations
systems a habit for most of the regular developers. book - published in Spring - provides a smooth introduction into Genode. The
Turmvilla scenario is currently based on the NOVA kernel. For the future, we
want to use also other kernels, in particular our custom base-hw kernel and
seL4. Thanks to the contribution of
[http://codelabs.ch - Codelabs], base-hw became usable on the 64-bit x86
architecture and on the Muen separation kernel in particular. With our work
on seL4, we reached the point where basic Genode scenarios are executable
on this kernel.
After having passed the point where a few enthusiasts are able to use Genode
as day-to-day OS, we should put the emphasis of 2016 on
ways to make Genode accessible for a wider community.
Big picture for 2015 Big picture for 2016
#################### ####################
On the account of this realization, the overall theme of 2015 will be the We identified two possible ways to extend the Genode community.
consolidation and cultivation of the existing feature set rather than the
conquering of new grounds. This implies the following topics:
* Advancing our automated test and integration infrastructure towards By community we refer to two groups of people. The first group are
the continuous integration of real-world system scenarios, maker-minded people with a strong incentive to build things. By publishing a
* Fostering good-quality documentation, series of step-by-step guides that explain how to put Genode components
* Optimization of performance and stability, together in order to create custom system scenarios, we intend to spark
* Improvement of our tooling interest of system builders in Genode. Those articles could be accompanied by
screencasts or live-system images.
Furthermore, we have to address outstanding limitations of the most The second group are certain end users with a strong desire for privacy and
commonly used base platforms, namely base-hw and NOVA. I.e., only security. We expect this narrow user group to willingly trade the comfort and
with kernel-protected capabilities, base-hw can be considered as a viable features of traditional desktop OSes for the benefits of Genode. We plan to
base platform for security-critical systems, and only with proper showcase a system with practical value for this group, for example a
kernel-resource management, NOVA can be recommended as a kernel for disposable OS like Tails that allows the user to browse the internet via the
general-purpose computing. Tor network.
Besides the cultivation of the existing feature set, there will still be room In this spirit, the leitmotif for 2016 will be: Let us make Genode accessible
for new things. We are particularly excited about the prospect of combining to the world outside the inner circle of us enthusiasts.
Genode with the [http://sel4.systems - seL4 kernel] and
the [http://nixos.org/nix/ - Nix package manager]. Furthermore, we desire to On a technical level, this motive implicates the following topics:
continue the work on our new GUI architecture towards a capability-based
desktop environment. * The deployment, management, and configuration of Genode systems, i.e., by
bringing forward our work on the Nix package manager and by fostering
dynamic configurability. This direction also reinforces the need to achieve
binary compatibility between the various base platforms to make the
distribution of binary packages, reproducible builds, and continuous test
and integration scalable.
* Accommodation of common desktop use cases like plugging in a USB
stick to work with the files stored on it. Also disk encryption comes
into mind.
* Optimization of Genode for the use on a laptop, e.g., addressing
fan control, power management, suspend/resume, and similar features.
* Identifying ways of how Genode could contribute additional value to
Xen-based environments like Amazon EC2 and Qubes OS.
* Foster the cross-pollination of the seL4 and Genode communities.
Genode would allow the seL4 community to move beyond static system
scenarios.
* As most use cases rely on networking, we acknowledge the need for
improving Genode's network support such as NAT, the robustness of the
available TCP/IP stacks and drivers, encryption, and possibly IPv6.
* Genode as distributed system, e.g., a system spread over multiple FPGA-based
softcore CPUs, over multiple domains of the Muen separation kernel, or a
local machine and a cloud-service provider.
Assuming that we succeed in drawing the attention of a broader audience
to our project, we should make sure that Genode's API won't undergo
major changes soon after this point. Today, there are still a number of
deficiencies in the current API. We should finalize the renovation of
the Genode API until the mid of 2016. This will also be right the time for
updating the Genode book. Also, the planned step-by-step guides will
be based on the modernized API.
Milestones for 2015 Milestones for 2016
################### ###################
In the following, we present a rough schedule of the planned work. As usual, In the following, we present a rough schedule of the planned work. As usual,
@ -71,38 +114,41 @@ it is not set in stone. If you are interested in a particular line of work,
please get in touch. please get in touch.
February - Release 15.02 February - Release 16.02
======================== ========================
* ARM virtualization on top of the base-hw kernel * RISC-V architecture support
* Modularized tooling for automated tests * seL4 version 2.0
* Assignment of USB devices to VirtualBox guests
* API modernization (introduction of new component API, deprecation
of API legacies)
May - Release 15.05 May - Release 16.05
=================== ===================
* Comprehensive documentation of the Genode foundations * VirtualBox on top of the Muen separation kernel
* Kernel-protected capabilities for the base-hw kernel * Update of the Genode Foundations book
* seL4 microkernel as base platform * NAT component
* Refined platform-driver architecture (support for MSIs, assignment of * API modernization (removal of API legacies)
I/O resources to drivers, standardized configuration) * Definition of "packages"
August - Release 15.08 August - Release 16.08
====================== ======================
* Capability-based desktop environment allowing the interactive installation * Cross-kernel binary compatibility
and management of Genode subsystems and the interaction with files * Interactive system scenarios on top of seL4
* Accommodation of typical desktop-computing tasks (e.g., email) * Networking via Tor
* Interactive tools for observing the system behavior * Block encryption
* NOVA kernel-resource management * Build-system support for handling packages
November - Release 15.11 November - Release 16.11
======================== ========================
* Achieving cross-kernel binary compatibility * Genode on top of Xen
* Package management * Exploration of Genode as distributed system
* Modern web browser * Deployment of packages
* On-target building of packages