TurboGears?プロジェクトの哲学
TurboGears?は他のオープンソースプロジェクトの上に成り立っています。これはそこに関わる人すべてに有益です。TurboGearsは以下のことを通してそのユーザたちを助けます:
- 統合 - 含まれるパッケージを途切れなく、自然に動くようにする
- ドキュメント - すべてのプロジェクトが一括して見渡せるようにし、必要ならば新しいドキュメントを作成する
- 進歩 - 各プロジェクトの進歩を直接取り込むために、プロジェクトのメンテナと共に活動する
統合
すべてのピースが共に動くようにすることはとても明白な目標です。各パッケージはお互いのことを知りません。これは一般にはMVCパターンに従うときにはよいことです。TurboGearsではCherryPyコントローラがプロジェクトのハブとして腰を下ろしています。これは統合のための一番大きな場所です。コントローラがより簡単にSQLObjectと動作できるようにする、あるいはMochiKitからの非同期呼び出しに答える、そして完全なKidテンプレートをレンダリングするツールを提供することが大きな勝利をもたらすでしょう。
統合のためのもう一つの場はスタンドアロンツールの中にあります。 tg-admin はユーザが完全なTurboGearsアプリケーションを作成し、アップデートし、デプロイすることを助けてくれます。
ドキュメント
ドキュメント化されなかったら、よい経験則は存在しません。これはドキュメントの無いパッチは受け入れられないということをいっているわけではありません。もちろんドキュメントを同梱して送って欲しいわけですが。もしその機能が優れていて価値のあるものであれば、きっと誰かがドキュメント化するでしょう。しかしそれがドキュメント化されるまではTurboGearsの機能としてリストアップされることはありません。
epydocが扱えるようなdocstringを用意するのが良いやり方でしょう。
TurboGears?に含まれるプロジェクトのドキュメントの量や質は様々です。他のプロジェクトのドキュメント改善に力を貸すことが、すべての人を助けることになるでしょう。
進歩
TurboGears?に含まれるプロジェクトの進歩に貢献することは、TurboGearsそのものの発展にとって無くてはならないものです。MochiKit、Kid、CherryPy、そしてSQLObjectはTurboGears以外のところでも多くの人によって広範に利用されています。これはオールインワンであるフレームワークに対する大きなアドバンテージとなるでしょう。何故ならその集合体となるコミュニティはとても大きいものになるからです。そこにはコードを見つめる多くの目があり、それぞれの部分に関する多くのアイデアがあるのです。
TurboGears?に含まれるプロジェクト間の統合に特化しないコードについては、オリジナルのプロジェクトに還元されるでしょう。

