osFree is a free and open-source operating system based on the L4 microkernel aiming to be binary compatible with OS/2 (ia32). Also, a parallel coexistence of several “alien” OS API's is possible.
OS/2 has one of the most stable, robust and high-performance kernels. Written in assembly language, it is highly-optimized and uses all i386 architecture features very extensively. It's modular design allows to easy replace components with more featured/less resource-eating/cut off GUI, or customize system to fit user preferences. It is highly configurable. We like its compact and clean API, it's easy to use and intuitive powerful true object-oriented user interface. It's uses one of the best general purpose scripting languages named REXX as operating system scripting service with API available to any application. OS/2 was advertised by IBM as “DOS better than DOS and Windows better than Windows”. It is true – it's VDM was the best ever existing. And not only DOS/Windows. It had Java and XFree86 support very powerful too. So, we started loving OS/2 as powerful integration platforms on top of single desktop. It has been used by marginals and non-conformists for years and always had its own way. We want to continue following this way :) We can sleep peacefully knowing that it is not popular between hackers and virus writers, they like mainstream.. But we can't stay this way – starting at December 2006, IBM management decided to kill OS/2 and OS/2 community left with aging system without kernel sources and with fading driver support. We want to continue our experience with OS/2. The most necessary task is kernel rewriting. We're always curious regarding IBM's experiments with OS/2 on top of microkernel. We read a readbook about it. So, we meet with enthusiasm the suggestion to use L4 as a base. So this project was started.
IBM, Netlabs and other companies tries to move users to another OS like GNU/Linux, BSD, Windows and others. We agree what TCO of current OS/2 become bigger and bigger for home users. In servers area OS/2 also become obsolete (but still stable and mature). But we like approaches of IBM according design of OS. We like it designed, not only developed. It is easy to use. It's API is small and clear. We want to continue work and program with OS/2.
osFree is planned to be compatible with most of current OS/2 API. But not drivers. OS/2 drivers become more and more obsolete, but we want to have modern hardware support. In current design osFree can be hosted on most of actual kernels like L4, Linux, Windows, etc. As result we can reuse existent drivers as is.
API compatability allow us to have still clean and small API and reuse existent applications. We have no plan for full support of 16-bit part of OS/2 because not so many applications which true 16-bit. For most mixed 16/32 applications we will provide on-the-fly patching of 16-bit calls to true 32-bit calls. As result we will have true 32-bit applications (after many years of mixed 16/32 applications).
We have a plan for limited support of DOS and Win16 personalities (for historic reasons). But not limit you to add more personalities.
OS/2 is one of most lightweight 32-bit OS. osFree also will be as lightweight as possible. We don't want to request 1Gb minimum for work. We want to make it work on as minimal hardware as it possible. This will allow to use osFree in embeded area.
osFree components is comes under open licenses like BSD and (L)GPL licenses. And we try to document interfaces as much as possible. So you are free to extend it as you wish.
osFree tries to extend object-oriented design of desktop to other parts of the system. We want to introduce CPI+, GPI+, PM+ which is object-oriented representation of current CPI, GPI and PM services. Access to low-level services of the kernel also planned to be represent as objects.
We have a lot of things still to do, so any help is welcome. Not only for code development, but also documentation writing, web page maintenance, distribution maintenance, and much more. See the Project Roadmap for more information about where we intend to go.
We are also looking for developers. For newbies, we have a number of small tasks. If you're an experienced developer, there are plenty of complex tasks awaiting your talents! Check out the development page for more information about developing for us, and look at our licensing.