%@ Register tagprefix="pt" tagname="header" src="../header.ascx" %>
<%@ Register tagprefix="pt" tagname="footer" src="../footer.ascx" %>
<%@ Register tagprefix="pt" tagname="wiki" src="../wiki.ascx" %>
この文書はCooSの開発方針について、概略を簡単に知りたい方のために用意しました。技術的なことについてはあまりふれていません。
僕はJavaより.NET派なので、きっとそのうち.NETは普及すると思っています。これは異論反論あると思いますが、そーゆーやつが一人くらいいて、そのために何かしているのは正しいことです。
「もし、.NETが普及せず跡形もなく消滅したら?」 そのときは僕のしたことはすべて無駄になります。でもいいのです。なぜならJavaで同じようなことをしている人たちがいて、.NETが去った後には彼らの功績によって僕が為そうとしたことは為されると思うからです。
この考え方は僕にとっては自然なのですが、ふつうの人にはわかりづらいかもしれません。よくわからない人は、「CooS(僕)」と「Java版CooS(誰か)」と「それ以外の似たようなOS(誰か)」を別々と考えないで、一つのとても大きなチームだと考えてください。誰かが失敗してもほかの誰かがそれを補えればそれでいいんです。
「もし、CooSの仕組みがうまくいかなくて、失敗したら?」 それはそれでいいんじゃないでしょうか。きっと違う方法で誰かが優れたものを開発してくれます。僕の役割はCooSというOSを優れたものにすることだけ、です。ほかのことは他の人が"担当"していればよいのです。
「もし、CooSと同じ仕組みの、後発のOSに敗れたら?」 これは疑問にするのがそもそも間違いです。きっといつか敗れることは間違いないのですから、そのときまでCooSを維持していくことが僕の役割です。
僕は、常に"代わり"を用意しておくことが非常に重要であると考えています。ファイルではバックアップ、システムであればホットスタンバイ、好きなCDは二枚購入したり。多数の人に影響するようなものであればあるほど、一次系が使えない状況に備えておかなくてはなりません。
さて、僕は.NETが好きなのですが、いまのところこれが動く環境はWindowsしかありません。上述したように、僕はそれって良くないことだと感じてしまいます。また、Windowsの代わりもどこにもありません。(現状のLinuxで十分とか言ってる人は、本当の一般人とコミュニケーションするべきだと思います。ふつうの人はWindowsでさえ難しいのです。) こちらも僕としてはいい感じはしません。
そこで「Windows以外の.NET環境」としてCooSを作っています。総合デスクトップ環境としてのWindowsはあと10年は間違いなく存続するでしょう、それに並べるとは露程も思っていません。しかし、.NET環境だけであれば――Monoの力を借りて――何とかなりそうな気がしなくもありません。また幸い、アプリケーションの開発は次第にJavaやC#などの新しい世代の言語に移りつつあり、新規OSにつきもののアプリケーションの問題も何とかなるかもしれません。
セキュリティなどはわりと後付の理由です。確かにC#などで開発しているのでセキュリティに関してめっぽう強いな~という印象はいまでもあるのですが、まだまだ先の話。足元を見ないで背伸びしても仕方ないし、一年かかる未来を一週間でできるように語るのは良くないことです。
ただ、やっぱり、「システム管理者が血眼にならなくても安全なシステム」っていうのは、既存のOSの作り方では不可能な気がしています。僕の大切な情報が納められたコンピュータが、人の手によってのみ安全性を保証されているというのはあまり気持ちの良いものではありません。現状で完璧なセキュリティ対策が「ケーブルを抜く」というのはあまりに情けなさすぎます。CooSでそれが可能かはわからないですが、なんとかしたいところですよね。
CooSの立ち上げは、時期的にはちょうど良い頃合いだと思います。PCのパフォーマンスは余っているし、旧来スタイルでの開発にも限界が見えてきました。まだ誰もやっていないし、やってみる価値はある。そう思っただけなんだよね。