bashの開発で学んだこと
- ChangeLogを詳しく書く(そのとき変更したことを後から思い出せる)
- 回帰テストをプロジェクトの立ち上げ時から組み込んでおくべき(非対話的な処理はすべてカバーしている)
- 標準規格は重要。ソフトウェアの標準化作業も重要(さまざまな機能やその振る舞いについて議論できるだけでなく、規格化するときの参考にする標準を持っていればうまくいくから)
- 外部の標準も重要だが、内部的な標準を持つこともまた大切
- よくできたドキュメントは不可欠(成功したソフトウェアはドキュメントがいっぱい作られる。そのとき開発者自身のドキュメントは非常に重要。故に成功する前に予め書いておく)
- よいソフトウェアはどんどん使うべき
ユーザーコミュニティは必要。批判的な声を責められていると思わないこと
後方互換性の重要性(新たに作られる製品の機能が、旧世代での古い機能を満たすように考慮されること。でも具体的になんの話をしているのかは知らない)
結論
Bashは、大規模で複雑なフリーソフトウェアのよい例(おそらくbashを使っていることを意識していない人もいるだろう)
bash←GNU+コミュニティ+フィードバック