ぐいぐい01に関するメモ-07 [1]
- (by K[2], 2008.05.24)
- メモのうち重要な部分をそのうちまとめてまともなページを作る
(18) OSASK計画の長期計画(つづき) [3]
- (以下の文章は6月上旬までには「川合のぼやき」に公開予定。つまりここは下書き。)
- 4.手段と目的
- 1.のHB化のところで、性能を落としてまで、そして好きなはずのASKAさえ封印気味にして、C言語中心にしようというのはなぜか?
- これを「開発者をより集めるため」と誤解する人がいたが、それは当たっていない。不本意なのでこのセクションを作ることにした。ついでに他のいくつかの事柄も説明する。最大の狙いは、OSASK計画と異なる目的を持つ人が「ああしろ、こうしろ」とうるさいので、それを「追い払う」ためである。
- たとえば性能なんてどうでもいいとか言う人が僕に意見する。これを僕に言う意味が分からない。しかも当人はこれが助言だと思い込んでいて、恩着せがましいことはなはだしい。僕は高性能なハードウェアと高性能なソフトウェアに囲まれた環境が最終的にほしいのだから、ここを否定してかかられても困る(長くなるので、これについては後述)。で、僕としては「志を同じくする者」が集まって開発をするというのには賛成だけど、それ以外の人がワラワラと集まってきても何のメリットもないし、多数派だとばかりに幅を利かせるならむしろデメリットしかない。
- 目的が違うのに集まってくる人が絶えないというのは、結局、僕の目的はどうでもいいけど、プログラムは利用したいということなんだろう。じゃあ文句を言わずに勝手に使え、文句があるなら自分たちで勝手にやれ、とこういうことである。その人たちがASKAはわからんとかいうから、しかもアセンブラは嫌だというから、HB化したのである。
- また目的は同じだけど、異なる長期計画を唱える人もいる。まず○○からやるべきだろう、と。それも僕が長期計画をどうしようか考えているときには結構なことだけど、僕が決定してもう覆らないと分かっているのにいつまでもぐずぐずいう人がいる。それは騒音でしかない。そういう人も、そこまでいうのなら自分でやりなさい、と言いたい。
- そしてさらに「志を同じくする者」がC言語中心にしたおかげで集まりやすくなるのなら、それはそれに越したことはない。
- まとめよう。一番重要なのは、自分からは何もしないような「クレクレ君」を追い払うことである。コミュニティにとっても僕にとってもこんな人たちは何の役にも立たないし、うるさくて邪魔である。いないほうがはかどる。次に重要なのはやる気はあるけど目的が僕とは違う人たちを追い出すことである。目的が違うもの同士がしばらくは当面の共通の利益のために協力し合うことがあったとしても、当面の利益が不一致になれば、分かれるべきだ。そのときにフォークしてもいいし、その人たちが新規にプロジェクトを立ち上げてもいい。次に重要なのは目的は同じだけど優先順位が違う人に別行動を取ってもらいやすくすることである。そして最後に、志を同じくする者をもっと集めたいということである。つまり、集めることよりも追い出すことのほうが何倍も重要で効果がある。結果的に僕一人になるのかもしれないが、それならそれでもかまわない。
- 追い出すため、別行動を取らせるためであれば、ソースのC言語化だけではなく、もっときれいに書くべきだという指摘もあろうが、大量に書いて大量に捨てていくようなHBの開発手法にあって、そのようなコストは負担しかねる。つまりC言語化までが僕の譲歩できる限界であって、きれいに書くことは(もし必要だというのなら)他の人に任せたい。
- ユーザは必要か?
- 志を同じくするユーザはもちろんいてくれたほうがうれしい。雰囲気も良くなるし、その中の一部の人がやがて自分も何か作りたいと思って開発に参加してくれるかもしれない。
- しかし志を同じくしないユーザはいらない。もちろんいてもいいんだけど、意見してほしくはない。意見するなら「この意見をのんでくれないのなら、有志を募ってプロジェクトから抜けますよ」とおどすくらいでいてほしい。意見をのんでくれないのなら、このままわめき続けてコミュニティの雰囲気を悪くしますよ、ってのが一番たちが悪い。こういう粗悪ユーザの害は、優良ユーザ10人の効果を容易に打ち消すと思う。
- だから、「○○すればユーザ増えるのに、開発者が増えるのに」みたいなことをいう粗悪ユーザの決まり文句は、僕と志の異なる人たちを集めるようなものばかりで、つまり僕にとってはマイナスでしかない。だからもちろん相手にしない。相手にしないといっているのに今後もこういう人が出続けるのだとしたら、ただのバカなんだろう。
- そもそも「ぐいぐい01」仕様のアプリがOSASK以外でも動くようにすることで、ユーザの流出が懸念されるわけだけど、それでも僕はやるのだ。つまりユーザを増やすために開発方針を決めているのではなく、自分の理想の実現のためならユーザが減ることもいとわないのだ。ユーザ数を増やすために自分の理想を曲げるのなら、それはユーザの奴隷になっているだけだと思う。選挙に当選するために政策を曲げるくらいなら、持論を守って落選するほうを選ぶ。未踏ソフトウェアのときも、どうすれば採択されるのかうすうす分かってきたけど、それでも採択されるために自分の提案内容を世間のニーズに迎合させることはなかった。僕はそういう人間である。
- 高性能は不要だ、に対して
- あなたにとって不要、みんなにとって不要、みたいな話であれば、僕は聞く耳を持たない。僕は自分のために作っているのであって、そしてもし志を同じくする人がいれば、その人たちのためにも作っているのであって、その他の人のために作っているわけではない。そこは明確にしておく。
- 僕が耳を貸すのは、「高性能を目指して作っても、最後はこんなに好ましくないことになると思うんだけど、川合(やコミュニティの人たち)は本当にそれでいいのか?」みたいな指摘だけである。
- エミュレータ優先主義者に対して
- 上記のように、エミュレータ優先の人の意見を聞く気は全くないのだけど(僕にとってエミュレータは手段であって目的ではない)、自分たちの意見のもろさに気づいていないようなので、ここで指摘しておきたい。
- エミュレータ優先主義者は、おそらくOSASKでWindowsのアプリが動くようになることを望んでいるのだろう(そうじゃない人もいるだろうが、大半はこれだろう)。しかしそれはWindows上でWindowsアプリを使うのと何か違うのか?OSASKアプリはefg01を使えばいいだけじゃないか。・・・ナニナニ、Linuxアプリも使いたい?それならLinuxにWineを入れて、さらにLinux用のefg01を使えばいいではないか。これでLinuxアプリもWinアプリもOSASKアプリも動く。これで一体何が不満なのか?・・・僕としては単にこういうことを望んでいるだけのユーザ(=性能なんかよりも、とりあえず動くかどうかのほうが優先される人)は「志を同じくする者」ではないから、こういうユーザがOSASKコミュニティに属さないのは一向に構わない。なんならそういうLinuxディストリビューションでも作ったらどうだろう?僕は興味ないけど。・・・TOWNSや98やx68kのアプリやファミコンのゲームが使いたいのなら、とりあえずエミュレータを使えばいいだろう。それでいいじゃないか。
- それじゃあ起動時間が長いとか、エミュレータが遅くてイライラするとかいうのかもしれない。全く自分勝手極まりない意見だ。速くするとかそういうこと以前に、そもそもそれだけのエミュレーション環境を僕がそろえたら何年かかると思っているんだか。開発者を集めればいいとか言いそうだが、じゃあ僕なぞに頼らず自分で集めればいいではないか。(やりもしないうちから)それもできないというのであれば、せいぜい自分の無能さを嘆けばいい。
- 5.現時点におけるOSASK計画の長期的計画(=優先順位リスト)
- 1.「ぐいぐい01」の整備、旧OSASKのアプリが移植できる程度にはしたい。
- 2.OSASK-HBのドライバ規格制定、モジュール化の推進。
- 3.OSASK-HBに旧OSASKくらいの機能を持たせる。
- 4.「ぐいぐい01」のDLLサポートや、.obj/.libのurb化。
- 5.OSASK-HBのKHBIOS対応作業。
- 6.OSASK-HBのTOWNS版、98版など。
- 7.khabaの設計・開発。最初はIA-32向け。とりあえずkhabaでも「ぐいぐい01」程度のことはできるようにする。khaba用のアセンブラやコンパイラも必要。
- 8.ARM7用のkhaba開発。
- 9.OSASKをKHBIOSとkhabaで書き、ハードウェア独立のOSとなる(ネイティブOSASKよりは遅いけど)。
- 10.その他のハードウェア向けも検討。CPUを作る方面に一時的に脱線する可能性もあり。
- 11.エミュレータレイヤの設計・開発。
- 12.不明。
- 6.補足など
- *0について:その証拠に短期間でOSASK-HB、Windows、Linux、MonaOSの4つのOSに対応済み。
- 一般公開は少し先(2008年8月とか)。待ちきれない人はOSASK-MLをチェックしましょう。
Last-modified: 2009-11-21 (土) 00:00:00 (JST) (319d) by k-tan
Links list
(This host) = http://osask.net
- (This host)/modules/osaskwiki/285.html#k5f0796c
- (This host)/modules/osaskwiki/144.html
- (This host)/modules/osaskwiki/285.html#u391ef51
- (This host)/modules/osaskwiki/285.html#ebff1c8c