Develop and Download Open Source Software

Browse CVS Repository

Diff of /hos/policy/policy.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by ryuz, Sun Jul 21 08:17:19 2002 UTC revision 1.2 by ryuz, Sun Jul 21 09:25:41 2002 UTC
# Line 1  Line 1 
1  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
2   Project HOS 開発ポリシー(草案)                                               Project HOS 開発ポリシー(草案)                                            
3                                                                                                                                                                
4                                         Copyright (C) 1998-2002 by Project HOS                                              Copyright (C) 2002 by Project HOS
5  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
6    
7    
8    
9  1. 目的  1. 概要
10    
11  1.1 総則    本文書はは Project HOS の活動における、開発ポリシーの総則です。
12      プロジェクト固有のポリシーは別途定めるものとしますが、各プロジェクトの
13    開発ポリシーに記載の無い部分は暗黙的に本文書に従うものとします。
14    
   本プロジェクトは、誰もが自由に利用できる ITRON を開発することで、組み込み  
 産業界及び、個人で楽しむ多くの方々に対して社会貢献を行うことと、メンバーの  
 スキルアップを目的とします。  
15    
16  1.2 各人のポリシーの尊重  
17    2. Project HOS について
18    
19    2.1. 概要
20    
21      本プロジェクトは Hyper Operating System(以下 HOS と記載)を核とする、
22    組み込みソフトウェア開発者が有志で集い活動しているものです。
23      SourceForge.jp にて集団開発を行っていくにあたり、「Project HOS」との
24    名称で、開発グループを結成いたしました。
25      プロジェクトの趣旨にご賛同いただける方は誰でも参加頂くことが可能です。
26    
27    
28    2.2. プロジェクトの目的
29    
30      本プロジェクトは、誰もが自由に利用できる ITRON を開発することで、
31    組み込み産業界及び、個人で楽しむ多くの方々に対して社会貢献を行うことと、
32    メンバーのスキルアップを目的とします。
33    
34    
35    2.3. 各人のポリシーの尊重
36    
37    オープン開発の性格上、いろいろな個人的ポリシーを持った方に参加いただく事に    オープン開発の性格上、いろいろな個人的ポリシーを持った方に参加いただく事に
38  なると思いますし、そうなって欲しいと願っております。  なると思いますし、そうなって欲しいと願っております。
39    それに際して、ポリシーの違いから議論が起こることも当然ありえると思います。    それに際して、ポリシーの違いから議論が起こることも当然ありえると思います。
40    技術者として、個人のポリシーと本分があるのは当然ですので、そのような場合は    技術者として、個人のポリシーと本分があるのは当然ですので、そのような場合は
41  是非有用な議論として発展させ、より良い形で全員にフィードバックされるよう  是非有用な議論として発展させ、より良い形で全員にフィードバックされるよう
42  各自お互いを尊重するよう心がけましょう。  各自お互いを尊重するよう心がるものと致します。
43    
44    
45    
46  2. 技術的な決め事  2. 運用ルール
47    
48  2.1. ファイル名について  2.1. ファイル名について
49    
50  2.1.1 総則    本プロジェクトの開発の多くは、UNIX系、Windows系などクロスプラットフォーム
51    をターゲットにしています。
52      従いまして、クロスプラットフォーム対応における問題回避のため最低限の
53    るルールを定めます。
54    
55    
56    2.2.1. 総則
57    
58      CVSからのチェックアウトを問題なく行うために最低限以下のことを定めます。
59    
   UNIX系、Windows系両者の環境で利用できるようにファイル名は気をつけること  
 とします。  
   以下の点に気をつけましょう。  
     
60    ・ファイル名に漢字(2byteコード)は利用しない    ・ファイル名に漢字(2byteコード)は利用しない
61    ・大文字小文字のみが異なるファイルは置かない    ・大文字小文字のみが異なるファイルは置かない
62    ・環境依存のある文字は利用しない(Winの空白文字など)    ・環境依存のある文字は利用しない
63      ・空白文字も可能な限りファイル名に含めない
64    
 2.1.2 C言語ソースの注意  
