Haiku Open Platform

The main purpose of this report is to show one of the ways how to design and build infrastructure around Haiku that will covers all the nieches and OS weight categories. BeOS succesor was chosen as one of very self motivated products that is proven to be such (Haiku community reimplemented BeOS kernel and subsystems with high quality codebase: less that ten thouthand closed bugs for such a big project). Also this document can be treated as investors guide or internal vision of Synrc Research Center, playing role of BeOS and Haiku advocate.

Coverity

Open Source world nowadays presented with walking tall Linux that covers all nieches in every IT markets: from hand watches to enterprise servers and cloud networks. There are commonly discussed pros and cons about being player with Linux rules:

Pros

— Wide and spread devices and tools support
— Low time-to-market value
— Low-cost engineering

Cons

— Low code quality
— Managing in bazar manner
— Limitation of Licence

There are some attempts to solve negative aspects of Linux-way: commercial support of BSD systems such as Wasabi and custom commercial support of OpenBSD. But ingeneral Linux is dominant OS platform for wide range of services. Though, investments to Linux from big side of IT-market is not very prominent. Most mobile devolpers that was chosen Linux drops their Linux-based OS development. Apparently that happened because of aggressive Android positioning that technically spoken hides ugly Linux layer from application developer. Most severs manufacturers switched from their own server OSes to Linux, but ingeneral the happines hadn’t come. The main part of their revenue composed of support service, but R&D and Linux development is blocked up with Linux weak spots.

The first candidate for OS that can cover all devices from mobiles to server is Mach-based XNU kernel from Apple with Objective-C appllication framework from NeXT. It is well designed in CMU, polished by Apple and adapted to the modern needs. Another players on the market are the lightweight Windows CE and also Mach-inspired Windows NT kernel already splited in two categories and closed forever by its authors.

So the weight categories of OS presented in IT industry:

— Embedded (robots, plants, devices, appliances, real-time applications)
— Mobile (telephones)
— Handy (netbooks, pads)
— Desktop (workstations)
— Telecom (servers)

Honestly spoken only quality based approaches and effective technologies forms the solid ground for long-term living infrastructure, that can be auto-motivated and self inspired. Victorious Linux walking holds in it only temporal nature. Only players that can quickly cut off money from Linux could select it as a base platform as did Google with Android: zero-innovation, iPhone-copy interface, problems in battery living and slow motion make Linux temporality more visible to customers. The market controlled by time-to-market parameter but not self-inspiring criterion produces low-quality goods and services. Same state of things presented ingeneral in servers market.

However the product that can cover all the nieches and comply high claims on purity and self motivation exists. Actually it was already once a time in the market in 1990-th before it was banned by Apple and pressed by Microsoft. This product had such a positive indicators from all sides of vision that it was too good for its time. Imaging 64-bit transactional attribute-driven filesystem and all hyper-threaded application capable of running full power on 256 processors in late 1990. Consider today MHz limitation by phisics of silicon chips and growing trends on parallel processings. Clean kernel code and fast context switching make this product comparable and competetive to real-time operating systems. Fine tuned scheduler beats up all modern desktops. Of course this product was BeOS.

Kernel

Up for now already exists modern clean kernel that is proven to be good in wide range of applications. It is even more qualitative that Be’s one. Originally it was developed be ex-Be engineer Travis Geiselbrecht as NewOS and later adopted and refactored by Haiku members, now forms Haiku kernel. It is well mature with clean highly portable boot architecture and object-oriented highly portable VM layer. Based on 5 primitives it has fast context switching and 80 kernel syscalls being fully compatible with original BeOS kernel. As XNU, internally it uses C++ for better presenting of concepts and externally visible through C interface.

After death of Symbian (EKA open source mobile real-time kernel) Haiku and NewOS kernel can form the new base of mobile kernels for wide range of applications, being totaly free from Symbian C++ negative aspects.

Application Framework

The general idea of application layer developent is taken from 90-th: the servers that serves asynchronuous network-transparent persisted client messages from client threads. There is set of servers that acts as isolated restartable processes: network, application, debug and other system servers that gives stability across the application layer of the system. This approach is known as application-level microkernel in contrast to drivers-level microkernel where device drivers also live as separated isolated processes (can be found in QNX). Such microkernel design is known to be native BeOS application level architecture presented in from of C++ API.

Also today it can transparently host Qt framework thanks to Gerasim Troeglasov. That can fullfill mobile platform built around Haiku with Symbian Qt and MeeGo Qt mobile applications considering Nokia’s focus-shift to Windows platform. This is apart from huge set of existing Qt desktop applications.

However new mobile homescreen lobby, new controls and layout for mobile phones and gesture API should be designed in order to support hand human interface. That is a gap in coverity of Haiku codebase.

As for netbooks and geek desktop Haiku clear user interface (actually BeOS interface) in style of old-school Mac OS that is fully satisfy customer needs. Being so small and quick it starts with 6 seconds and another 6 seconds it needs to load all application shipped with the OS.

The only nieche it lacks is a desktop workstation with professional specialized software that is designed only for Windows and Apple.

UNIX Services

Speaking of UNIX services Haiku must provide full set of POSIX API with modern epoll/kqueue counterpart. It already has it along with very promising multithreading capabilities: on 8 quad Atom CPU Haiku can play simultaneously seven streams of 704x396px MPEG-4 without performance downgrade in contrast to Linux three simultaneously streams.

Existed ports system similar to Gentoo Portage exists in Haiku. Now it already has a number of common UNIX applications for server maintanance need. Among them Erlang one of the best and de facto standart in telecommunication services. Synrc Research Center examines Haiku for hosting their Erlang services.