技術系アドベントカレンダーの歴史に思うこと
この記事は pyspa Advent Calendar 2024 の14日目の記事です。この記事で言いたいことを先にまとめると以下になります。
- 日本の技術系アドベントカレンダー文化は独自の進化を遂げている
- エンジニアに限らない広がりも見せている
- 良い文化だし長く続いて欲しいと思う
- 元の文化への敬意を忘れてはいけない
- 宗教色があるものだし、少なくともアドベント期間外に拡張しない方が良いと私は思う
- 長くこの文化を楽しむためにも
技術系以外のトピックでもアドベントカレンダーが作られることがありますが、この記事では便宜上それらも含めて技術系アドベントカレンダーと呼称します。
技術系アドベントカレンダー
日本の主に技術系のインターネット界隈では毎年12月になると、技術系アドベントカレンダーというムーブメントが発生します。ある技術トピックに対して、12月1日から25日まで複数人が持ち回りでブログを書くというのが基本的なスタイルです。
ニッチなトピックに対して一人でがんばって全部書くスタイル、技術以外のトピックのカレンダー、企業単位で社員持ち回りで書くなど、様々な派生を見せています。私が所属している株式会社ヘンリーも去年、今年と実施しています。
これは、お互い背中を押し合って、普段ブログをなかなか書く機会がない人がブログを書く機会になったり、結果として多くの有用なコンテンツがインターネットに放流されたりするので、良いイベントで、長く続いて欲しいと願っています。
技術系アドベントカレンダーの歴史はこれまでも多くの場所で語られていますが、今後この文化を長く続けるためにも歴史を知っておくことは有用だと思うので、改めて歴史をひも解きます。
原義の物理アドベントカレンダー
そもそもアドベント(待降節・降臨節)とは、11月末からクリスマスイブにかけて、キリストの降誕を待ち望む期間のことと日本語のWikipediaに書かれています。
そして、アドベントカレンダーとは、その期間に使う、ビンゴ的UIの日めくりカレンダー的アイテムです。それぞれの日付の扉を開けると、絵や聖書の一節、お菓子などが現れる仕組みです。カレンダーの開始日はその年のアドベントの始まりの日もしくはシンプルに12月1日、終了日は12月24日か25日のようです。これも、英語版のWikipediaに書かれていました。
つまり、降臨を待ち望む期間の日めくりのカウントダウンカレンダー的なアイテムであり、特に子供向けで毎日小さなお菓子が出てくるものが良く知られています。日本でも近年はカルディなどおしゃれな輸入食品を扱うようなお店で見られるようになりました。
つまり、そもそもは宗教的な催しでありアイテムなのです。
技術系アドベントカレンダーの萌芽
このアドベントカレンダーをモチーフに2000年に作られたのが、英語のPerl Advent Calendarです。これが恐らく技術系アドベントカレンダーの発祥です。2000年から始まったこの本家アドベントカレンダーがまだ今年まで存続しており、アーカイブも残っていることに感動を覚えます。
2000年から2004年にかけては、創始者のMark Fowler氏個人によるPerlモジュール紹介リレー形式になっていました。そして、彼が当初書いたAboutページがまだ残っており、その冒頭が奮っています。
This goes along way to proving what I always say: I come up with the best ideas when I'm hung over.
-- https://perladvent.org/2000/about.html
訳すと「これは私が常々言っていることを証明するものだが、二日酔いの時に最高のアイデアが浮かぶ。」と言った具合でしょうか。このページを読み進めると、London.pmの会合がその二日酔いの原因で、その勢いで翌日の昼休みにこのAdvent Calendarを作ったと書かれています。
それが、2024年まで継続していることは胸熱ですが、海外では他言語や技術コミュニティにその文化が輸出されることはあまりされていないようです。これは私の観測範囲の問題かも知れないのでご存知の方がいれば教えて下さい。
ちなみに私も2015年に "Perl and Redis" という記事を寄稿しました。お誘いのメールをいただいたときは大変嬉しかったので引き受けたことを覚えています。翌年も誘ってもらったのですが、それ以降残念ながら寄稿できていません。
日本への輸入
この技術アドベントカレンダーが日本のPerlコミュニティにより輸入されたのが2008年です。これも、ちゃんと当時のコンテンツが残っていて素晴らしいですね。
記念すべき初日の記事は定数の展開という記事で、サンプルコード含めて6行しかなく、何なら誰が書いたかすらも書かれていない、非常にシンプルなTipsの紹介記事です。
始まりの経緯はtokuhiromさんの技術的アドベントカレンダーの有用性についてという記事に残っています。初年度は前日にアップした人が翌日の人を指名しながら、バトンを繋いでいく形式で、必然的に5分でさくっと書けるようなtipsが集まっていたようです。確かに毎日ちょっとしたお菓子が食べられるという原義のアドベントカレンダーともコンセプトがマッチしています。
バトン形式で繋いでいく方式も緊張感はありますが、その分全日埋まることは期待されていなかったように感じます。逆に案外初年度がちゃんと埋まってしまったというところでしょう。上記の記事内の寿司奢る云々も多分ネタだったのではないでしょうか。
実際、その後のエントリー形式になった2012のHacker Trackの3日目で、gfxさんが体調不良により記事を落としています。
今では見られませんが、代理でgfxさんのアイコンがぐるぐる回るアニメーションが投稿され、コミュニティ内で楽しんでいたのを覚えています。当時はそういうゆるさがありました。
上で"Hacker Track"と書きましたが、2年目の2009年ではHacker TrackとCasual Track、その他2トラック合わせて合計4トラック構成になりました。
私もこの2009年のCasual Trackの15日目に「PerlでEmEditorマクロを書こう」という記事を初寄稿しています。Perlコミュニティに初めて参加できた喜びを感じたのを覚えています。
ちなみに、当時の記事投稿方法はCodeReposのSubversionリポジトリのコミット権をYappoさんから貰い、はてな記法で書いた記事をコミットするとサイトが更新されるという方式でした。
この記事のエントリのタイトルの通り、私は当時はWindows上のEmEditorでPerlを書いていました。しかし、TortoiseSVNで上手くCodeReposにコミットできず、焦って当日ヨドバシカメラにMacbookを買いに走り、セットアップして、なんとか記事のコミットに漕ぎ着けたことを覚えています。これが私にとっての初Macでした。これはもちろんWindowsやTortoiseSVNの問題ではなく、当時の私が何も分かっていなかったという笑い話です。
2010年は8トラック、2011年は9トラックとなり、この頃がPerlのアドベントカレンダーの最盛期と言えるでしょう。その後、独自サイトはやめて、2013年からはQiitaで記事を募る形をとっています。
独自進化と定着期
これが日本では他の技術コミュニティに速やかに横展開され、すでに2011年時点でかなりの数が実施されていることが以下の記事に記録されています。
また、2012年にエンジニア向けナレッジシェアサービスであるQiitaにアドベントカレンダー機能が追加され、同年に技術記事以外にも気軽に使えるアドベントカレンダープラットォームであるAdventarがリリースされたことにより、アドベントカレンダーの開催がとても簡単になりました。それが追い風となり、その後数えきれない程の技術系アドベントカレンダーが作られることになり、完全に独自の文化として定着して今に至ります。
今の技術系アドベントカレンダーは毎日ちょっとしたお菓子が出てくるというよりも、毎日ホールケーキが出てくるような様相を呈していますが、それも面白い変化です。ただ、力を抜いた昔のようなアドベントカレンダーもあっても良いと思っています。
上記2サービスは、日本の技術系アドベントカレンダーの発展に大きく寄与したと言えます。しかも、Adventarは @hokaccha さんの個人サービスです。彼はGitHub Sponsorを開けているのでご利用の方は是非スポンサーを検討してみてください。私は先程小額ですがスポンサーしました。
https://github.com/sponsors/hokaccha
文化の盗用への懸念
ここまで書いてきた通り、この技術系アドベントカレンダーは、元々宗教色のある物がアレンジされ、日本で独自発展しているものです。私はこれが文化の盗用(cultural appropriation)のような形で批判されないか少し心配しています。
私としては元々の文化が理解されて敬意が払われており、アドベント期間を有意義に過ごすためのアイデアというコンセプトを外さなければ問題無いと考えています。元々の本家の英語のPerlアドベントカレンダーがアドベント期間に開催されているように。
ただ、アドベント期間を外れているのにアドベントカレンダーを名乗るのは良くないと私は考えています。それは元の文化への理解に欠ける行為に感じるからです。
そういった一部の逸脱が行きすぎた結果、それが文化の盗用だという妥当な批判をされ「アドベントカレンダーという名前は適切じゃないからみんな使うのを止めよう」となってしまうかも知れません。それは、この文化が好きな私としては悲しいですし、そうなって欲しくありません。
この技術系アドベントカレンダー文化を長く楽しく続けるためにも、歴史や元のコンセプトの理解が大切だと思い、このエントリーをしたためた次第です。