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