オープンソースにひそむ問題 - Sapid Home Page

オープンソースにひそむ問題
山本 晋一郎
愛知県立大学
議論の流れ
• 準備
• 肯定: 下流行程を対象とした研究には追い風
– 上中流には?
– オープンソースに関する20の課題は?
• 疑問: アカデミック論文にしにくい(権藤)
– LALR(1)並みの発明をすれば...
– 理屈よりも実践か!?
Open-source Software (part 1)
アイデア
• もし,Internet 上のプログラマたちが,あるソフトウェア
のソースを変更,再配布できるならば,そのソフトウェア
は伝統的な方法で開発されているソフトウェアよりも早
いペースで進化するだろう.
(Apache, Perl, BIND… で学んだ経験より)
この経験的な成功事例を商業ソフトウェアの
世界に適用しよう
Open-source Software (part 2)
定義
• Free Redistribution
• Source Program
ソフトウェアは実質的な形としてソースプログラムを含
む必要がある.Obfuscated source program や中間形式
は許されない.
• Derived Works
派生物や修正を許すこと.それらを元のソフトウェアと
同じライセンスで配布することを許すこと.
Open-source Software (part 3)
定義 (Cont.)
• No Discrimination
特定の人やグループを排除してはいけない.特定の分
野を排除してはいけない.
• プログラムの部分に対しても同じライセンスが適用され
ること.
• 他のライセンスを破ってはいけない.
• ライセンス例: GNU GPL, BSD, X consortium...
Open-source Views (part 1)
Hacker’s View (技術編)
• Open-source の技術的な側面は理解している
• 今までの Internet はこうやって発展してきた
Eric S. Raymond: “The Cathedral and the Bazaar”
Microsoft: “Halloween Documents”
Hacker’s View (経済編)
• Why You Won’t Starve ?
Open-source Views (part 2)
Hacker’s View (マーケティング編)
• Free Software と何が違うか ?
• CEO や CTO は Free Software を使わないが,Opensource Software なら使う
Open-source Views (part 3)
Business View (技術編)
• 信頼性は確保できるのか ?
• ソフトウェアハウスのメリットは ?
開発効率の向上,低いオーバヘッド
• ソフトウェア流通業者のメリットは ?
顧客との親密さ,より広い市場
Support Seller, Loss Leader, Widget Frosting,
Accessorizing
議論の流れ
• 準備
• 肯定: 下流行程を対象とした研究には追い風
– 上中流には?
– オープンソースに関する20の課題は?
• 疑問: アカデミック論文にしにくい(権藤)
– LALR(1)並みの発明をすれば...
– 理屈よりも実践か!?
ソフトウェア工学との関係
• 不特定多数の SE 研究者が,実世界のソフトウェ
アをサンプルとして研究できる
• 検証や追試が可能となる
• 成果物の履歴にリアルタイムでアクセスすること
が可能となる (プロセスに関する研究題材)
• 分析・設計ドキュメントは不足している(ソースプ
ログラムのみが配布・流通)
オープンソースに関する20の課題(1)
• 古典的開発プロセスとオープンソースの開
発プロセスの定量的な比較
– 定性的な分析『伽藍とバザール』は行われて
いるが,信頼性の高い定量的な比較研究は?
• ソフトウェア産業へのオープンソース的開
発形態の適用
– 修正なく適用できるのか?
– どのような修正が必要か?
– 部分的に適用することは可能か?
オープンソースに関する20の課題(2)
• 大規模な分散開発支援環境
– 分散した開発者集団のための開発支援環境
• 大規模に分散した開発者集団のためのバージョン
管理,構成管理,バグ追跡,ドキュメント管理,テス
ト支援環境など
– コミュニケーション環境
• 大規模に分散した開発者集団のための意思決定
を支援する環境.
オープンソースに関する20の課題(3)
• 利用者からのフィードバックを支援する環境
– 利用者との密接な関係(オープンソースの特徴)を
強化する試み
•
•
•
•
•
•
リモートのユーザビリティ・テスト環境
リモートの対話的デバッガ
リモートの実行トレース・ダンプ
利用状況のログ採取
利用環境のdetect
自動バグレポート送付機能
オープンソースに関する20の課題(4)
• ソフトウェアの検索と再利用
–
–
–
–
–
–
他のソフトウェアに含まれる機能部品群を検索
適用箇所に合わせて修正
オリジナルの変更を通知
Semantic Diff
Clone Code Detection
CPAN, RAA
オープンソースに関する20の課題(5)
• 中上流工程への展開
– 中上流工程の成果物の公開促進
• 要件定義の過程を示すドキュメント
• 設計ドキュメント
– 中上流工程の成果物の蓄積・検索・再利用
– ソースプログラムと設計ドキュメントの対応づけ
オープンソースに関する20の課題(6)
• クリアリングハウス
– 「手形交換所,(物資・情報などの)中央集配
[保管]機関,情報[集散]センター」
「資料及びデータを収集し,保存し,報知し,
利用できるようにする機関」
• SourceForge : CVSリポジトリ,FTPディレクトリ,
ディスクバックアップ,バグ追跡システム,パッチ管
理システム,Webサイト・ホスティング,メーリングリ
スト,メッセージ・フォーラム,独自ドメイン
• 次世代のSourceForgeは?
オープンソースに関する20の課題(7)
• 会場の皆さんより募集
–
–
–
–
–
Light Weight Process
スクリプト
テスト
国際化
Web
議論の流れ
• 準備
• 肯定: 下流行程を対象とした研究には追い風
– 上中流には?
– オープンソースに関する20の課題は?
• 疑問: アカデミック論文にしにくい(権藤)
– LALR(1)並みの発明をすれば...
– 理屈よりも実践か!?