ページへ戻る

− Links

 印刷 

design013 のバックアップソース(No.5) :: OSASK計画

osaskwiki:design013 のバックアップソース(No.5)

« Prev[4]  Next »[5]
* いつも逆風
-(by [[K]], 2009.02.17)
*** (0)
-これは当初「川合のぼやき」に書こうかどうか迷った内容のものを書くことにしたわけだけど、ここは僕のホームページではなくOsaskWikiなので他の誰が書いてもいいものだと思う。
-ただこのシリーズの趣旨としては、OSASKの設計に関する話を書いているので、他の人が書く場合もそれには準じてほしい。で、僕以外の人がOSASKの設計に関する話を書くなんてことはまずないと思うかもしれないけど、そんなことはなくて、たとえばこういう考え方のもとでこうしたらどうかという提案はできる。
-基本的に一つの話題に1ページ使ってしまうので、ちょっとした提案であれば、OSASK-MLや[[impressions]]を活用してもらうほうがいいと思う。
*** (1)
-先日、僕のやり方ではどうやってもいつも逆風の中を進むことになるしかないのだなと思った。そのことを書きたいと思う。
----
-僕がOSASK計画を始めたとき、知っている人は知っているだろうけど、賛辞と同じかそれ以上の批判を受けた(いわれのない中傷もあったけれど)。そんな小さいOSが作れるわけないとか、起動がそんなに速くなるわけないとか、そういうことを。
-そういわれると、僕としてやっぱりそういう「分からず屋」にも分かってもらおうと、もしくは僕を支持してくれた人たちにあなたたちは正しかったと早く安心してもらうために、僕はできないとか価値がないといわれたことを優先してやっていこうとする傾向があると思う。
-逆に言えば、多数が納得してしまって、特に力説しなくてもよくなってしまうと、僕はその後の開発を後回しにして、他の問題を優先してしまっている感がある。・・・このせいで、完成度があまり高くならないうちに次々といろいろなものに手をつけることになっているのだろう。まあいろいろなもので先駆者になれるのは個人的に悪い気はしないけど、でも中途半端な完成度になっているものに関しては、とても褒められたものじゃない。
*** (2)
-個別に見てみよう。明らかにかなり初期のOSASKはネイティブアプリの高速性やサイズよりもエミュレータを意識していた。だってそれがOSASKが他のOSとは違う最大の特徴だったから。しかしそれは比較的分かりやすかったためか、素直に受け入れられた。結局、これに対する主な批判は「完成までに100年かかる」とか「永遠に完成しない」程度のもので、僕もこの見方に対しては認めざるを得ないと感じていた。僕があえて反論できるとすれば、コンソールアプリくらいなら比較的短期間でエミュレーションできるかもしれない、といった程度だった。そしてこの点については、あまり反論がなかった。
-しかし一方、エミュレータOSにおいてはネイティブAPIこそ重要という主張は、なかなか受け入れられなかった。一部の人にはそんなものなくてもいいおまけだとまで思われた。僕はそれには断じて同意できなかった。本来はエミュレータこそおまけだ。最高のOSを作っても、そのOSのネイティブアプリ不足のためになかなか使ってもらえないとしたら、そして結局最高ではないOSばかりが幅を利かせるとしたら、それはあまりに嘆かわしいから、エミュレータを入れようという話なのだ。
-初期のOSASK計画が気にいった人たちは、結局OSASKをWindowsアプリを高速に動かすためのアクセラレータくらいにしか思っていなかった。正直なところ僕だってそのように考えていた時期もあったことは事実だ。しかしそれは間違っていると僕は思った。それは僕の望む競争ではない。単に悪いものの延命に加担しているだけになってしまう。
-ネイティブアプリの必要性を示すには、ネイティブアプリにすることでどれだけアドバンテージがあるか示せばいい。それで僕はエミュレータより先にネイティブAPIを整備することにした。すると自分が当初予想していたよりも大きな違いが(特にサイズで明確に)表れた。しかしこれも優位性が理解されない。理解されなければ理解されるまでやるしかない。
-その後も圧縮や(あまりうまくいかなかった)KHBIOSやOSASK-HBなど、反対派が少なくなるか、もしくは僕自身が次のテーマを見つけるまでやっていた(やっている)ような気がする。
*** (3)
-結局賛成されるようなことは、僕がいなくても誰かがやってくれるはずだ。まあ誰もやってくれない可能性はあるけれど、でもみんなが反対していることはもっと誰もやってくれないだろう。そうなればやっぱり僕がやるしかない。それだけのことなんだ。そしてこの方針ゆえに僕にはいつも逆風が吹き、そしてうまくできたときにはいつもナンバーワンでいられるわけだ(別にナンバーワンになりたいわけじゃないんだけど)。そして失敗したらそれこそ散々に言われるわけだ(笑・・・まあしかし当然ではある)。
-世間でOS自作がそんなに珍しくなくなった今、僕がOSASK-HBよりもefg01を先に実装しているのは、なんか結局この辺の事情も影響しているんじゃないかと、僕は思う。挙句OSそのものよりもAPIのほうが重要と思うときすらある(=efg01さえあればOSASK-HBがなくてもいいんじゃないという暴論)。
----
-だからもし多数の人がネイティブAPIのほうがもちろん重要だよ、早くそっちを作って優位性を確保しろよ、エミュレータなんて本質的じゃないだろ?なんならそんなもの永遠に作らなくてもいいよなんていっていたら、なんとなくエミュレータのほうを優先して実装していた気がする・・・。

* こめんと欄
- OberonというOSがあります。起動が速く(秒で起動)、アプリのコードはCPU非依存で、圧縮されているのでサイズが小さいです。こう書くとVMのようですが、VMではありません。つまり、コードの実行時はネイティブコードで動作します。じゃJITだろう、と思われるかもしれませんが、確かにJITと同じように実行時コンパイルですが、仕組みは全く異なります。詳しくは、 http://www.oberon.ethz.ch/ から、論文などを参照してください。 -- ''くろ'' &new{2009-03-20 (金) 12:08:37};
- コメントありがとうございます・・・なのですが、その話題がなぜこのページに書かれるのか、その意図がよく分かりません。要するにOberonというOSASKに似た傾向の面白いOSがありますよ、だからこういう路線は必ずしも「Kがやらなければ誰もやってくれない」わけじゃないですよ、ってことでしょうか? -- [[K]] &new{2009-03-20 (金) 19:48:21};

#comment

« Prev[4]  Next »[5]