Jump to content

Voyager FAQ

From NikiWiki

Voyager Frequently Asked Questions

Assembled by:

  • Adrian Gschwend, aka ktk
  • Cinc

Intro:
"I know that you're afraid. You're afraid of us. You're afraid of change. I don't know the future. I didn't come here to tell you how this is going to end. I came here to tell you how it's going to begin."

(Source :)

General

What is Voyager?

Voyager is the codename for the idea of having a replacement OS/2 on top of modern technology. This idea is the result of around 1.5 years of thinking a lot about what we can do in the future as current OS/2 and eComStation users. Note that it's absolutely impossible to convey what we plan to do in a few sentences. I made a speech on it at Warpstock Europe 2005 that, by itself, took 1.5 hours so you get the point :)

Before you continue you should probably consult:

Note that our path is firmly set and long past the point of discussion. As a potential contributor, know from the onset, that acceptance of this path is a must. Take it or leave it, it's our choice and we have our reasons.

How is this releated to OS/2 and eCS?

A lot and not much ;) Voyager is basically a re-implementation of a lot of ideas already implemented in the WPS, the Workplace Shell of OS/2, the multimedia subsystem (like IO procedures) and other areas which make OS/2 unique. As mentioned in the ALL06 PDF, the WPS has still unique concepts that are not implemented in any of the free and well-known desktops like Gnome or KDE. Our goal is to get the "WPS and OS/2 feeling" on top of new, (and existing), open source technologies, in a way that's more or less independent of the kernel used.

One of the main concerns of current OS/2 and eCS users is good backward compatiblity. This is addressed below.

How is this related to MacOS X?

I talk a lot about the MacOS X in my presentation for various reasons:

  • The MacOS X Desktop does have a lot in common with the WPS. We're going to limit our talk to some of the ideas and concepts here. The reasons for the similarity are quite simple: Apple, IBM and HP had a company called Taligent in the 90s which worked on an object oriented OS. The project was cancelled in 1995, but some of the conceptual ideas survived. Some of these made it into the MacOS X which has also been influenced by NeXT which also has some ideas in common with OS/2s WPS.
  • MacOS X provides a powerful 2D engine called Quartz Extreme, we think this is the way to go today and Voyager has planned something like this utilizing Cairo as the 2D engine.
  • MacOS X provides an X implementation for compatiblity with Unix applications. Netlabs.org will provide something similar with Everblue.
  • Apple has already solved quite a few problems that we have now with OS/2 and eCS, (no real multiuser system, no real security concept etc). If you want to know more about our plans to deal with this read the Kernel Programming Guide at apple.com. It is always a good idea to learn from others as there's no point in re-inventing the wheel.

Is Voyager yet another Linux distribution?

No! Voyager is more than just repackaged linux stuff with a pretty desktop. We will kill some sacred cows of the linux camp like X as the graphics foundation or so called choice. You won't have ten editors for your config files, you won't have several window managers but one, you won't have a dozen file systems to choose from but only one or two. You get the picture... Since there's no decision for the kernel yet the rumours Voyager would use the linux kernel are just - rumours. Voyager won't require you do recompile your kernel every few weeks or hunt down package dependency when installing new apps by providing a standard set of base libs.

I heard Voyager uses the Linux kernel

Read the answer to the previous question! For your convenience I highlighted the sentence which may interest you.

I type this very slowly so every OS/2 zealot going berzerk may understand it: There is no decision about which kernel to use, yet. There's no decision about using the Linux kernel, there's not even a discussion about using the Linux kernel. Whenever somebody is telling you Voyager is using the Linux kernel just ignore that.

Will netlabs.org stop providing software for OS/2 and eCS now?

Definitely not! We will continue to provide essential software for OS/2 the next years. Voyager is in our opinion a great option for the future but we know very well that it will take some time until you can use that as full replacement for what you use now.

The best choice you can do at the moment is to work with eComStation, version 2 of eCS will provide some essential enhancements, many of the ideas are planned for Voyager as well. So one could say that Voyager could become something like eComStation 3.0 once.

How can I support Voyager?

