オープンソースソフトウェア開発に見る SCM中心型ソフトウェア開発

Slides:



Advertisements
Similar presentations
IBMユーザ研究会九州研T3 3.Web2.0を実際に使ってみた. Web2.0を実際に使ってみました 研究会をプロジェクトに見立 てて “ Google SpreadSheet ” で会議を開く “ SNS ” でコミュニケーションを補助する “ Wiki ” で成果物を共有する.
Advertisements

1 Why not Trac!?. 2 Why Trac? ポータルとして機能 バグ管理 タスク管理 コード管理 進捗管理 ドキュメント管理 (Wiki) オールインワンなので運用がラク.
Web 共同編集機能を実装した メール検索システム 井上研究室 Choy Kho Yee 2006年02月27日.
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
オープンソース GIS 入門コース PostGIS + QGIS で始める空間データ解析 2010 年 3 月 21 日 講師:今木洋大.
IBMユーザ研究会九州研T3 5章 Webの発展可能性. WWWの発展が企業に与えるもの 顧客・ユーザのリテラシー向上 顧客・ユーザの操作的な ” 常識 ” の変化 システム開発プロジェクトでの応用 ウェブの発展を、企業はどう捉えて、 自らをどう変えていく必要があるか? 新しいプラットフォームをより深く理解することで、
HG/PscanServシリーズ Acrobatとなにが違うのか?
オープンソースGIS入門コース PostGIS+QGISで始める空間データ解析
NetBSD以外でpkgsrcを使うZoularis
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
Ubuntu 7.10の紹介 Ubuntu Japanese Team あわしろいくや
join NASS ~つながりあうネットワーク監視システム~
SaaS (Software as a Service)
UNIX Life KMSF M2 saburo.
テキストベースの会議における議論の効率化に関する研究
コミュニティ情報共有の技術と未来 オープンソースからオープンプロセスへ
OpenOffice.org で版管理 西木 毅 第2回関西OpenOffice.org勉強会 大阪電気通信大学
沖縄インターネット協議会 瑞慶覧辰 Linuxの紹介 沖縄インターネット協議会 瑞慶覧辰
情報技術と著作権.
環境教育用E-Learningシステム の開発 平成19年度環境教育実践専修構想発表会 環境教育実践専修 鵜川研究室 彭艶萍
オープンソースのDarwin は Mac OS Xに何をもたらすのか
バージョン管理超入門 まだファイルコピーしてます?
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
まずオープンソース開発者に対する支援から!
小型デバイスからのデータアクセス 情報処理系論 第5回.
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
高知大学理学部数理情報科学科 地球環境情報学研究室 助教授 菊地時夫
共同ローカリゼーション フレームワーク 井上 謙次.
情報システム構築 -グループ分けとCVSの初期設定-
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
ユーザー・コミュニティ構築による 持続可能なシステム改善の枠組みの形成 代表機関:千葉大学 連携機関:大阪大学,広島大学,島根大学,香川大学
バイナリ形式コンポーネントの 収集・解析・検索システムの開発
オンライン説明会に関する調査 上杉裕也.
2009/5/22 けーちゃん カンタン  Wikiで情報共有 あいさつ 2009/5/22 けーちゃん
かつしかの人を知る! 街を知る! かつしか地域づくりネット
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
複数のリポジトリを共有できる 仮想的なバージョン管理システムの提案
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
PC/NAS/UPS/対策ツールを一括導入
すぐに「GIGAPOD」をお試しください
北海道大学 理学院 宇宙理学専攻 惑星宇宙グループ 修士2 年 三上 峻
ウイルスについて I98N044 久野耕介 I98N114 藤田和久
製品情報 Windows Server 2003のサポート終了をむかえ、ファイルサーバーの入れ替えを検討されていらっしゃる方も多いのではないでしょうか?既存のファイルサーバーをいきなりクラウド化するとインターネット回線の影響で、エクセルやワードのようなサイズの小さなファイルでさえ、開くまでに時間がかかってしまうことがあります。
関数の変更履歴と呼出し関係に基づいた開発履歴理解支援システムの実現
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
PC/NAS/UPS/対策ツールを一括導入
NASのアクセス履歴を記録・検索できる! マイナンバー制度対応のファイルサーバー(NAS)ログ管理ソフト
クローンセットに対する主要編集者の分析法の提案と調査
三浦元喜 北陸先端科学技術大学院大学 知識科学研究科 2007/9/7
学生の相互評価を用いた モデリング支援システムの開発
第一回 掲示板                 05A1054         前田嵩公.
3.JAIRO Cloudシステム概要 Version 1.0
学内環境におけるP2Pアプリケーションの構築
Cisco Spark 登録方法 本資料に記載の各社社名、製品名は、各社の商標または登録商標です。.
#13 オープンソースソフトウェア Yutaka Yasuda.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
Winter Workshop in Kanazawa -プロセスと方法論-
コード片に共通した特性を自動抽出する ソースコード閲覧ツールの試作
最低限インターネット ネットワークにつなぎましょ!
Cisco Spark 登録方法 本資料に記載の各社社名、製品名は 各社の商標または登録商標です。.
複数のリポジトリを統合できる バージョン管理システムの提案と試作
ソフトウェアプロダクト集合に対する 派生関係木の構築
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
情報処理技法(リテラシ)II 第2回:チーム活動 産業技術大学院大学 情報アーキテクチャ専攻 助教  柴田 淳司 パソコンの基本操作.
関数の変更履歴と呼び出し関係に 基づいた開発履歴理解支援システム
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
著作権とライセンス.
Presentation transcript:

