ページへ戻る

− Links

 印刷 

design008 のソース :: OSASK計画

osaskwiki:design008のソース

« Prev[3]  
TITLE:x
* 他のOSプロジェクトを見て思うこと [#f6eed3a8]
-(by [[K]], 2008.12.13)
*** (0) [#jcd3e2c0]
-これはOSの設計とは直接関係していないが、設計思想的にはかなり影響があるかもしれないので、ここに分類することにした。
*** (1) [#wf0855b3]
-独自性
--OSCに限らないが、とにかくOSASKを紹介しなければいけない状況というのは、それなりに頻繁にある。そのときに起動速度が速いとか動作が軽いとかサイズが小さいとか、そういう説明はものすごくやりやすい。しかも他のどのOSにも負けてないので、なおさらやりやすい。
--でも他の自作OSでは必ずしもそうではない場合もあるようだ。そうすると、説明に苦しむらしい。確かにもし僕が同じ立場だったら、きっと今ほど楽に説明することはできなかっただろうと思う。
--しかしそもそも僕は独自性のないものは作らない。最初から作ろうとしない。僕にとってプログラミングは、既存のものでうまく解決できないから「仕方なく」作る場合がほとんどだ(そうじゃないものも多少はあるが、そういうものはそもそもリリースしない)。他のOSで十分にうまくできるならわざわざ苦労してOSを作ろうなんて思わない。だってめんどくさいもん(笑)。
--しかも僕にはソフトウェアでやりたいことがまだ他にもたくさんある。多分生涯を全部投入しても、いやそれどころか寿命を3倍にしても、きっとすべてをやり遂げることはできないだろう。それくらいたくさんのアイデアがある。もちろんその中にはそのうち他人によって実現されることもあるだろう(後述するが、それはむしろ大歓迎)。しかしアイデアは次々と増えてもいる。だから少なくとも僕個人に限れば、現在だけではなく将来にわたっても独自性不足で悩む心配はないだろうと思っている。つまりこれらを作れば自動的に独自性のあるソフトウェアということになる。
--逆に言うと、独自性不足で悩むなんて僕には理解しがたい。なんで思いつかないんだろう、世界にはこんなに手付かずのテーマが残っているのに、と思えてしょうがない。既存のものを何の独自性もないままにそのまま作り直すだけというのも僕には考えられない。

-作ること・作者でいることは目的じゃない
--僕は自分で作ることには全くこだわってない。というか本当は作りたくない(笑)。というのは僕は怠け者だから。誰かが作ってくれるのなら絶対そのほうが楽じゃないか。しかし、有名どころをいくつか使ってみてもそれに満足できなかったり、自分ならこうするのに、とか思い始めるともう止まらない。我慢できなくなって作る。
--僕は一度だけ、こうすればいいのにと心から思ったものを他人に作ってもらったことがある。そう、ASKAだ。あのときの今原さんは僕にとっては救世主だった。僕は好き勝手な希望を言うだけで、(僕の要望を全て満たすわけではないにせよ)今原さんは作ってくれたのだ。確かに若干の不満は残ったから、書き直ししたいという誘惑はあった。でも、普通のアセンブラと比べればはるかに僕の理想に近くて、書き直す手間を思うと(そしてそれより先に作りたいものがいろいろあったので)、ASKAは十分にありがたかった。
--これはOSASKだってOSASK-HBだってnaskだってGOだって、みんな同じだ。もし僕の代わりに誰かが作ってくれるのなら、僕は喜んでその人に任せただろう。そして僕は他のものを作り始めていただろう。でも誰も作ってくれないから、たとえばnaskの場合なら、当時50KB未満でASKAのバッグエンドに使えるくらいのアセンブラがどこにもなかったし、誰も作ってくれないから、しょうがなく作っただけなのだ。それだけのことなのだ。
--僕は作りたいんじゃなくて、使いたいだけなのだ。だから他人が類似のものを作り、追い抜いてくれるのはいつだって大歓迎だ。っていうかやってくれるのなら一日でも早くやってほしい。それだけ僕は楽できる。だから僕はオープンソースにするし(そのほうが早く類似のものを作ってもらえる可能性がある)、技術提供も惜しまない。自分が作っているものがナンバーワンを維持する必要なんて全くないのだ。ナンバーワンになりたくてナンバーワンになったわけじゃなく、思い付きを実装していたらナンバーワンになっただけなのだ。
--そして僕はナンバーワンを使いたい。もし他人が追い抜いてくれたら、もちろん自作のソフトウェアなんかほっぽり出して、そっちを使う。っていうか、なんでわざわざ劣ったものを使わないといけないのだ。人に作ってもらったものなら申し訳ないから使い続けることもあるかもしれないけど、自分で作ったものなら遠慮なくポイできる。

-失敗は失敗
--僕は結局思い付きを思いつくままにやっているだけで、しかも見通しがいつも的中するほど頭もよくないので、思ったとおりにはならない事だってある。そういう時は、もちろんポイだ。結局既存のものをそのまま使うなんてことだってある。やってみたけどダメだった、ということを認めたがらない人もいるみたいだけど、しかもそこから執念で復活する人もいるみたいだけど、僕は自分の中で見込みなしだと思ったらあきらめて次のテーマに移る。ダメなものはしょうがない。失敗は失敗だと受け入れるしかない。

-文句を言う人がいても気にしない
--OSASKでもそれ以外でもそうだが、僕が得意げに紹介しても、たとえば「でもサイズが小さくても大きくても現代では関係ないのでは?」みたいに言われることはある。まあそれも一つの見解だし、というか正論でもあるので、僕はそれに食い下がったりはしない。要するに、その人のニーズを満たすOSではないのだ。そもそもコックが料理を作ったとして、それを世界の全ての人から「おいしい」と言われなければいけないなんてことがあるだろうか。おいしいといってくれる人も、おいしくないという人もいるだろう。それでいいのだ。おいしいといってくれる人が食べればいいだけのこと。簡単なことだ。
--僕は自分が使うために作っているから、当然僕好みの仕様になる。それが他の人の趣味に合わないからといって、それがどうだというのだ。そんなのほうっておけばいいと思っている。究極的には、僕は僕以外の誰の好みに合わないとしても、仕様を変える必要性を感じない。
--いやもちろん、そのソフトウェアを販売するために作っているのなら話は別だ。売るために作っているのなら、自分に合っていてもしょうがない。僕が僕に売っても1円にもならないのだから。でも僕は今は売るために作っているわけではないので、他人の好みなんか全くどうでもいい。

-普及なんかしなくていい
--全く同じ理由で、普及するかどうかも実はどうでもいい。とにかく僕は使う。いいものだと思ってもいる。でもそれをことさらに強調する気はない。気付かれないせいで使ってもらえていないのだとしても、僕は別に気にしない。だってその人は見つけられないせいで損をしているかもしれないが、僕は使えていて損をしていないのだから。
--2ちゃんねるを見ていつも思うのは、TRON好きの人たちが、なぜあんなに普及しないことを嘆いているのかということだ。そんなのどうでもいいと僕には思えてしょうがない。TRONがないわけじゃない。もう既に存在して、しかも使いたいというのなら勝手に使えばいいだけのことじゃないか。なぜ他人にまで使ってもらわないといけないのか。全く意味が分からない。
--もしそれが本当にいいものだとしたら、使わない人たちは苦労しているわけだ。自分たちは使っているので苦労しない。だから、「こんなに便利なものを使わないなんて、なんてもったいないことをしてるんだろうね~」と哀れむというのなら分かる。それを誰それに妨害されて普及しなくなったのが憎いとか言っている。なんで憎いんだろう。別にいいじゃないか。それともその誰かが妨害しなければいろんなTRONが生まれて、今頃もっといいTRONを選んで使えていたはずだといいたいのだろうか。それはなんというか虫が良すぎるように思う。なければ自分で作ればいいだけだと思う。自分で作らないのなら、他人に多額のお金を出して作ってもらってもいいかもしれない。でもそれすらしないのなら、文句を言う資格なんかないと僕は思う。

-OS-Wikiや「30日でできる!OS自作入門」
--なぜだかは分からないけど、僕は自分が調べた情報や今までにつかんだノウハウをOS-Wikiや「30日でできる!OS自作入門」に書いている。時間がなくて書ききれないとかうまく説明できないなどの理由がなければ、出し惜しみはしてない。でも他の人たちはあまりこういう活動に興味がなさそうだ。例外は.mjtさんで、.mjtさんは多分僕以上にたくさん書いている。
--よく考えてみると、僕がこの手の資料をまとめることに、直接のメリットはない。そんな暇があるならさっさとOSASKを作ったほうがいいのでは?といわれると、むしろその方が正論に思える。・・・しいて言えば、より強力なライバルの出現のためだろうか。自分だけ有利な情報を知っていて、そのせいで得をしたくはなくて、純粋に技術的に最高を争いたいというか・・・。
--あとは単に自分が調べるのに苦労したので、他の人には同じ苦労を味わあせたくないというか・・・。僕が苦労することで他の人が苦労しなくなるのなら、苦労して調べる気にもなれるというか。うーん、なんだろう?
--KHBIOSや「ぐいぐい01」それにtekやGOなど、なぜだか分からないけど僕の作るものはOSASKを超えて利用可能なものを目指す傾向が(他のプロジェクトよりは)強い気がする。どうしてなのかは自分でもよく分からない。でも単純に考えて、いいものなら自分だけしか使えない状態にするよりは、みんなが使いやすい状態に整備しておくほうが合理的だとは思う。

-先人は無視しよう
--[[hist/devj]]で分かるとおりOSASKはTRON系以外でははじめての和製OSだろうと思う。初めてというのはとても気楽だ。何をやっても独自ということになる。だから好き勝手にやれた。でもそれ以降の和製OSはそうじゃない。後になればなるほど類似のOSが増えてきて独自性を出すのは難しかっただろう(まあそれでも非常に難しいということではなさそうだけど・・・上記の通り)。変に意識したらかえって自由に発想できなくなってしまうんじゃないかとも思う。
--僕はそういう風に思うので、これから新規にOSを作る人はあまり周囲を気にしないほうがいいと思う。とりあえずWindowsとLinuxくらいを気にしていればそれで十分。他のOSとかぶっていると後で分かったらそのときに合流なり競争なりすればいい。無知が一番だ。変に勉強なんかしたらどんどんそっちに染まって自由な発想ができなくなる。

-オープンソースで僕が得たもの
--まずオープンソースにしたことで(というか無料にした事で)、興味を持つ人は確実に増えたと思う。また改善要求も文句があるなら自分でやりなさいと突っぱねられるようになった(ソース公開なので)。自分ひとりではここまでできたとは思っていないので、これは純粋に得したと思っている。
--たまに「こんなにうまくいくのなら非公開開発にして売ればよかったと思いませんか」と聞かれることがある。まあそういう考え方もあるだろう。でも、非公開だったらそもそもここまで続けてこられたかどうかが怪しいものだと思う。それに、オープンソースにしたり、情報をOS-wikiや「30日でできる!OS自作入門」などでまとめることによって、なんだか一部の人にすごく感謝してもらえて、OSCの旅先で本当に親切にしてもらったり、大変すてきな贈り物をもらってしまうことも少なくない。これを金銭的価値に全て換算すると、実は非公開開発で得られる利益に近いものがあるんじゃないかと思わないでもない(だって売ったってそんなにたくさん売れるとは思えないし)。

-独占してもメリットがない
--これはサブタイトルの通り。独占したりユーザが増えたりしても、僕には何のメリットもない。アプリが増えるのは歓迎だけど、アプリを増やすためには他のOSのシェアを削らなければいけないというわけではない。それに無理に開発者を増やしても、OSASKへの十分な理解がなければ僕の嫌いな種類の(つまりひどい設計で大きいだけの)アプリを量産されるだけで、そんなものは僕にとっては存在しないも同じこと。
--むしろいろんなOSが生き残ってずっと競争しあっているほうがきっといろいろな可能性を追求することになって、OS界は進歩するはず。特許とかで長期にわたって阻害されるのはどうかと思う(僕の私感では現代においては特許は5年くらいで失効してくれたらちょうどいいと思うのだけど・・・)。

-意図しない幸運で儲けようとしないこと
--最初から利益を上げるために始めたことなら僕は儲けを否定しないけど、儲けるつもりがなかったものが儲けられそうになっても、僕はそれで儲けを出そうとは思わない。それだけのこと。

* こめんと欄 [#j76a3202]
#comment

« Prev[3]