昨年2015年にjp.freebsd.orgドメインの終焉に伴い地域技術コミュニティの役割というポエムを書いた。今年のはその続編である。こんなポエムを書くのも今年で最後にしたい。
51歳を越えたオッサンがPort maintainerをやる状況
今年2016年は初めてFreeBSDのPort maintainerになった。devel/git-lfsとjapanese/dbskkd-cdbの2つについてである。どちらも自分の仕事に必要だったが、前のmaintainerが作業をしないままか、あるいは他の事情でmaintainer不在の状態になったか、という事情からである1。
Port maintainerをやること自身には異存はない。日本にもTeXLiveのPortsを仕切っておられる佐藤広生先生など、そうそうたる人達がいるのは事実だし、そういう人達にはただただ頭が下がるのみである。
ただ、疑問に思うのは、51歳のオッサンがいまごろmaintainer??という状況である。そんな状態で、先が続くのだろうか。とりあえず当座の状況をしのぐために、自分が使うものはmaintainerになろうとは考えているが。
また、実質的にmaintainer不在のPort2は数多くあり、その中にはSKK関連のものなど、(少なくとも自分にとっては)ないとかなり困るであろうものが含まれている。こんな状態で、先が続くのだろうか3。
日本の状況を考えるのはもちろんだが、日本だけでなく世界のコミュニティの状況を考えないと、先細りになっていくのは回避できないのではないだろうか。そんなことを日々考えるようになってきている。そうなると、優先順位は、まずどうやって大元のdistributionにコミットしていくかというのが最優先事項になる。あとは手当たり次第に知識とコネを持っている人達に聞いて、維持のための作業を続けていくしかない。
こんな状態で、コミュニティを維持したまま世代交代ができるのかどうかは、はっきり言って心許なく思う。
現実には、一度すべてガラガラポンしてしまう以外にないのかもしれない。運用という側面からは、それでは困るのだけど。
アラン・ケイの警告
その昔のDr.DobbsのAlan KayのAndrew Binstockによるインタビュー記事でこんな言葉が語られていた4。
Binstock: You once referred to computing as pop culture.
Kay: It is. Complete pop culture. [...]
[...]
Kay: [...] pop culture holds a disdain for history. Pop culture is all about identity and feeling like you're participating. It has nothing to do with cooperation, the past or the future — it's living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from] [...]
要約すれば(文責はこの記事の筆者)
コンピューティングはポップカルチャーだ。ポップカルチャーは歴史を重んじない。自分がそのカルチャーの中で何者か、そしてどうやって参加してると実感できるかどうかがすべてなんだ。他者との協力とは関係ないし、未来や過去とも関係ない。ポップカルチャーは現在の中のみに生きているんだよ。カネのためにコード書いている人達の大部分にもこれはあてはまると思う。彼等はその文化がどこからやってきたとか考えたことがないんだ。
ということである。
簡単にいえば、コンピュータをやっている人達にとって、過去や未来のことはどうでもいいことなのであって、現在のテクノロジー、あるいは文化だけが大事だというわけだ。
残念ながら、このアラン・ケイの警告は、大いに当たっているんじゃないかと思わざるを得ない。この文章の前の節にも書いたが、維持できないとガラガラポン、つまり全部廃墟にしてやり直す、という方法をつい口にしたくなる。このこと自身が、コンピュータ屋が骨の髄までポップカルチャーに毒されているという、アラン・ケイの批判そのものであろうと思わないわけにはいかない。「運用でカバー」のデスマーチは皆避けたいし、技術的賠償責任5に皆苦しんでいるわけだけど、過去をガラガラポンしてリスク・ダンピングすれば済むという問題ではないのは否定できない事実だ。面倒なことを誰かに押しつけて逃げるのは問題の解決にはならない。ポップカルチャー的体質から脱却しない限り、ガラガラポンする人と「運用でカバー」する人の悲劇はなくならないような気がする。
そして新しかったシステムや言語にも高齢化の波はひたひたと迫っている
2008年から8年余りにわたってErlangの世界に顔を出しているが、そろそろErlangの最初の開発者だった人達が、現役を退こうとしている。細かいことはプライバシーに触れるので控えるが、そういう年齢に彼等がさしかかっているのは事実であり、すでに当時の開発リーダーは引退している。1980年代後半に開発が始まったErlangのような言語システムですらこの状況である6。BSDのようにもっと長い歴史を抱えているシステムでは、(寡聞にして詳細は知らないのだが)そろそろ多くのものが失われ始めつつあるのではないかと思っている。
失われる前に重要な史実や記録を残すことは大事だろう。ただそれと同時に、継承してくれる人達を探さなければならない。この世代交代という作業は、そんなに簡単にできるものではないし、強制してやってもらえるものでもない。仕事としてカネが出れば話は別かもしれないが。今後、企業や財団の後ろ盾のないコミュニティは、急速に衰退していくのではないだろうかと、個人的には憂慮している。カネ、時間、情熱のどれか一つが欠けても、コミュニティの運営はできなくなるだろうからだ。コミュニティに参加している人々の高齢化はこの3つすべてを奪っていく。
この手の話で最近衝撃的だったのは「Emacsは衰退しました」という記事である。Emacsのunexecの仕組みはいささか無理があったのは否定できないが、Linuxのglibcからそのためのシステムコールがすでに外れているというのは意外であった7。
アドベントカレンダー主催からの撤退
最後に唐突だが、アドベントカレンダー主催からの撤退宣言をしておく。
昨年2015年は、C言語とFreeBSDのアドベントカレンダーの作成者をやった。
そして今年2016年は、幸運にもC言語、FreeBSD、Erlangという3つのアドベントカレンダーの作成者をやらせていただいた。できるだけ記事が途切れないように、自分の持ちネタを最大限に出していったが、体力的な限界があることも悟らざるを得なかった。記事を書いていただいた方々には、最大限の敬意を表したい。でもそろそろ潮時のようだ。
アドベントカレンダー主催者の役は、今年2016年をもって全部降ります8。来年以降は、別の人達が主催してくれることを期待します9。
よいクリスマスを。そしてよいお年を。
注釈
-
詳細はプライバシーに触れるので控えるが、Portsのmaintainer本人の責に帰すべきではない事情もあるし、そもそも無報酬の作業である以上これは不可避だとも私は考えている。 ↩
-
Maintainerが
ports@freebsd.org
となっているPortをportsmonで検索してみるとわかる。 ↩ -
FreeBSDの日本語ツールに関していえば、11.0になってからのlocaleの扱いの変更など容易でない問題もあるし、UTF-8化すらされていないツールがまだ残っていることを考えると、先行きは厳しいかもしれない。そのへんの話はちょっとだけしてみている。 ↩
-
この記事への引用は大幅に編集している。興味のある人は元のインタビューを読んで欲しい。 ↩
-
Technical liabilityの意訳。技術的負債 (technical debt)という用語が流行っているが、これは実はliabilityだろうという記事があったのでそういう表現をしている。 ↩
-
Erlangにとって、Elixirという若い言語システムが2010年代からライバルとして台頭してきたことは、その意味では幸運だったのかもしれないと最近は思っている。 ↩
-
なお、この件についてはFreeBSD 11.0のamd64版から
sbrk()
がなくなったということの影響も出ていたが、私が2016年12月24日現在で確認した限りではPortsのeditors/emacs (25.1,3)もeditors/emacs-devel (25.2.50.20161001_1,2)もどちらもビルドできていたことを付記しておく。私は日常的にEmacsを使っていて、この件に関する問題は幸いにして2016年12月24日現在ではまだ体験していない。 ↩ -
記事は気が向いたら投稿します。 ↩
-
Qiitaからは記事の筆者に1週間前と3日前に催促が送られてくる。そしてQiitaのカレンダーランキングは12月1日〜25日までの全日継続していないとランキングに入ることができない。まあこれくらいやってもいいという意見もあるだろうし、ルールが決まっている以上はそれに従うだけなのだけど、シンドイのは事実である。Adventarのカレンダーぐらいがちょうどいいのかもしれない。 ↩