提供者:		Andrew Tridgell and the Samba Team
日付:		June 27, 1997
状態:		つねに時代遅れ! (それ以外の何者でもない!)

表題:		A bit of history and a bit of fun
翻訳者:		三浦広志
============================================================================

これは、このプロジェクトの短くまとめた歴史である。それは新しいユーザー
が、このプロジェクトがどこからやってきたか、そしてどこへ行こうとしてい
るのかを感じとることができるほどには、十分に包括的であるとは言えないし
ろものである。

すべては1991年の12月に始まった。わたしは、オーストラリアのキャンベラに
あるオーストラリア国立大学のコンピュータ科学研究所のPhDの学生だった(そ
していまもそうだ(*1))。わたしはDigital(*2)のeXecursion(*3)のβ版を入手
していた。そして、自分のPCでそれをテストしていた。このとき、わたしは
MSDOSのユーザでWindowsと戯れていた。

(*1) 1997年6月現在の話しであり、彼は2000年現在VA Linux社でSambaの開発
に専心している。
(*2) デジタル イクイップメント社 汎用機全盛の時代にミニコンで一世を風
靡したが、1998年Compaqに買収された。
(*3) 旅行と言う名のソフトウエア だれかおしえて! 多分X Emulationサーバ
のようなものだろうか。

eXcursion は、(当時) DecのDOSむけ「Pathworks」ネットワークでしか動かな
かった。わたしは、それまでPC-NFSををつかって、ローカルにあるsunワーク
ステーションに接続していた。そして、かなりそれに満足していた。
pathworksを働かせるためには、PC-NFSを使うことをやめ、pathworksを使って
ディスク領域をマウントすることが必要だった。運の悪いことにpathworksは
VMSか、Ultrixの動いているdigitalワークステーションでしか動かなかった。
そして、pathworksを使っている間は、もうsunワークステーションに接続する
ことができなかった。

わたしは、管理していたUltrixの動作しているDECステーション3100にアクセ
スした。そして、わたしは狂った考えを持ったのだ。そう、pathworksが
ultrixと通信するために使っているプロトコルは、そんなに難しくないだろう、
そしてたぶん、自分がうまく動かしてやれるだろう、と。わたしは、ネットワー
クプログラムをそれ以前に書いたことはなく、そして本当にソケット(*4)とは
何かさえもしらなかったのだ。

(*4) Socket: BSD, カリフォルニア大学バークレイ校のUnixバージョンで導入
   されたネットワークAPIのこと。現在のネットワークプログラミングでは
   事実上の標準となっている。Windowsでは、これを参考にWinsockという
   インターフェースが考案されている。

それから数日間、ソケットによるコードの例を探したのち、ファイル共有プロ
トコルを「スパイ」するプログラムを書くのは、まあまあ簡単であることがわ
かった。わたしは、このプログラムを書き、インストールした。(sockspy.cプ
ログラムは、このパッケージとともに配布されている)そして、pathworksクラ
イアントがpathworksサーバへ通信している内容のすべてをキャプチャーした
のだ。

わたしは、そして(DOSでうごくTurbo Cをつかって)短いCプログラムを書こう
とした。それは、ネットワークドライブ上で(open, read, cd etc)の単純なファ
イルオペレーションをするものだった。そして、サーバとクライアント間のパ
ケットを観察した。この実験から、どんなパケット中のバイト列が何を意味し
ているかを解き明かし、同じことをsunで行なうための自分のプログラムを書
き始めた。