65    
66    C言語プログラムのファイル名は、クロスプラットフォームを目的と  2.2.2. DOS向けのファイル
 するものに関しては 小文字のみの 8+3形式を標準とします。  
67    
68    また、#include 命令で利用する際のファイル名も上記に順ずる事と    MS-DOS用のツールに入力する可能性があるものに関してはさらに以下の
69  します。Winでは大文字小文字は無視されるためコンパイルできるが、  るルールを定めます。
 Unixだと出来ないなどの問題を回避するためです。  
70    
71      ・ファイル名は小文字に統一する
72      ・8+3形式に統一する
73    
 2.1.3 その他のソース  
   原則、想定される環境に問題なく適用できればOKとします。  
 例えばUNIX専用や、Windows専用のツールを作る場合などは  
 ある程度環境に特化した作りこみを許可します。  
   特に Java などは言語使用上、クラス名と同一のファイル名が必要で  
 すし、C++などでもJava的にクラス名に合わせた命名とすべきと考えます。  
   この場合、言語仕様が当然優先します。  
   ただし、最低限別プラットフォームからのチェックアウトなど  
 CVS操作で問題が出ない配慮だけは行ってください。  
74    
75    2.2.3. Windows向けのファイル
76    
77  2.2. 文字コードについて    総則に反しない限り、Windows文化に合わせてよいものとします。
78      即ち、別環境でも最低限チェックアウトなどのCVS操作に支障を
79    きたさない範囲とします。
80    
 2.2.1 総則  
81    
82    原則として、文字コードは EUC 改行コードは LFとします。  2.2.4. UNIX系向けのファイル
   Win環境では、適宜 SJIS + CR/FL に変換するなどして対応することと  
 します。  
83    
84  2.2.2 例外    総則に反しない限り、UNIX文化に合わせてよいものとする。
85    .bat、.dsw、.dsp など、Windows専用のファイルに関しては SJIS のまま    即ち、別環境でも最低限チェックアウトなどのCVS操作に支障を
86  とします。  きたさない範囲とします。
87      UNIX系の場合、実行可能属性などは適切に設定することとします。
88    
 2.2.3 履歴情報など  
   CVSの履歴情報入力など可能な限り、英文とします。  
   EUCコードで問題なく入力できることが確認できている環境からは  
 日本語もOKとします。  
   おそらく、Windows環境からは EUC 入力は難しいと思います。  
