2006年11月29日水曜日

メール誕生25周年記念 Eric Allman 来日セミナー&レセプション

21日にメール誕生25周年記念Eric Allman来日セミナーに行ってきたので、そのメモ。

同じ日に第5回インターナショナルGPLv3カンファレンスがあったので、Stallmanの話しを聞き終わったところで秋葉原から大手町に急いで移動して参加。なんでこういう会が重なるかなぁ。

会場にはEric Allmanの人生のパートナーであるMarshall Kirk McKusickも来ていた。昔BSD magazineでインタビューしたときに比べて、痩せていたし、年をとったように見えた。McKusickの横にいた若い白人の男の子は、彼らの養子かな?

講演は、年代順にメールに関わるトピックをあげて説明していくというもの。残念ながらSendmail社のサイトには講演の資料が公開されていないみたいだ。しかし、Eric Allman早口すぎ。同時通訳がまったくおいついていけなかった。この日も片耳で英語、片耳で同時通訳の日本語を聞いていたので、頭の中大混乱。;-(

以下、役に立たないメモ。

・sendmail以外にもいろいろなプロジェクトや研究に関わっていた。Syslog、Trek(ゲームだ!)、INGRES、RDBMS、ニューラルネットワーク、etc

・1969年9月2日:Arpanetの最初のノードができた。UCLAの1台のホスト。

・1971年後半:最初のメールが送付された。同年、UNIX 1.0リリース。

・1974年:Delibermail、エリック・シュミットが作ったもの。

・1978年:最初のスパムメールが送信された。DECの人間が新製品について告知したもの。後にこのメールを送った人間は謝罪した。

・1981年:ビル・ジョイに言われてsendmailを作る。当時、ビル・ジョイとは怒鳴り合ったりしていたとか。

・1982年:4.1BSDとともにsendmailをリリース。RFC821, 822がパブリッシュされた。

・1983年:4.2BSD

・1987年:UUNETが設立された。初の商業プロバイダ。

・1988年:初のインターネットワームが現れた。

・1988年:Make Money Fastチェインメールが現れた。Good Timesウィルス、初のメール添付ウィルス。


・1989年:Tim Berners-LeeがWWWを提案。

・1991年:CIX

・1992年:MIME

・1993年:Mosaicリリース。Berkeleyに戻り、sendmail 8.0をリリース。

・1994年:Netscape設立。グリーンカードスパムが現れた。意図的かつ謝罪せず。

・1995年:sendmail consortium設立。S/MIME

・1996年:Hotmail

・1997年:Yahoo!

・1998年:Sendmail Inc.設立

・1999年:Melissaウィルス

・2000年:USA政府、暗号化規制の緩和。milter、メールフィルター。

・2001年:Postfix。とてもよい技術だと思う。ただ、まだ足りない部分が多く、sendmailのライバルではない。

・2003年:Yahoo! Domain key

・2004年:Microsoft Sender ID、DKIM

・sendmail.cfがなぜあんなに複雑になってしまったのか? という質問に答えて。
 sendmail.cfが複雑になってきて、まずいなと思ったとき、sendmailは20台くらいのマシンで動いていた。これを全部アップデートするのはめんどうだったので、そのままにしておいた。



2006年11月27日月曜日

第5回インターナショナルGPLv3カンファレンス

21日、22日の二日間、GPLv3のカンファレンスに参加してきた。

第5回インターナショナルGPLv3カンファレンス

参加する前は、GPLv3について法律的な議論をガンガンやる会議だと思っていたので、参加するべきかどうか迷っていたのだが、参加してみたらそういうものではなかった。ちょっと拍子抜けというか、もともとそのようなものではなかったらしい。もっと気軽にGPLv3も含めてフリーソフトウェアについて話し合う場ということだ。

下記にメモをあげておく。ただし、片耳で英語の発表を聞きつつ、片耳で同時通訳の日本語を聞くという離れ業(?)をやっていたので誤解もあるはず。上記サイトに資料もアップロードされているので、そちらを見てほしい。

Opening Remarks: "Device for Software Freedom"(g新部裕)

・g新部さんが英語で発表するのを聞くのは初めてだ。とっても新鮮。
・GPLv3.fsf.orgのサイトはZope/Ploneで作られている。
・産総研内で、自由ソフトウェア武門というのをやっている。英語では、Free Software Fiters Group?
・日本のハッカーの数は、3000〜5000ぐらい(SourceForge.jpからの推測)。
・自分の興味はアプリケーションレイヤーから始まって、どんどん下へ下へと下がっていっている。
・ハードウェアにおけるフリーソフトウェアを提案したい。
・ハードウェアにおけるハッピーハッキング!

GPLv3 and Free Software Movement in Europe(Georg Greve)

・ヨーロッパでは政府関係などでのフリーソフトウェアの採用が増えている。
・ヨーロッパで最も裕福な町の1つであるミュンヘンでもフリーソフトウェアへの移行が進んでいる。
・ミュンヘンの市長とビル・ゲイツの会話

 市長「私たちにとって、これは独立するということなんです。」
 ビル「いったい誰から独立したいのですか?」
 市長「あなたからですよ。」

・ドイツの裁判所でGPLv2(英語)が認められた。この意義は大きい。
・ヨーロッパは大きくて強力なフリーソフトウェアのコミュニティを持っている。
・FSFE(Free Software Foundation Europe)は六人を専任で、二人をパートタイムで雇っている。
・現在、GPLv3の専門家の育生をしようとしている。
・Freedom Task Force(FTF)を作った。ライセンスの教育、ライセンスの普及が目的。
・フリーソフトウェアは大きな変化の時期にきている。

GPLv3 Update: FDL, SFDL and forthcoming draft3 of GPLv3(Richard M. Stallman)

・GPLv3では国際化を進めた。多くの国の弁護士と一緒に仕事をした。
・distributionという言葉を使うのをやめ、propagete、conveyという言葉を使うようにした。
・GPLv3はApacheライセンス、Eclipseライセンスと互換性があるので、これらと統合できる。
・Tivoでは、GPLv2に従ってLinuxのソースコードが公開されているがハードウェアが変更されたカーネルの起動を許さないため、実質的にソフトウェアの変更ができなくなっている。
・Tivoのようなものを「裏切りのコンピューティング」と呼ぶ→コンピュータは普遍的にプログラム可能なマシンでなければならない。
・ある研究によるとLinuxカーネルは287の特許違反をおかしている。
・GPLv3にはMozillaライセンスをもとにした特許ライセンスが含まれている。
・GPLv3への移行期間などはない。GPLv3とGPLv2は混在して使用されるだろう。
・会場からOpen Sourceライセンスとの互換性についての質問がでるや、すかさず、
 「Open Sourceにはなんの興味も無い。私と話しがしたければFree Softwareについて語ってくれ。」
 と。Stallman節炸裂。Stallman元気だなぁ。さらに、
 「Open Sourceはソフトウェアの開発技法にすぎない。Free Softwareは社会運動だ。」
 と、いつもの主張も忘れずに。

1日目は、Stallmanの話しを聞いたところで別会場で行われたメール誕生25周年記念のEric Allmanの講演を聞く為に会場を後にした。
2日目は午前中は会社で仕事。午後に行われたパネルディスカッション2つを聞いた。以下、2日目のメモ。

GPLv3 and Free Software Activities in Japan(鵜飼文敏、 まつもとゆきひろ、 岡村久道、 鈴木裕信)

・まつもとさんのパネル
 RubyはArtistic-likeとGPLv2のデュアルライセンス。
 正直、ライセンスのことはあまり考えたくない。シンプルでわかりやすいものがよい。
 今はBSD Styleライセンスにしておけばよかったと思っている。
 DRM、ソフトウェア特許、Webサービスの問題をライセンスで解決するのは難しい。ライセンス以外の方法で解決すべきだろう。

・岡村さんのパネル(難しいので、あまりメモしなかった)
 GPLv3では、アメリカにはない著作者人格権についての配慮が必要か。
 GPLv3は大学院で著作権を教えている人間にとっても難しい。素人が理解するのは困難。

・裕信さんのパネル
 アメリカでの著作権はもともとアイデアを広く広めるために作られた。
 しかし、本来の目的を忘れ、よくない方向に変化してきている。
 Digital Millennium Copyright Act(DMCA)は大問題
 DRMの問題。第三者がコントロールしてしまうため、我々は何もできなくなってしまう。
 DRM = Tech + Law
 Digital Gianism

Free Software and Embedded System(野首貴嗣、 竹岡尚三、 佐藤嘉則、 神田雅透)

・このセッション、あまりメモしてない。唯一メモしたのが、竹岡さんの発言。
 ハリウッドの会社は、データバスからデータをリッピングされてしまうのでデータバス上を流れるデータを暗号化してほしいと言っている。



2006年11月9日木曜日

プロジェクトファシリテーション

10月19日にjusの勉強会「現場力を高める見える化手法 プロジェクトファシリテーション」に参加してきた。

http://www.jus.or.jp/benkyokai/06-10.html

ずいぶん日にちがたってしまったが、メモをまとめておこう。

講師は株式会社永和システムマネジメント/株式会社チェンジビジョンの平鍋健児さん。

株式会社永和システムマネジメント

株式会社チェンジビジョン
オブジェクト倶楽部
平鍋さんのブログ:An Agile Way

平鍋さんは、マインドマップとUMLを融合させたJUDEというJavaの開発ツールを作っている。JUDEには以前から注目していたので、今回の勉強会は楽しみだった。講演は期待以上におもしろかったし、懇親会では平鍋さんといろいろ話せてよかった。

以下、講演のメモ。

なぜ見える化か?

・プロジェクトの成功はMoving Target
・ゆれるはしごに乗ってゆれるリンゴをつかむようなもの
・見えなければ制御できない。適応できない。改善できない。

見える化

・情報がぱっとわかる
・「現在の状況」も「結果」もわかる
・野球のスコアボード:静の情報が1カ所に大きく書かれていて、選手も客も審判もこれを見ている

見える化の実践

・見える化はアナログでやる
・みんなが見る

バーンダウンチャート

・進捗の見える化
・行動をうながすツール
・異常を見えるようにする→レッドゾーンを作る
・1週間ごとに作る
・繰り返しのリズムを作る

かんばん

・作業の見える化
・やることをリストアップ(ボードに付箋を貼る)
・ToDo(未実施)、Doing(実施中)、Done(テスト完)の3列に分けて管理する
・自分で付箋を取ってサインする→モチベーションがあがる。責任感、コミット
・ポータブルかんばんも便利(スーツにもベストフィット!)
・ソフトウェア開発は目で見にくい→物理的な物に置き換えて見えるようにする

朝会

・作業の明確化
・毎朝やる、リズムを作る
・かんばんの前で行う
・立ったままでやる
・時間は15分間
・議論が起きたら2次会へ回す
・部外者は参加させない(ピッグは参加、チキンは参加させない)
・ピッグ:自分の身を削ってベーコンを作る
・チキン:自分の身は削らず、卵を出すだけ
http://www.ObjectClub.jp/community/pf/

あんどん

・異常の見える化
・異常を後に伝えない。その場で止める。
・欠陥の長期滞在を排除
・トヨタのやり方
・全受け入れテストを自動化し、バッチで流す。異常があれば即表示、原因追及。
・例:テストが通らないと点灯するランプ
・例:トラブルが起きると点滅、トラブルの内容をメンバーに周知すると点灯、トラブルを解決すると消灯
・このような道具をXFD(eXtreme Feed Device)と呼ぶ

だるま

・目標の見える化
・だるまの目は、beginとend

ペアボード

・ペアの討議内容の見える化
・小型のホワイトボード、1人1枚ずつ持つ
・「これはお前の問題だろう」を避ける
・2人でホワイトボードに書かれた問題に向かう(問題vs.私たち)
・100円ショップでホワイトボードのシールを売っている

色付きUML

・ソフトウェア内部構造の見える化
・UMLでなくてもよい
・ソフトウェアの全体構造がわかるものを壁に貼る
・指で指せるようにする
・日本でUMLを使っているのは10%くらい

ふりかえり(1週間)

・1週間の最後にやる
・改善の気づき
・Keep(良い点)、Problem(悪い点)、Try(次回挑戦)を出す
・ホワイトボードをKeep、Problem、Tryに3分割して行う
・Keepは定着する。ProblemはTryを生み出す
・定着した物には名前を付ける
・カジュアルな雰囲気で全員が発言するようにする
・「問題vs.私たち」にする。あなたと私の話にしちゃだめ
・イテレーション=1週間

ふりかえり(プロジェクトやリリース後)

・プロジェクトやリリースの回顧
・ふりかって前を向く
・ホワイトボードにプロジェクトの時間(日付)を書き、ここに個人の物語を付箋に書いて貼る
・付箋の色で感情を表す。青=喜び、赤=怒り、黄=驚き
・自分の物語からぼくらの物語にする
・プロジェクト終了後のヒーリング
・このあと打ち上げをやる。飲み会重要!

マインドマップ

・頭の中の見える化
・思い出す為のフックになる。プレイバック効果

KY(危険予知)ミーティング

・時間がなかったので、このトピックは話してもらえなかった
・建設/土木現場で行われるリスク管理手法

SKMS(Structured Knowledge Management System)

・これも上記同様、話してもらえなかった
・複数人の頭の中を一気にまとめる

にこにこカレンダー

・チームのムードを見える化
・帰宅時の気分をシールで表して貼って帰る
・気持ちよく仕事を終えられた、普通、だめだめ、の3種類

見えなければ行動ができない

・とにかく壁に貼れ
・進捗はバーンダウンで
・日々の作業はかんばんで
・朝会を行い、作業を自発的に宣言
・異常はあんどんで
・見える目標をおいて
・ペアボードで話し合い
・アーキテクチャは色付きUMLで
・イテレーションごとにふりかえり
・アイデアはマインドマップで
・リスク管理はKYミーティングで
・複数人のナレッジをSKMSで

プロジェクトファシリテーションとは

・平鍋さんの造語
・プロジェクトの中でのファシリテーションのあり方
・ファシリテーションとは、促進する、助ける、円滑にする、場を作る
・5つの原則:見える化、リズム、名前付け、問題vs.私たちの構図、改善

デッドフィッシュ:デスマーチになると会議をやっている真ん中に死んだ魚がいるのに、だれもその魚について話さなくなる。腐ってプンプン臭っているのに! →話せ!

トラックナンバー:プロジェクトのメンバーが何人トラックに轢かれてもだいじょうぶか? という数。ハネムーンナンバーとも言う。

ツール

・JUDE(http://jude.change-vision.com/
・TRICHORD(http://trichord.change-vision.com/

導入のポイント

・簡単なものからやってみる
・工夫する
・押し付けない
・若い人と一緒にやる
・ポストイットや模造紙くらい自分で買おう
・Life Hacks
・水にぬれずに泳ぐことはできない
・禅:修行と悟りは同じ
・やることとわかることは同時に起こる

参考文献

・『トヨタ生産方式 ——脱規模の経営をめざして』大野 耐一
・『XPエクストリーム・プログラミング入門 ——変化を受け入れる』ケント・ベック
・『リーンソフトウェア開発 ——アジャイル開発を実践する22の方法』メアリー・ポッペンディーク
・"Crystal Clear: A human-powered  Methodology  For  Small  Teams" Alistair Cockburn
・『アジャイルプロジェクトマネジメント ——最高のチームづくりと革新的な製品の法則』ジム・ハイスミス
・『達人プログラマー ——システム開発の職人から名匠への道』デビッド・トーマスほか