Roadmap 2017

Norman Feske norman.feske at ...1...
Wed Dec 21 13:04:50 CET 2016

Hello everyone,

the end of the year is approaching. So it is the right time to make up
our minds for the upcoming year.

Review of the past year

When reviewing the roadmap for 2016, it is quite clear that our initial
goals moved a bit out of focus throughout the year. Our overall theme
was to make Genode more easily available outside the inner circle of
developers. Topics like system configuration, package management, and
tutorials spring to mind. However, the four releases of 2016 were mostly
concerned with base technologies rather than end-user facing features.
Just to name a few topic:

* RISC-V architecture
* Hosting Genode on top of the Muen separation kernel
* Using Genode with the seL4 kernel
* Fundamental revision of the framework API
* Huge device-driver improvements (like wifi, graphics, USB, ACPI)
* Features like VirtualBox 5, virtual networking, TOR, Rust, ...

There were two reasons behind this shift.

First, exploring new ways to combine Genode with other technologies
(like RISC-V, seL4, Muen) is very exciting from a developer's
perspective and creates new opportunities for collaboration. On that
account, I am particularly happy about the relationships that we now
enjoy with the Muen and seL4 developers.

Second, we realized that the concerns of the existing Genode users
should be prioritized over extending the user base. The existing users
are primarily interested in API stability and maturity. So personally, I
made it my priority to free Genode from legacies and known architectural
limitations. Over the year, we introduced and cultivated the new
framework API that is designed for safety, achieved cross-kernel binary
compatibility, and revised the framework's most fundamental protocols.
This was quite a feat! Now, knowing that the time of sweeping
architectural changes lies behind us, I feel much more confident that
users of Genode will enjoy it.

Even though we largely deviated from our original plan, I am very
satisfied with the outcome of the past year. After all, the roadmap is a
plan. Plans can be changed.

My goals for 2017

There are still two low-level construction sites left that I want to
wrap up, which is the introduction of application binary interfaces
(ABI) and ability to dynamically configure the init component. The ABIs
largely decouple library implementations from their users and thereby
will greatly ease the creation of a scalable package-management system
on top of Genode. The dynamic init will potentially cover the use cases
of most of today's custom-implemented Genode runtime environments (like
launchpad, cli_monitor) by one versatile solution that scales well.
This, in turn, will facilitate the creation of more sophisticated and
dynamic Genode systems. In contrast to the "Turmvilla" scenario that I
am currently using, such systems could be defined and reshaped not only
at their build time but during runtime.

With the ABI and dynamic init in place, I'd like to concentrate on
stressing the framework, both in terms of using it much more intensively
and by creating artificial stress. By the time of the release of version
17.05, Genode should - in principle - be well suited for the the
maintenance of a long-term supported version.

When looking at my use of the Turmvilla scenario on my laptop, I see two
principle limitations. First, the system is hard to set up. Installing
it on a new machine is quite a burden. (i.e., I have shiny new x260 on
my desk that gathers dust because I don't find the time to install
Genode on it) This needs to be fixed! Second, the system does not stay
up to date automatically. I would love to always use the components of
the latest master branch so that I can detect and correct regressions
that slip through our automated tests. Consequently, I need to craft a
solution that allows me to update Genode on the fly and - if anything
goes wrong = allows me to roll back to the previous version.

There are many other ideas on the back of my head. But the topics
outlined above are the most important ones for me.

Now I am interested in your plans and goals for 2017! ;-)

As every year, I will to consolidate the discussion into the official
roadmap by mid of January.


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list