学んだことは,以下の3つ.
- 基本,議論は ML ですべき.
- コミッタであろうとなかろうと,変更はすべて ML に投げる.
- ターゲットとしている層の自然言語でドキュメントを記述する.
本当の OSS なら,開発がオープンであることをアピールする必要がある.ソースが github に上がっていても,開発プロセス,議論が不透明な場合はコミュニティから不満が出るだろう.Eucalyptus が良い例だ.
また,コミッタのあなたにとって都合が良い変更でも,他のデベロッパにとって都合の悪い変更もあるかもしれない.都合が悪い変更を見たデベロッパは思うだろう...「言ってくれれば良かったのに」,と.あなたがコミッタであっても,議論,変更を隠したままコミットしたら,それは職権乱用であり,信頼を失ってしまうだろう.
"気にくわないなら fork してコードを改変すれば良い.それが OSS" というスタンスの人も居るかもしれないが,fork されたコードのメンテナンスは fork した本人で行う必要がある.もし似たようなプロジェクトがあれば,皆はfork するよりも,よりオープンな競合プロジェクトに移る方を選ぶだろう.
もっとも,競合のプロジェクトが存在せず,独占状態であるのであれば話は別だ.でも,それならプロプライエタリソフトウェアとして商売した方が成功する可能性は高いように思う.
3. について.
当然だが,英語圏の人に使ってもらいたいのに ML やドキュメントが日本語のみだったら使ってもらえない.まずは,狙っている層で ML/ドキュメントを整備すべきだ.
まだまだ自分も配慮しきれていない点も多いので,気をつけたい.その他に気づいた点があったら,追記していく予定.