Service Grid Open Source Community Site
English | Japanese

ソースコードレポジトリ

本プロジェクトでは、ソースコードの管理にSourceForgeのSubversionソースコードレポジトリを使用しています。ソースコードは、以下のURLから取得できます。 ソフトウェアごとのレポジトリURLについては、各ソフトウェアのページを参照してください。

  • https://svn.code.sf.net/p/servicegrid/code (閲覧)

ソースコードレポジトリへのコミット権は、コアメンバ及びデベロッパーにのみ付与されます。コミット権の付与を希望される方は、SourceForgeのアカウントと理由を添えて、oss-project [at] langrid.org までご連絡ください([at]を @ で置き換えてください)。

Subversionの使い方については、SourceForgeに解説があります。

コンポーネント分類

コード管理の観点から、本プロジェクトのレポジトリに格納される各ソフトウェアのコンポーネントは、以下のように分類されます。 各ソフトウェアでどのコンポーネントがいずれの分類に属するかについては、それぞれのソフトウェアのページをご覧ください。

コアコンポーネント

  • 各ソフトウェアの中核となる機能を提供するコンポーネントであり、後述するオプショナルコンポーネントから使用することを目的に設計されています。
  • コアコンポーネントを使用するオプショナルコンポーネントとの互換性を可能な限り維持するため、コアコンポーネントの機能追加や機能修正は、コアメンバが決定した方針に従って進められます。
  • コアコンポーネントのソースコードレポジトリへのコミットは、コアメンバのみによって行われます。
  • コアコンポーネントについて機能追加や機能修正を希望する場合は、まず多言語BBSの「要望・提案」フォーラムで提案を行ってください。多言語BBSにパッチを掲載することはできますが、本プロジェクトで管理するソースコードに反映されるには、コアメンバによるレビューを受け、承認を得る必要があります。

オプショナルコンポーネント

  • コアコンポーネントを使用して開発されるコンポーネントであり、本プロジェクトとは独立に開発されます。従って、機能追加や機能修正は、完全に開発者の決定に基づいて行われます。本プロジェクトのメンバは、機能追加の希望やコードをコミュニティサイトの多言語掲示板に投稿することはできますが、対応は開発者の決定に委ねられます。
  • 本プロジェクトでは、下記の2通りの分類でオプショナルコンポーネントを扱います。
    • Authorized Component: コアメンバが品質のチェックや、開発状況のウォッチを行います。
    • Unauthorized Component: コアメンバは品質や開発状況に関与しません。
  • オプショナルコンポーネント及びその派生ソフトウェアの開発者は、本プロジェクトのデベロッパーとして参加することで、開発されたソフトウェアのソースコードをソースコードレポジトリにコミットできます。

開発プロセス

以下に開発の一般的なプロセスを示します。 全てのソフトウェアはオープンソースソフトウェアであるため、定められたライセンスのもとでどのような改変を行っても問題ありませんが、このプロセスに従うことで、より多くの他のユーザが開発されたコードを活用できたり、フィードバックを得られやすくなります。 開発のプロセスは、コアコンポーネントとオプショナルコンポーネントの開発で異なります。

オプショナルコンポーネントの開発

オプショナルコンポーネントの開発は、通常下記のステップで進められます。

  1. 環境構築

    はじめに、ソースコードレポジトリからソースコードを取得します。ソースコードの取得には、Subversionのクライアントソフトウェアが必要です。Subversionの使い方については、SourceForgeに解説があります。 ソフトウェアごとのレポジトリのURLについては、各ソフトウェアのページを参照してください。

    取得したソースコードを用いて、ローカルのコンピュータに動作環境を構築します。各ソフトウェアの、インストール手順を記載したマニュアルを参照してください。マニュアルはダウンロードのページから取得できます。

  2. 開発

    コンポーネントを開発し、ローカルの動作環境で動作を確認します。開発するコンポーネントの単位は、各ソフトウェアで定められた単位に従ってください。

    コンポーネントの名前は、既存のものと別の名前を付けるようにしてください.これにより、テスト版をリリースした際に他のメンバは自分の環境にインストールした際に、既存のモジュールとの衝突を避けることができるようになります。また、ソースコードレポジトリ上で、他の開発者によるモジュールとの衝突を避けられます。

  3. コミットとアナウンス

    開発したコンポーネントのローカルでの動作確認ができたら、ソースコードレポジトリへのコミットを行います。ソースコードレポジトリは、SourceForgeのものを使用しているため、SourceForgeのアカウントが必要になります。コミット権の付与を希望される方は、SourceForgeのアカウントと理由を添えて、oss-project [at] langrid.org までご連絡ください([at]を @ で置き換えてください)。

    コミットするロケーションは、各ソフトウェアで定められていますが、いずれのソフトウェアでもオプショナルコンポーネントをコミットするためのロケーションが用意されています。

    コミットを行ったら、多言語掲示板の「アナウンス」フォーラムでアナウンスしましょう。アナウンスには、コミットされたファイルのロケーションを含めてください。また、他のコミュニティメンバがダウンロードして使用できるように、必要ならばインストール方法などの情報も掲載してください。

  4. フィードバック

    他のユーザからのフィードバックやその対応については、多言語BBSの「要望・提案」フォーラムで議論してください。また、「バグ報告」フォーラムもチェックしてください。多言語BBSのメール通知機能を有効にしておくことが推奨されます。