一日かそこらの後、私ははじめて具体的にコネクションを張り、ファイルを読
むことに成功した。それからはとんとん拍子で、一週間後には私は幸せにも
(まぁ、若干信頼性に欠るところはあったが)、pathwork が動いている PC か
ら sun のディスク領域をマウントすることに成功していた。
サーバーのコードは、たくさんの `マジックナンバー' が埋め込まれていた。
それらの値は ultrix サーバーでは常に正しいように思われた。それらの値の
意味がすべて判ったのは2年後のことだった。

いずれにせよ、他の人がわたしのやったことに興味を持つだろうと考えたので、
わたしは大学にいる人に聞いてみたけれども、だれもそれほど興味を示さな
かった。わたしは、CanberraのDigitalの人(eXcursionのβテストを行なって
いた人物であるが)にも話しをして、この私の作成したソフトウエアを配布し
て良いか、それとも違法であるか聞いた。このときに始めて、"Netbios"とい
う言葉を耳にしたのだった。そのとき、彼がわたしに、これはその規格
(netbios規格)でカバーしされており、したがってわたしのやったことが適法
だというだけでなく、ばかげていると思うと言ったのだった。

私は、すこし周りの人に聞いて回った後、netbios 規格(RFC1001 と 
RFC1002)を見つけたが、それは私が書いたものとまるで似ていなかった。そこ
で、わたしは Dec の人の方が間違っているに違いないと考えた。実際には 
RFC は「TCP/IP 上での名前のネゴシエーションとパケットのカプセル化」を
参照していて、私が作ったのは SMB の実装だ、ということに気が付かなかっ
たのだ。

でも、かれは、わたしがそれをリリースすることを応援してくれて、"Server
0.1"として、1992年1月にそれを公開した。pathworksをほかのdigitalでない
Unixワークステーションで使いたがった人々から、わたしはかなりいい反応を
得ることができた。すぐに、いくつかのバグを修正し、"Server 0.5"をリリー
スした。 そして、すぐに"Server 1.0"をリリースした。これら3つのリリース
はすべて一カ月の間をあけて行なわれた。

このとき、わたしはX Terminalを入手して、自分のデスクにおいた。そして、
もうeXcursionを必要としないために、このプロジェクトについて、何人かの
人からときおりメールをもらうことを除き、しばらくの間忘れていた。だいた
い2年のあいだ、新しいバージョンとバグを問い合わせるメールを受けとるこ
とで過ぎていった。自分はもう使っていないのでコードの面倒をみるボランティ
アを募りたいといったメモを、ftp siteに追加しさえした。でも、だれもボラ
ンティアとして名乗りあげなかった。

この間に、わたしのコードがLanmanager(*5)で使えるようにすべきであると
指摘する一部の人からメールをもらったが、わたしは明確な確認はしていな
かった。

しかしながら、ある日受けとったコードに言及する一つのe-mailが印象に
残った。それは、南オーストラリア大学のDan Shearerからのメールである。
かれはこのように書いていた。

	わたしは、Linuxのメーリングリストで、Unix用free Pathworksサー
	バについて、ヒントをもらった。ちょとしたchasing(と、そして
	Linuxな人々からのたくさんの興味ふかいフォロー記事)の結果、わ
	たしは、92年1月にあなたの投稿したニュースリリースを、イギリスに
	すむある人から得ることができた。

	それで、最終の状態はどうなっているか教えてもらえないでしょうか?
	わたしは、少なくともLinux界の本当にたくさんの興味深いハッカーが
	いることを知ってほしい。そしてそこではものごとが素早く進む傾向が
	ある場所であって、(さらにいくつかのいいコードが書かれている。BION!)

わたしは、かれに、Linuxとは何なのかをたずねた。そしてかれはわたしにPC用
のfree Unixであることを教えてくれた。これは、1992年の11月のことである。
そして数カ月の後、Linux convertしたのだ! しかしやっぱりわたしは、pathworks
サーバは必要ではなかったので、portはわたしがやらずに、Danが行うものと
おもった。

だいたいこのときに、わたしはDigitalから電子メールを受けとった。それは、
Alphaソフトウエアの配布を行なっている人物からであった。かれは、Digitalが
わたしのサーバを"contributed" cd-romにいれて配布して良いかと聞いたのだ。
これは、わたしにとってちょっとショックであった。それまで、Decがわたしに
私のコードを使ってよいかと聞いてくる!など、考えもしなかったからだ。
わたしは、OKと答えるメールを送り返した。しかし、彼から再びメールは来な
かった。わたしは、cd-romにのって配布されたかどうかはしらない。

まあ、しかしつぎの大きなイベントは、1993年の12月におこった。Danが再び
わたしに電子メールをよこした。わたしのサーバソフトが(ネットニュースの)
comp.protocols.tcpip.ibmpcに、"raised it ugly head"をとったというのだ。
わたしは、いそいで、ネットニュースグループを見てみた。そして、そこに
このことに多くの興味をもつ人々がいるのをみて驚いた。

このころわたしの通うコンピューターセンターはわたしに何枚かの安いイーサ
ネットカードを頒布した(一枚$15の3c505だ)。そして、だれかがちょうど良く
Linux用のドライバを書いたとLinuxチャンネルにアナウンスしていた。そこで、
わたしはカードを購入し、ドライバーをすこしハックし、わたしの家の妻のPCと
Linux boxをつなぐホームネットワークをセットアップした。
わたしは、どうにかして2台をつながなくてはならなかったが、家でPC-NFSを
持ってはいなかった。そこで、わたしのサーバが使えるのではないかと考え
たのだ。ニュースグループでは、わたしのサーバについての議論にまじって、
だれかがマイクロソフトがftpサイトにおいているという、わたしのサーバ
ソフトと組み合わせて動くらしい無料のクライアントがあるという話しをして
いた。わたしは、ダウンロードを行ない、そしてわたしの「pathworks」サー
バを、そのクライアントとともにはじめて驚きとともに動かしたのだ。

さあ、わたしはちょっとしたハッキングをして、ちょっとしらべ、わたしが必
要な規格はSMBプロトコルであり、そして、ftpで入手可能であると発見した。
(Danから教えてもらったとおもう) わたしは、それを取り寄せ、コードにうず
め込まれた醜い定数の類を排除し始めた。そして、いまこれらの定数は、明ら
かな意味をもっておかれている。

1993年12月1日、わたしは"Netbios for Unix"プロジェクトの開始をアナウン
スした。これまでの数年間、わたしにサーバについて問い合わせた人たちをい
れて、メーリングリストを開始した。

約35のバージョン(そして2カ月)のあと、わたしはプロジェクトの短い歴史を
書いた。それが、あなたが読んでいる文書である。いま、100人をこえる人が
メーリングリストにおり、多くの人々がコードを使って気に入ったというレ
ポートをおくってくれている。この数日のうちに、わたしはバージョン1.6の
リリースをいくつかの人気のある(そして関係のある)ニュースグループにア
ナウンスするつもりだ。


Andrew Tridgell
6th February 1994

---------------------
1995年5月現在、1400人がメーリングリストに参加している。
ダウンロードをメインのSamba FTP サイトからのダウンロードでは
2カ月の間に、大体5000のホストから行なわれている。いくつかのミラーサイト
も同等である。現在のバージョンは、1.9.13である。
---------------------


---------------------
1996年3月現在、バージョンは1.9.16alpha1がちょうどリリースされたところだ。
最近になり、マスターブラウザーサポートとドメインログオンを可能にするなど
多くのところで変更があった。SambaはOS/2や、amiga, NetwareといったOSにも
移植されている。3000人がSambaメーリングリストに参加している。
---------------------


---------------------
1997年の7月現在、samba-1.9.17がもうすぐ出る予定だ。なんと多くの時間が
過ぎ去っただろうか。更新された新しい機能については、ぜひWHATSNEW.txtを
参照してほしい。
あなたが、何がおこっているのか理解しようとおもっているまさにそのとき、
地上のルールがかわりつるある。 --- 結局それが現実なのだ。
1996年3月興奮の日から、コミュニティの力でSMB プロトコルをドキュメント
化し、標準化する協力的な努力があった。CIFSイニシアチブは、より高い理解
と、より互換性の高い環境にむかって、長く助けてくれていた。Samba Teamは
人数も増え、標準化と文書化のプロセスにおいて、非常に活発な活動を続けて
いる。

インターネットの影響は、わたしたちが多くの仕事を、新しい機能とSMBプロ
トコルへの互換性を詰め込みSambaをインターネット回線へと送り出す形で現
れていた。

昨年は生産的な年で、つぎのリリースを送り出した。
	1.9.16, 1.9.16p2, 1.9.16p6, 1.9.16p9, 1.9.16p10, 1.9.16p11

1.9.15p8 が最良のリリースだと信じる者もいれば、最新のもの以外は欲しが
らないものもいる。あなたがどう信じていようと、1.9.17 が諸君らの考えの
違いを埋め、全員を満足させ、長きに渡って待たされ、どんどん生じていった
変更がその価値のあるものだった、と思ってくれると良いと我々は願っている。
ここに提供されている機能と成熟されたコードは…、あぁ、それは諸君が判断
することだ。

Happy SMB networking!
Samba Team

ps: バグはわれわれの物だ。見つけたものはなんでもおくってほしい。
---------------------

---------------------
1998年10月現在、我々は、サンノゼの第3回CIFSコンファレンスから戻ってきた
ばかりだ。Sambaチームはそこでのもっとも大きな代表団であった。

Samba 2.0は、つづく数週間のうちには、出荷を開始しなければならない。
このバージョンは、よりよいドメインコントローラのサポート、GUIの設定
ツール、そして新しいユーザスペースSMBファイルシステムと、たくさんの
いけてる機能が含まれることになる。わたしはまた、DejaNewsにおけるSamba
に言及した求人情報が3900にまで増えていることに気がついた。われわれは
小さな産業を作ったようだ。

わたしは、Sambaの名前の由来を再度聞かれていた。わたしは、読者みんな
のためにここに書いておいた方がいいだろう。Sambaのコードは、最初
単に"server"と呼ばれていた。そして、プロトコルがSMBと呼ばれている
ことを知って、"smbserver"に改名した。そして、1994年4月、私は、
商用のSMBサーバである"TotalNet advanced Server"のメーカーであるSyntax
からの電子メールを受けとった。かれらはわたしに、SMBserverは商標であ
るため、名前を変更するよう求めていた。そこで、わたしはS, M, Bを含む
語句をegrepをつかって、/usr/dict/wordsに対して検索し、そして、Sambaが、
一番いい名前であるように思えたのだ。不思議なことにいま、繰り返してみ
るとわたしのシステムの/usr/dict/wordsには、Sambaの語がないことに気が
ついた!
---------------------