オープンソースソフトウェア開発に見る SCM中心型ソフトウェア開発 松下誠 大阪大学大学院情報科学研究科

今日の話題 「オープンソースソフトウェア(OSS)」とは OSS開発概観 OSS開発におけるSCMの役割 開発事例 まとめ Nov/01/2005 第15回S-openホットセッション

オープンソースソフトウェア(OSS)とは “The Open Source Definition,” http://www.opensource.org/docs/definition.php (OSSのひとつである)Debianが採用していた The Debian Free Software Guidelines に由来 OSSが満たすべき10の条件を列挙 ソースコードや派生ソフトウェアの頒布,再頒布の自由 差別の禁止,特定の状況下のみ有効なライセンスの禁止,など 開発プロセスでも製品でもなく,製品の「ライセンス形態」 しかし,一般的には… 「とりあえず無料で入手できるソフト」「良いらしい」 なんだかよくわからないけど,好きな人が勝手に作っている Nov/01/2005 第15回S-openホットセッション

OSSとOSS「開発」 OSSそのものは「結果」 OSS開発は「ソフトウェアの開発(過程)」 誰が,いつ,どのようにして作成したかには依存しない 手に入れたバイナリやソースコードがすべて 作った人が存在しているかどうかも関係ない 場合によっては,その後自分自身が作ることも可能 OSS開発は「ソフトウェアの開発(過程)」 人の手によって,ソフトウェアがscratchから作られる 通常のソフトウェア開発と「何も」違わない お金や時間などでは解決できない制約下での開発 ユーザ不在(あるいは,開発者自身がユーザ) 開発「組織」があいまい(互いに何らかの制約を持つことはまれ) 時間や空間を共有しにくい(世界中に分散した開発者) Nov/01/2005 第15回S-openホットセッション

OSS開発概観 OSS開発は多様な形態がありえる 比較的「良くある」OSS開発の場合… 互いに独立している複数の開発者(グループ) 「利用者」と「開発者」の境界はあいまい 開発に参加している理由づけもあいまい(かもしれない) Internet上で(ほぼすべての)開発者相互のやり取りを行う コミュニケーション (email, irc, wiki, blog, …) 成果物 (code, documents, …) 個人(グループ)開発の寄せ集めによる開発作業 これからの開発内容は決まっていないかもしれない 何をいつまでにやるべきかも決まっていないかもしれない Nov/01/2005 第15回S-openホットセッション

OSS開発におけるSCMの役割 「使いたい」ではなく「ないと困る」SCM 生成物を保持するための貯蔵庫 自分の作ったものを起き,他人に利用してもらう 必要な部分だけを入手,あるいは保存 開発プロセスを円滑に進めるための支援システム 作業者や変更内容の把握 変更理由をあわせて管理 議論の材料 Nov/01/2005 第15回S-openホットセッション