コアコンポーネントの開発

コアコンポーネントの開発は、通常下記のステップで進められます。

  1. 環境構築

    はじめに、ソースコードレポジトリからソースコードを取得します。ソースコードの取得には、Subversionのクライアントソフトウェアが必要です。Subversionの使い方については、SourceForgeに解説があります。 ソフトウェアごとのレポジトリのURLについては、各ソフトウェアのページを参照してください。

    取得したソースコードを用いて、ローカルのコンピュータに動作環境を構築します。各ソフトウェアの、インストール手順を記載したマニュアルを参照してください。マニュアルはダウンロードのページから取得できます。

  2. 仕様検討

    コアコンポーネントの開発を開始する前に、多言語BBSの「要望・提案」フォーラムで、仕様について提案を行ってください。

    コアコンポーネントの仕様変更は、すでに開発済みの他の機能に影響を与える可能性があるため、合意なしに改変されたコアコンポーネントはこのプロジェクトのソースコードレポジトリにコミットすることはできません。

  3. 開発

    コンポーネントを開発し、ローカルの動作環境で動作を確認します。開発するコンポーネントの単位は、各ソフトウェアで定められた単位に従ってください。

    開発時には、一般的に使われる他のモジュールと競合しないことをよくテストしてください。余程の理由がない限り、他のモジュールが動作しなくなる変更をコミットすることはできません。

  4. コミットとアナウンス

    開発したコンポーネントのローカルでの動作確認ができたら、ソースコードレポジトリへのコミットを行います。ソースコードレポジトリは、SourceForgeのものを使用しているため、SourceForgeのアカウントが必要になります。コミット権の付与を希望される方は、SourceForgeのアカウントと理由を添えて、oss-project [at] langrid.org までご連絡ください([at]を @ で置き換えてください)。

    コアコンポーネントは通常、既存のコードと共存させることはできません。そのため、ソースコードレポジトリにブランチを作成し、そこに開発したコードをコミットしてください。

  5. 初めてブランチを作成してコミットを行ったら、多言語BBSの「アナウンス」トピックでブランチのロケーションをアナウンスしてください。

  6. フィードバック

    他のユーザからのフィードバックやその対応については、多言語BBSの「要望・提案」フォーラムで議論してください。また、「バグ報告」フォーラムもチェックしてください。多言語BBSのメール通知機能を有効にしておくことが推奨されます。

十分に動作が安定していることが確認された後、コアコンポーネントの変更はtrunk及び配布パッケージに取り込まれます。


既存コンポーネントの修正

既存のコンポーネントに対する軽微な機能修正やバグ修正が必要な場合には、多言語BBSでパッチを添付してメッセージを投稿します。投稿されたパッチの反映の可否は、コンポーネントの開発者、または開発者の許可を得た場合にはコアメンバが判断します。

機能修正については、多言語BBSの「要望・提案」フォーラムで提案を行い、開発者またはコアメンバと合意してから実施することが推奨されます。開発者またはコアメンバの了解が得られない場合、反映されない場合があります。

バグ修正については、多言語BBSの「バグ報告」フォーラムにメッセージを投稿し、作成したパッチを投稿してください。ただし、バグ修正のパッチについても、開発者またはコアメンバの判断によって、取り込まれないことがあります。

Last update: 09-Mar-2011