There are several possiblities:

  • We definitely need skilled developers. We have a wide range of tasks available, please consult the Voyager page to get an impression and join the mailinglist if you can contribute in some form.
  • Motivate skilled coders to help on the project. We think that the idea is very tempting and unique and we already successfuly motivated developers outside of the OS/2 and eCS community. This is essential for this project.
  • Buy eComStation. netlabs.org is working closely with SSI and Mensys to provide new software on eCS. Supporting eCS is thus an exellent way to also fund development of Voyager indirectly.
  • Buy netlabs.org sponsoring units in the Mensys shop, we get 100% of the amount you donate there!
  • Present Voyager at your local usergroup. We need to spread the word to motivate people to contribute in any form. For sure you are welcome to show the DivX of the presentation as well.

Technology

Will Voyager support my OS/2 and eCS applications?

That's a question we can't answer that easy at the moment. For sure it would be nice if we reach that state one day but that depends on quite a lot of things. There are several options:

  • use a virtual machine like XEN to run OS/2 or eCS in there. Will definitely work but is not a soft migration
  • implement the OS/2 base API on an existing Kernel to provide API compatibility. This could even be extended to binary compatibility if we work hard on it.
    • osFree has something in mind, see here as well.
    • There is a project at Sourceforge which provides a base OS/2 API already on Linux, written by an IBM employee. This library is not complete yet but provides a base to work on
  • implement at least parts of GPI and PM on top of an existing 2D engine like Cairo for PM compatibility. This is a very big task and we are not sure if it is worth doing that but if a group of people volunteers to write that, get in contact with us on the Voyager mailinglist. Note that such a project should definitely integrate well with our idea, otherwise it will not help at all.

Another possiblity might come up with the design of Voyager, at the moment the most likely Glitz backend will be xorg OpenGL drivers, so we would get drivers from the HW-vendors. This opens a new interesting approach for backward compatibility, that would involve the following steps:

  • compile Xorg on OS/2 with Innotek LIBC
  • get the binary only drivers to work (should work somehow in theory)
  • compile Glitz using xorg backend
  • recompile GTK2 & all libraries used with Innotek LIBC
  • write a GRADD driver that renders using OpenGL, which means it would render into the OpenGL driver of Xorg. Like this it should even be possible to have a windowed PM in Glitz.

The benefit would be that we would also get HW acceleration in the current OS/2 or eCS.

In short one can say that binary compatibility is technically possible up to a certain point at least. One can debate about if this is useful or not.

Why something new? There is Gnome, KDE...

If you think KDE, GNOME... fit your needs , that's fine, just move on because you have found a solution for your personal computing needs. The people involved with Voyager so far don't think desktops other than the WPS which are available today fit their needs. Different people, different preferences.

Or to quote Larry Wall: "There's More Than One Way to Do It".

Why not X?

Voyager is a desktop OS. We don't see any need for opening a window on a machine located somewhere in China when your monitor is only 50cm away from you.

And, we don't like X. Period.

(Note: We talk about X in terms of Xlib here, we are currently trying to understand the display driver concept of XFree86/Xorg because we would like to be able to use the OpenGL drivers of it).

This project is too big, you will fail

Maybe. But honestly without trying you wont know...

Development

Under what license will Voyager be released?

The license will be liberal so using Voyager will not be restricted. On the other hand it will assure that Voyager remains open source. It will not be GPL.

Where can I download sourcecode?

Once the license is defined there will be a subversion tree on netlabs.

Should I still work on OS/2 and eCS applications?

Sure! OS/2 and eCS will be around for a very long time and Voyager will need quite some time to be mature enough to be usable. But if you intend to support the Voyager approach any time you should try to code in a portable way. Instead of using the OS/2-API use a portable runtime instead e.g. GLib, NPL or APL. Consider using a cross platform toolkit for the UI like DynamicWindows, GTK, XUL. Use only standard WPS methods without PM-specific tricks.

If you don't like the Voyager approach anyway, why do you ask in the first place ;)?

Whats next with Voyager - where are we?

Ask the oracle :-)

We definitely can't give any assumptions about when we will be ready for a public release. One lesson we definitely learned in the past years with netlabs.org and other software projects is that release plans never work as announced :)

There are some very rough plans at the moment:

  • we would like to present some first prototypes of various components at Developer Workshop 2006 in Biel/Bienne. Those components are more or less technology studies for interested developers.
  • till Warpstock Europe 2006 we hope to present a basic development setup which makes it easy for other developers to join the project on various platforms. This means you should be able to contribute on OS/2 & eCS, Linux, BSD and probably even MacOS X.

"Where we go from there is a choice I leave to you."