From: "Adrian Gschwend"
Date:  Thu Feb 21, 2002  2:58
Subject:  OSFree and our future

皆さんこんにちは。

ちょっと長めのメールになりますが、もしも OS/2 の今後に、そしてそれを元にしたものなら何であれ興味をお持ちでしたらば、どうか時間をかけて、じっくりお読みください…

いままで起きたことについて、私の考えを出してみたいと思います。 netlabs.org の発起人かつ OS/2 擁護派というわけで、私は OS/2 の今後に非常な関心があり、我々に何ができるのか、そしてすべきでないのは何かということについての私見をいくつか言わせてもらいます…

まず OSFree について。 正直なところ、パッケージのルックアンドフィールに私は感心しました。 オリジナルのIBMパッケージに極めて似ていますが、まず100パーセント間違いなく、バイナリファイルは「漏洩した」IBM OS/2 のソースを元にしています。 ソースの出所はおなじみの「秘密」ですが、生憎とそのことによって合法とはなりません。 本当に漏洩したソースか否かについて、私はこれ以上の詮索はしません。 Ltning がすでに明らかにしています。

誰であれ、これを行なったのは腕の立つプログラマのようであり、彼/彼女/彼らのコーディングスキルは尊敬に値します。
で・す・が、もしあなたがこれをやったのでしたら、これを単に「ご自身」のための「ケーススタディ」に留めておくべきでしょう。 多くの人が考えそのもの(IBM 抜きで作られるフリーの OS/2 クローンという考え)に好意を寄せているにしても、こういうものを公にしてしまうことは全くもって「よろしくない」計画です。 なお、私はこの考えはいいと思っており、このことについては本メールの後ろのほうにある私のコメントを見てください。

起きた中でよい出来事は、このプロジェクト自体が大きな関心を呼んだことです。 これは、IBM 抜きで未来を作り出すことに OS/2 コミュニティが大きな関心を持っていることを示しています。 このことを私は数年に渡り考えてきたのですが、私ひとりではなかったのです。 幾人か、いくつかのグループがそのことを考え、ある人は何かを始め、ほかの人はただ話をしていたのです。

皆さんのうちの何人かは、フリーな代替 OS/2 そのものを欲しがっています。 それが大元の発想であり、カーネルのコンセプトです。 もし彼/彼女がそういったプロジェクトに参加したいというなら、それは確かに個人個人のなすべきことですが、なぜ細かいことを抜きにしてとっととやるべきでないのか、思うところをいくつか聞いていただきたいのです。

80年代にさかのぼり、IBM と Microsoft は新しいオペレーティングシステムの設計を開始しました。 何週間か前、誰かが OS/2 についての意見を投稿したのですが、それは私の意見にとって非常に重要なものです。

「OS/2 は『設計された』のであって『進化した』のではない」
(原文:OS/2 was _Designed_ instead of _Evolved_)
思うに、これは要点をとてもうまく捉えています。 IBM は、OS/2 上に実装するもの全てについて検討しました。 こういったプロジェクトに本当に取りかかる前に、OS/2 2.0 のチーフ・アーキテクトである Mike Kogan の本 "Design of OS/2" を読むべきでしょう。 OS/2 の挙動がどのような経緯で決定されたのか、彼はこの本の中できちんと書いています。 その当時の妥当性によって決定がなされました。 Cとアセンブリ言語で書いたのは、当時 C++ が(すくなくとも現実的に見て)まだ利用可能ではなかったためです。 選んでいたプラットフォーム(インテルっすね)にとっては、メモリ管理は妥当なものでした。 16ビットのパーツもしかるべく動作するようになっていたので16ビットパーツも含まれ、それは後から置きかえることができました(そして、置きかえられた部分もあった)。 私は Mike Kogan からこの本(そう、サイン入り)をもらった後の夏にこれを読み、それはまことに楽しい読書でした。 しかしこの本を読んで真剣に考えた人は全員、まったく同じオペレーティングシステムをふたたび作るのはまともな考えでない、という結論に至らざるを得ません。
(netlabs.org はおそらくこの本の版権を取得することになり、これにより我々は権利取得後ただちに HTML 版と PDF 版をネット上でフリー公開できるのです)
もしこの本をお持ちでないのでしたら、せめて Michal Necasek が OS/2 Voice のために書いた、OS/2 の歴史に関する見事な文章 http://www.os2voice.org/VNL/past_issues/VNL1001H/vnewsf4.htm を読むべきです(記事はもっとたくさんあるので、ついでにほかの記事も見よう)。
>15年前の最新技術を焼き直すような過ちを犯すなかれ。 Linux がすでにそうしており、それは十分に悪い ;-))
(訳注:たぶん別の記事の引用だと思う)
たしかに OS/2 のカーネルはまだかなりイケてますが、他の場所では問題を抱えていることを忘れてはなりません。 デバイスドライバとアプリケーションです。 個人的には Win32 アプリケーションをそれほど必要としませんが、必要な人もいます。 Odin は OS/2 上に巨大な Win32 実装系を実装できることを証明しましたが、我々がそれを気に入るなら OS/2 の将来を似たようなものにできないか、ということを Achim も話していたのです。
Achim が提案したのは、OS/2 アプリケーションもその他のバイナリも実行できる uKernel(知らない人はマイクロカーネルと読んでください)です。 Linux/Unix の ELF ローダーや Java アプリケーションの JVM、そういったものを考えてください。 正直なところ、私は uKernel の概念についてあまりノウハウがありませんが、そういうことができる人々が私たちには「ついている」のです。
Sander, Knut, Achim, Michal, Holger, Brian,(ここにご贔屓の OS/2 プログラマを入れましょう)…といった人々は、オペレーティングシステムのデザインやハードウェアについて、我々の大部分より多くの経験があります。 ハードウェアは将来すぐに変わるでしょうから、新しい概念が代替オペレーティングシステムには必要です(64ビットプロセッサを考慮)。 もし人々が Win32 用のドライバだけしか書いてくれないなら、新OS中にそれをどう実装してハードウェアサポートをよくするのか、我々は考えることができます。 多少は敬意を払う OS での実行が必要なアプリケーションがあるなら、そのプラットフォームのサブシステムを作りましょう。 我々の愛した WPS を取っておきたいなら、そのOSのトップでPMも実行できることを確かめましょう。
私が言いたいのはとても単純なことです。 新しいオペレーティングシステムを書こうとする前に、私たちはそれについて考えなければならないのです。 みなさんの努力、そして時を無駄にしたくないという懸念には敬意を払います。 しかし多くの時間をつぎ込んで将来性のないものを生み出すとなれば、私たちはより多くのものを失うことになるのです。