貯蔵庫としてのSCM 開発形態からくる制約 個別に行われた作業をまとめる場所 ソフトウェアを配布する手段 個人で行っているならば不要(かもしれない) 全体の取りまとめ役をSCMに任せる ソフトウェアを配布する手段 (開発対象となる)最新のソースコードを配布 任意の時点でのソースコードを提供可能 Nov/01/2005 第15回S-openホットセッション

開発プロセス支援としてのSCM 作業者や変更内容の把握 変更理由の管理 議論の材料 誰がいつどんな変更をしたのか記録したい 逐一変更報告するのは面倒 変更理由の管理 修正した「理由」を登録時にあわせて記録できる 変更の歴史が残る 議論の材料 「この修正が問題だ」と示す 過去の変更履歴を保持している メーリングリスト等との連携 「こういう修正はどうか」と示す 任意の時点のコードに対する差分を容易に作れる バグ管理システム等との連携 Nov/01/2005 第15回S-openホットセッション

OSSで使われるSCMの例 CVS: http://www.nongnu.org/cvs/ 最近使われつつある新しいSCM RCSからの派生物,古いが事実上の標準 ロックなし check-in/check-out モデル 差分情報を保存(RCS互換のテキストデータ) ブランチ作成等,基本的な機能は一通りそろっている 最近使われつつある新しいSCM subversion: http://subversion.tigris.org/ “better CVS” として一から作成される ネットワーク対応,一貫性の保証,容易なブランチ操作 Perforce: http://www.perforce.com/ Perforce社による商用製品 OSS開発向けに無償ライセンスを提供 Nov/01/2005 第15回S-openホットセッション

CVSと共に用いられるツール 電子メールやメーリングリスト Webインターフェイス: CVSweb, viewcvs, etc 開発用メーリングリストに変更内容のメールを流す Webインターフェイス: CVSweb, viewcvs, etc CVSリポジトリ閲覧用 手元にCVSの利用環境がなくても使える CVSup: http://www.cvsup.org/ CVSリポジトリに特化したファイル同期用ツール CVSサーバ もともとcvsはネットワーク環境下での利用を想定していない 遠隔操作を安全に行うためのサーバ sandbox構築,cvsd などの専用サーバ,など Nov/01/2005 第15回S-openホットセッション

OSS開発事例: FreeBSD いわゆる BSD UNIX のひとつ 開発当初よりCVSを採用 開発組織 過去のBSDはSCMとしてSCCSを採用 11年分のソースコードが約1.4GBのCVSリポジトリへ格納(ソースコード全体で約440MB) 開発組織 総計約340人(うち220人がソースコード修正可能) 開発者相互の選挙で選ばれた core team 目的別のチーム リリース管理,ports (アプリケーション集),ほか Nov/01/2005 第15回S-openホットセッション

FreeBSDにおけるソフトウェア開発 一般に公開されたCVSリポジトリ CVSリポジトリと連動したメーリングリスト CVSupを用いて世界中に複製される(必要なら手元にも) 適宜リポジトリからソースコードを取り出して利用 単にコンパイルして使うだけ,という形態もある CVSリポジトリと連動したメーリングリスト 開発者向けだが,最新の開発動向を知ることも可能 CVSへの登録時につけたコメントから生まれる議論 その修正は間違っている,その理由付けには疑問がある,など 開発者や利用者相互のメーリングリスト 修正はCVSリポジトリ内のコードに対する差分で示される Nov/01/2005 第15回S-openホットセッション

SCMを用いた開発が行われる理由 「SCMは有用である,ないと困る」という意識 ソースコードを自由に手に入れたい 残された記録の重要 いちいち他人の手を煩わせたくはない 欲しいときに,欲しいものを,いつでも 残された記録の重要 なぜそういうコードが書かれたかを知る 修正した人がわかれば直接聞ける 過去のミスを繰り返さないための記録 Nov/01/2005 第15回S-openホットセッション

まとめ OSSとOSS開発 OSS開発におけるSCMの役割 SCMの利用事例 ファイル共有 開発プロセス支援 CVSを用いたFreeBSD開発 Nov/01/2005 第15回S-openホットセッション