89    
90    上記に伴い、Ryuzなどがお馬鹿な英語を入力する事が考えられますが、  2.2.5. ソースファイルからの参照について
 笑うのは心の中だけにしておきましょう (^^;;  
91    
92      例えば C言語の #include ディレクティブなど、ソース中で
93    ファイル名を利用する場合、例えば、Windows環境で Sample.h
94    を #include "sample.h" としてもエラーになりませんが、UNIX環境では
95    大文字/小文字を区別するためファイルが見つからずコンパイル
96    エラーとなります。
97      クロス環境で利用可能なソースについては、Windows環境でも
98    気をつけて扱うよう心がけてください。
99    
100    
101  2.2. バージョン名表記について  2.3. 文字コードについて
102    
103  2.2.1 総則  2.3.1. 総則
   考え中  
104    
105      原則として CVS リポジトリに含めるテキストファイルは EUC
106    文字コードとし、改行コードは LF のみとします。
107      Windows環境など、プラットフォームが EUC環境でない場合は、適宜
108    一括変換して扱うなどして対応することとします。
109    
 2.2.2 HOS-V4 のバージョン名  
110    
111    HOS-V4 については、正式名 "Hyper Operating System V4"、略称 "HOS-V4" と  2.3.2. CVSのコミットログ
 します。  
   よって、HOS-V4 Ver 0.01 をスタートとします。  
   V4 は μITRON 4.0 の 4 を表しますが、HOS-V4 においては固有名詞の一部で  
 ありバージョンとは無関係と見なします。  
   小数部(下2桁)は、バグ修正や細かい機能追加などのマイナーバージョンを  
 表すものとし、整数部はメジャーバージョンを示すものとします。  
112    
113    SF.jp 以降以前のものは 「開発スナップショット 2002/06/30 版」を表記上の    CVSのコミットログなどのテキスト入力は可能な限り、英文とします。
114  名称として扱い、CVS内のタグは ss_2002-06-30 のように ss_yyyy-mm-dd として    この場合、英語の苦手な方も居られると思いますので、どうしても
115  扱うこととします。  うまく掛けない場合はローマ字表記なども許可とします。
116    また、SF.jp 以降後の開発については、ver0_01 のようにバージョン番号で    ただし、英語の得意な方などが、ローマ字を翻訳したり、文意の
117  管理いたします。  誤りなど気がついた場合には、コミット実行者と連絡を取り、ログを
118    もし、過去バージョンを分岐して(枝を作って)リリースが必要な場合は、  書き換えるなどの活動は制限しません(むしろ推奨いたします)。
 ver0_01_branch1 のようにブランチタグを打ち、リリース時は ver0_01_r1  
 のようにリリース番号を付けるものとします。  
   その場合、リリース名称は "Ver 0.01 Rel.1" となり、これは "Ver 0.02" へ  
 向けた開発とは別線で枝が伸びるものとします。  
119    
120    
121    
122  3. 運用ルール  2.4. CVS更新について
123    
124  3.1 総則  3.1 総則
125    
126    原則としてメンバーは HOS に有用と考えられる変更であれば他のメンバーの    原則として開発メンバーは HOS に有用と考えられる変更であれば
127  同意を必要とせずにを行っても良いこととします。  他のメンバーの同意を必要とせずにトランク(開発レーン)に対して
128    いつでも修正や機能追加を行う権限をもつものとします。
129      ただし、修正を行った場合はなるべく迅速に Developersフォーラムに
130    修正内容を報告してください。
131    
132    
133    3.2 修正作業手順
134    
135    作業範囲及び影響波及範囲が狭い場合(1つのAPIに収まる程度など)は、    作業範囲及び影響波及範囲が狭い場合(1つのAPIに収まる程度など)は、
136  特にメンバーの同意を得ず行って構わないものとします。ただし、少なくとも  特に予告無く行って構わないものとします。ただし、少なくともコミット後の
137  コミット後の事後報告は行うようにしましょう。  事後報告は行うように心がけましょう。
138    影響範囲が大きいと考えられる場合は、作業開始時に Developes フォーラム    影響範囲が大きいと考えられる場合は、作業開始時に Developes フォーラム
139  に報告を入れてから着手してください。  に報告を入れてから着手してください。
140    問題があればコミットまでに他のメンバーから問い合わせが発生すると    問題があればコミットまでに他のメンバーから問い合わせが発生することが
141  思います。  期待できます。
142      また、同バグ対応を複数人が作業してしまい、無駄な二重開発を回避する
143  <Ryuz 注記>  ことにもなります。
   将来、ルールを変更する可能性もありますが、現時点では厳密なルールに  
 よる明確な管理よりも、CVSなどに守られた体制を十分に活用してフット  
 ワークを良くしたいと考えております  
   なるべく変更にあたり少ない手順で誰でもいじれるようにしたいのですが  
 いかがでしょうか?  
   
144    
145    
146  3.3.1 新規部分の開発  3.3.1 新規部分の開発
# Line 144  ver0_01_branch1 のようにブランチタグを打 Line 151  ver0_01_branch1 のようにブランチタグを打
151  、フォーラムなどで完了を宣言しましょう。  、フォーラムなどで完了を宣言しましょう。
152    
153    
 3.3.2 既存ソースの機能変更  
   
   影響範囲が小さいと判断した場合は、ローカルでテスト後、コミットして  
 からの事後報告で構いません。ただし、コミット時のメッセージには1行でも  
 構いませんのでコメントをお願いします。  
   影響範囲がある程度あり、不安を感じる場合は、変更作業開始前にどの部分を  
 どのように変更する予定か Developers フォーラムなどで他のメンバーに  
 着手を宣言しましょう。  
   完了後、ローカルでテストし、問題なければCVSにコミットを掛け  
 フォーラムで完了を宣言しましょう。  
   
   
154  3.3.3 バグ修正  3.3.3 バグ修正
155    
156    パッチやバグ報告がトラッキングにあがった場合、メンバーの誰であれ    パッチやバグ報告がトラッキングにあがった場合、メンバーの誰であれ
157  それに対応する権利を持ちます。  それに対応する権利を持ちます(もちろん義務はありません)。
158    自分で対処可能と判断した場合は、トラッキング情報の担当に自分の名前を    対処頂く場合は、トラッキング情報の担当に自分の名前を設定し、
159  設定し、「解決」欄を accepted に変更してください。  「解決」欄を accepted に変更して、受け付けた旨を宣言してください。
160    これは、同一のバグに同時に複数人が対応してしまい時間をロスする    これは、同一のバグに同時に複数人が対応してしまい時間をロスする
161  ことを防ぐためです。  ことを防ぐためです。
162    対応にあたり、決めきれない部分がある場合は Developers フォーラム    対応にあたり、決めきれない部分がある場合は Developers フォーラム
163  にて対応策をみんなで議論しましょう。  にて対応策を議論しましょう。
   
164    修正が終わりましたら、トラッキング情報の「解決」欄を対応結果に    修正が終わりましたら、トラッキング情報の「解決」欄を対応結果に
165  応じて変更してください。  応じて変更してください。
166    また、必要と感じた場合は、対応終了を Developers フォーラムにも    また、必要と感じた場合は、対応終了を Developers フォーラムにも
167  報告いただければ助かります。  報告いただければ助かります。
168    
169      メンバーがバグを発見した場合もまず、トラッキングのバグ報告に報告を
170    上げる事とします。その場合そのまま自分を担当者としても構いませんし、
171    他のメンバーが名乗り出るのを待っていても構いません。
172    
173    
174  3.3.4 コミットにより問題が生じたら  3.3.4 コミットにより問題が生じたら
175    
# Line 181  ver0_01_branch1 のようにブランチタグを打 Line 179  ver0_01_branch1 のようにブランチタグを打
179  からです。  からです。
180    しかし焦る必要はありません。CVSは問題が生じる前のソースをいつでも    しかし焦る必要はありません。CVSは問題が生じる前のソースをいつでも
181  取り出せます。  取り出せます。
182    気づいた人は、まず簡単に修正できるかどうか判断を行ってください。    気づいた人は、まず簡単に修正できるかどうか(ご自分の時間的余裕など
183    も含めて)判断を行ってください。
184    容易に修正可能であれば、修正後、CVSに修正内容を反映させてフォーラムに    容易に修正可能であれば、修正後、CVSに修正内容を反映させてフォーラムに
185  報告してください。  報告してください。
186    もし、修正が容易でなければ、その旨をフォーラムに挙げて下さい。    もし、修正が容易でなければ、その旨をトラッキングのバグ報告に
187    修正を取り消して前のバージョンに戻すのか、そのままさらに修正して  上げて下さい。
188  問題を解決するのか、判断が必要となります。  
189      場合によっては修正を取り消して前のバージョンに戻すのか、そのまま
190    さらに修正して問題を解決するのか、判断が必要となる場合があります。
191    個人で判断しかねる場合は、必要に応じて議論を行いましょう。    個人で判断しかねる場合は、必要に応じて議論を行いましょう。
192    
193    何れにしろ、問題が解決するまでは、他の人は正常に動作していた    何れにしろ、問題が解決するまでは、他の人は正常に動作していた
# Line 195  ver0_01_branch1 のようにブランチタグを打 Line 196  ver0_01_branch1 のようにブランチタグを打
196    
197    
198  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
199   Copyright (C) 1998-2002 by Project HOS                                         Copyright (C) 2002 by Project HOS                                            
200  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26