私は多くの時間を netlabs につぎ込んでいますが、それというのも私の所持しているPMベースのアプリケーション全てに将来があって欲しいからです。 私は WPS のコンセプトを愛していますが、そのテクノロジーが古くなっていることも理解しています(SOM は CORBA 実装の一例以上でも以下でもないのですが、CORBA はここ何年かで多くの拡張・強化を遂げました)。 ということで新しいもの、フリーで OS/2 ライクなOSを、でもまともなビジョンのあるものをやりましょう。 コーディングの前に考えることであり、違法なソースコードをベースにしてこのアイデアの今後を危険にさらしてはなりません。

心に浮かぶことはもっとたくさん書けますし、時間があればやりたいのですが(いまだに終日忙しい貧乏学生なので ;-)、考えを書き出してみることが今は大事だと思ったので。

東欧には新しいディベロッパーが多数存在し、その人たちの何人かはかなりの力量です。 自己の考えにもとづいたコーディングは止めないでいただきたいですし、法的事態に巻き込まれる危険も冒してほしくはないです。 OS/2 コミュニティはあなたがたのプログラミングスキルを将来的に必要としており、もしグレイゾーンの物件に深入りしすぎると、あなたは他の人々の尊敬をただちに失ってしまうのです。 ということでもし、あなたの成果のいくつかの部分が IBM OS/2 のソースコードよって成されているなら、それはご自分だけのものにしておいてください。 それをケーススタディとして用い、何か別の実装をオープンソースで始めましょう。
アイデアのいくつか:BSD IP スタック、XFree86 4.x バイナリドライバへの GRADD インターフェース(imagine 3D, 2D それから TV サポート :-)、OS/2 に BSD Method を追加しようとしている Holger Veit の支援、 Everblue チーム(ハーイ、Nuke ;-)の支援、Win32 アプリケーションのデバッグ法を Odin で学習、その他いろいろ。

Achim や他のディベロッパーが近い将来これらのアイデアを実現してくれると私は期待しています(少なくともいくつかはきっと、いやほんとに)。 無理にこれらのアイデアに乗せたりは誰もしませんが、待っているよりはもっとましだというのが私の意見です。

今回はここまでということで、長くて申し訳ないです。この先は netlabs.org で来週フォローします。

それでは。

Adrian



--
Adrian Gschwend
@ OS/2 Netlabs


とりあえず原文も貼りつけてみよう。

Hi all,

This is a rather long mail but please take the time and read it
carefuly if you are interested in the future of OS/2 and whatever we
make out of it...

I would like to share my thoughs about what happened the past days. As
netlabs.org founder and OS/2 advocate I am very interested in the
future of OS/2 so let me give some ideas about what we can do in the
future and what we shouldn't in my opinion..

First about OSFree. To be honest I was impressed by the look and feel
of the package. It very much looks like an original IBM package but
it's quite 100% sure that the binary files are based on "leaked" IBM
OS/2 source. The availability of this source is a well known "secret"
but that does not make them legal unfortunately. I won't got into more
details about if it's really leaked source or not, Ltning made this
clear already.

Whoever did this seems to be a skilled programmer and deserves respect
about the coding-skills he/she/they got.
BUT: if you do this you should keep this simply for *you* as a *case
study*. It's definitely *not* a good idea to make this stuff public,
even if a lot of people like the idea itself (the idea of a free OS/2
clone done without IBM). I like this idea as well, see my comments
about this later in this mail.

The good thing about what happened is the big interest in the idea of
the project itself. It shows that the OS/2 community has a big interest
in creating a future without IBM. I think about that for some years
already and I'm definitely not the only one. Several people and several
groups thought about that, some started to do something, others just
talked.

