コミュニティ情報共有の技術と未来 オープンソースからオープンプロセスへ 西本卓也 京都工芸繊維大学 工芸学部 電子情報工学科 助手 http://www-vox.dj.kit.ac.jp/nishi/ nishi@vox.dj.kit.ac.jp 2001/01/27
技術が社会のあり方を決めるべき時代 インターネットはなぜ進歩が早く変化が急なのか? → 仕事を加速する手段が確立されたから 革新的な技術: インターネットはなぜ進歩が早く変化が急なのか? → 仕事を加速する手段が確立されたから 革新的な技術: 既存の組織では追いつけない速度で進化 オープンソース・ソフトウェアになる 技術がもたらした革命 それを社会が受け入れざるを得ない その革命のプロセスを社会が後追いせざるを得ない 2001/01/27
オープンソースからオープンプロセスへ 「オープンソース」への社会の関心は高まる しかし、正しく理解されているとは言えない オープンソースとは: 単なる「価値の共有」ではない 「価値を生み出していくプロセスの共有」である 「オープンソース的な方法論」とは: 技術者に閉じた話題ではない 社会のあちこちで取り組むべき問題 2001/01/27
オープンプロセス・プロジェクト オープンソース・プロジェクト: 成果物のみオープン化 オープンプロセス・プロジェクト: 仕事のプロセスからオープン化 オープンソースはオープンプロセスの結果の一部 2001/01/27
オープンプロセスの技術と未来 インターネット技術/ソフトウェア開発から始まった 必要な技術と手法を、技術者みずから整備してきた その技術と手法は、社会に広まりつつある WWWは技術者の情報共有手段として発明された これから何が当たり前になっていくのか? どのような活動に応用可能なのか? 技術を正しく理解するために 技術を正しく活用するために 2001/01/27
メーリングリスト メール同報=サーバを持っていれば簡単に作れる 「メーリングリスト」システムの重要機能: 参加・退会の処理の自動化(管理者が楽になる) 「サブジェクト=題名」にMLの名前や番号をつける 返信先(reply-to)がMLになるようにする eGroups: 進化したML(メールグループ) 無料でいくつでも作れる メールソフトからもウェブブラウザからも使える さまざまな付加機能 2001/01/27
「引用」と「返信」 非同期型メディアによる双方向的な議論 → 発言の双方向的編集行為が不可欠 例:読んだ発言の一部を引用しコメントする 非同期型メディアによる双方向的な議論 → 発言の双方向的編集行為が不可欠 例:読んだ発言の一部を引用しコメントする どの発言に対する返答であるかを示す 発言のどの部分に注目しているかを示す テキストのカット&ペーストは偉大なる相互編集 2001/01/27
MLはなぜ無料でなくてはならないか? コミュニティへの帰属意識とは あるコミュニティ宛のメッセージを、 不快を感じることなく受け取り続けていること メールを受け取って読むこと=参加者のコスト Aさんだけ読みたくない/読ませたくないメールも 「ABC」のMLを作ると: 「BCだけ」のMLが欲しくなる 「ABCD」のMLも欲しくなる それを許容するような技術/マネジメントであるべき 2001/01/27
MLのセキュリティ対策 無差別広告メール(スパム)を配信しない 巨大なファイル・添付ファイルを拒否する 誤操作で送信されたメールを無限ループさせない メールが届かなくなったメンバーへの送信停止 2001/01/27
権利の管理 公開グループ 非公開グループ 受け取り専用グループ 公開グループ(誰でも投稿できる) 投稿には承認が不要 メッセージはメンバーのみ閲覧ができる メールマガジン/お知らせ専用グループ 管理者だけがメンバーに送信できる 2001/01/27
ファイルの配布と共有 WWW:ファイルをサーバに置いてみんながアクセス ファイルの受信が簡単になった ファイルの送信は簡単ではない eGroupsの共有フォルダ サーバへのファイルの送信が簡単になる 電子メールの添付ファイルよりも安全で確実 問題はバージョン管理 2001/01/27
バージョンとは バージョン: ファイルやシステムに改良や追加した場合に そのことを「世代」によって区別すること バージョン番号: 改良するごとに数字が大きくなる「世代番号」 バージョン管理: 修正や変更の内容や目的を履歴として残すこと 2001/01/27
人手でバージョン管理をすると 名前を変えて最新版とは区別して保存する 日付や通し番号をファイル名につけて保存する スペースの無駄 いつどこを変えたか調べるのが大変 2001/01/27
バージョン管理はどう役立つか バグを見つけるときに役立つ パッチを簡単に作成するしくみを提供する 以前のバージョンに簡単に戻すことができる 変更の統合を簡単にする グループ作業を簡単にする 2001/01/27
ファイルの整理術 管理したくなるバージョンを作る よい習慣 名前をつけて集中管理しよう 安定したファイル名やフォルダ名 置き場と置き方を決める 他の場所に他の置き方をしない 2001/01/27
「編集」情報の管理と共有 テキストファイルは行単位で編集される ファイルそのものではなく、 「どこをどう書き換えたか」という編集情報を表現したい こまめに書き換えるファイル、 大勢が並行して書き換えるファイルを効率よく管理 バージョン管理システムの基本思想 2001/01/27
テキストファイルの差分 古いファイル 新しいファイル 差分(diff) 古いファイル 差分ファイル マージ(patch) 新しいファイル 2001/01/27
CVS=並行バージョンシステム 1.1 1.1 1.1 1.1+変更B 1.1+変更A 1.2 1.2 1.2+変更B 1.3 1.3 リポジトリ=貯蔵庫 作業ファイル 作業ファイル 2001/01/27
散らばるファイルを片づける ロッキング方式: 情報を大勢で共有しつつ、バックアップも取りつつ 同時に一人しか使えないようにする 誰かが編集しているあいだ、他の人はロックが 解除されるまで待たなくてはならない コピー・マージ方式: 誰でも何回でも取り出せる 変更を登録する権利は先着順 先を越された人は、前の人の変更を まず取り込まなくてはならない 2001/01/27
コピー・マージ方式=CVS 誰もが手軽に最新バージョンを取り出して改良できる 並行して行われた他人の改良も取り込める 自分の改良を登録(コミット)するときだけ みんなに報告・相談すればよい 大規模なソフトウェアを何人かで分担して開発 インターネットを通じて不特定多数の人が協力 オープンソースソフトウェアの開発 複数人でのウェブサイトの執筆 2001/01/27
サーバ・クライアントとピアツーピア サーバ・クライアント eGroups : すべてサーバ経由で作業する CVS: 普段はクライアントで作業、 ときどきサーバにつなぐ ピアツーピア サーバがいらない あるいは、どこにあるのかわからない オンライン対戦ゲーム Groove 2001/01/27
共有情報の編集とは 編集とはそれ自身が価値創造プロセスである 編纂=コンパイル:機械的作業 編集=エディット:連想と要約を伴う創造的作業 編集とは人生のコストである ソフトウェアの時代 素材を生み出すコストの低減 素材を編集するコストの比率が増大、軽視されがち 編集しなくてすむことは編集しない 2001/01/27