1

おそらく bitbucket にアップロードすることによって、オープンソース化したいクローズド ソース プロジェクト (さまざまな言語でテキストを処理する) があります。しかし、それをサブプロジェクトに分割する方法/かどうかはわかりません。

現在、プロジェクト全体が 1 つの大きな構造として svn にあります。

  • メインシステム (Java のツールセット)
  • ant プラグイン (システムの特定のバージョンが必要です。ant はビルド システムです。これを使用して、言語リソースをロードし、ビルドしてテストします)
  • ドキュメント (実行方法、リソースの開発方法など)
  • 言語リソース 1
  • :
  • 言語資源 n

言語リソースは異なるライセンスを持っている可能性があり、サード パーティによって提供される可能性があります。

私は疑問に思っています: このプロジェクトをまとめておくべきか (ライセンスがより制限された言語リソースのみを削除するべきか)、それとも個別のプロジェクトに分割すべきか。後者の方がやるべきことのように思えますが、バージョンを同期させるにはどうすればよいでしょうか? readme ファイルを使用して、手動で行うだけですか?

(詳細は以下の回答に基づいています:) 通常、ユーザーはシステム、ant プラグイン、および 1 つの言語リソースをダウンロードします。それらは相互に互換性がある必要があります。ただし、スクリプトなしでダウンロードすることもありました (実験を行わずに実稼働システムに統合する場合)。場合によっては、複数またはすべてのリソースを一緒にダウンロードしたい場合もあります。

提案をありがとう

4

1 に答える 1

3

あなたのプログラムのユーザーの立場になってください:

  • プロジェクトを実行するには、プロジェクトのすべての部分をダウンロードする必要がありますか?
  • アップデートの場合、全てのパーツをアップデートすれば動くのでしょうか?
  • プロジェクトの特定の部分だけを単独で使用することは不可能ですか?

上記の質問のいずれかに対する答えが「はい」の場合、すべてのパーツを 1 つのプロジェクトに保持します。基本的に、すべてのパーツをまとめて動作させる必要がある場合、個別のプロジェクトを作成するのは意味がありません。最終的にはユーザーがすべてのパーツを取得/更新する必要があるためです。

それらすべてに対する答えが「いいえ」の場合、プロジェクトの各部分には論理的な独立性があり、残りの部分を気にせずにその一部を取得して使用することが理にかなっています。その場合は、複数のプロジェクトにしてください。繰り返しになりますが、各プロジェクトには依存度の高い部分が含まれます (すべてを取得するか、何も取得しないかのいずれか)。

そのすべてに関係なく、ソースとともにドキュメントを保管してください。それとバージョンの不一致は望ましくありません。「ant」が何であるかはわかりませんが、それらもバージョンに大きく依存している場合は、メインシステムと同じプロジェクトに保管してください。


あなたの更新に基づいて、アリとドキュメントを含むメイン システムを 1 つのプロジェクトに配置し、スクリプトを別のプロジェクトに配置することをお勧めします。「言語リソース X」をスクリプトと呼んでいるので、それらはかなり小さいと思います。これにより、ユーザーがそれらの 1 つだけを必要としている場合でも、それらすべてを 1 つのプロジェクトに含めることができます。

ただし、「言語リソース X」がそれ自体で大きなプロジェクトである場合は、それらを別のプロジェクトに保持するのが理にかなっています。

于 2013-10-31T15:17:19.390 に答える