Some of you now want to really work on a free replacement of OS/2.
Based on it's original ideas and concept of the kernel. It's for sure
up to each individual if he/she wants to participate in such a project
but I would like to share some thoughts why we shouldn't do this right
now without going into more details:

Back in the 80ies IBM and Microsoft started to design an operating
system. Some weeks ago someone posted a statement about OS/2 which is
very important in my opinion:

"'OS/2 was _Designed_ instead of _Evolved_"

I think that pretty much gets the point. IBM thought about everything
they implemented in OS/2. Before you really start to work on such a
project you should read the book "Design of OS/2" from Mike Kogan, the
chief architect of OS/2 2.0. In this book he writes exactly why IBM
decided to do OS/2 the way it works now. The decissions were made
because they made sense at this time. They wrote it in C and assembly
because c++ was not available yet at this time (not really at least).
The memory management made sense for the platform the have choosen
(Intel :-). They had 16-bit parts in it because they told it works as
it should and we can replace it later (and did so for some parts).
I've read this book this summer after I got it from Mike Kogan (yes,
signed :-)) and it was really a plesure to read it. But everyone who
really thinks about the book has to come to the conclusion that it does
not make sense to do exactly the same operating system again.
(OT: netlabs.org will most probably get the license of this book, that
means we can publish it for free on the net at HTML and PDF version as
soon as we get the rights on it).
If you don't have the book you should at least read Michal Necasek's
excellent document about the history of OS/2 he wrote for OS/2 Voice:
http://www.os2voice.org/VNL/past_issues/VNL1001H/vnewsf4.htm (there are
more articles, check the other newsletters as well)

-> Don't make the mistake and rewrite technology which was up to date
15 years ago. Linux is doing that already, that's bad enough ;-))

For sure the OS/2 Kernel is still pretty nice but don't forget that
OS/2 got it's problems in other areas: Device drivers and applications.
I personaly don't need a lot of Win32 applications but some people do.
Odin proved that it's possible to implement a great Win32
implementation on OS/2 and Achim also told that something similar could
be the future of OS/2 as we like it.
Achim proposed a uKernel (read microkernel if you don't know that :-)
which could run OS/2 applications as well as other binaries. Just think
about an ELF loader for Linux/Unix stuff, a JVM for java applications
and so on. To be honest I don't have a lot of know how about uKernel
concepts but we *do* have people who got that.
People like Sander, Knut, Achim, Michal, Holger, Brian, <enter your
favourite /2 programmer here>... have a lot more experience in design
of operating system and hardware than most of us do. Hardware will
change very fast in the future so we need new concepts for an alternate
operating system (think about 64-bit processors). If people write Win32
driver but not more we could think about how we can implement them in a
new OS to get good support for hardware. If some applications simply
need to run on an OS go get some respect let's implement a subsystem
for this platform. If we want to keep our loved WPS make sure that we
can run PM on top of this OS as well.
What I want to say is very simple: We have to think about a new
operating system before we start to write it. I respect your effort and
your fear about running out of time. But we will lose more if we invest
a lot of time into something that has no future.

I invest a lot of time into netlabs.org because I want to have a future
for all the PM-based applications I have. I love the concept of the WPS
but I also see that the technology in it get's old (SOM is more or less
a CORBA implementation for example and CORBA got a lot of enhancements
and improvements the past years). So let's do a new, free OS/2 like OS
but let's do it with a vision which makes sense. Think before you code
and don't risk the future of this idea because it's based on illegal
sourcecode.
Even if a lot of us don't like IBM anymore it's still the only company
which can help us. IBM changed a lot the past years (regarding open
source) and because of this I still think it's not impossible to get at
last some parts of OS/2 one day (we would need at least PM source for
example). But if some OS/2 freaks start to release illegal binaries
based on sourcecode they don't own IBM won't trust the community
anymore at all in the future.

I could write a lot more about what I have in mind and I will do that
if I find the time (I'm still a poor student which is busy all the time
;-) but I thought it's important to write down some thoughts now.

We have a lot of exiting new developers in east europe, some of you are
very skilled. Don't stop coding on your ideas but also don't risk legal
actions against you. The whole OS/2 community needs your programming
skills in the future and you can lose other people respect very fast if
you are too much into grayzone stuff. So if some parts of your work are
done on IBM OS/2 sourcecode keep it for your own. Use it as a case
study and start to implement something else as open source.
Just some ideas: BSD IP Stack, XFree86 4.x binary driver GRADD
interface (imagine 3D, 2D and TV support :-), support Holger Veit in
his efforts of adding BSD methods to OS/2, support the Everblue team
(hi Nuke ;-), learn how to debug Win32 applications in Odin and so on.

I hope Achim and some other developers will present their ideas in the
near future (well at least some of them will, I'm quite sure). Noone
can be forced to join their ideas but in my opinion it would make more
sense to wait for them.

that's it for now, sorry for the long mail. More will follow @
netlabs.org in the next weeks

cu

Adrian









--
Adrian Gschwend
@ OS/2 Netlabs