weblog of key_amb

主にIT関連の技術メモ

「Code for 青空文庫」アイデアソン #1 に参加してきました #aozorahack

f:id:key_amb:20150531080509j:plain

掲題の通り、「Code for 青空文庫」アイデアソン #1 というイベントに参加してきました。

イベント全容

午前中の進行は基本的に上記リンク先のタイムテーブルの通りで、青空文庫の運営側の方々から青空文庫の概要紹介や、システム構成などの説明がありました。

その後、昼休みを挟んで午後にアイデアソンが行われました。
イデアソンでは事前に呼びかけがあった通り「インフラ」「アプリ」「マネジメント・広報」の3つの分科会に分かれて、各分科会はそれぞれモデレータの方が進行を行いました。
その後、分科会内で更に3〜6名程度のチームに分かれ、それぞれアイデアを検討して、最後に発表する、という流れでした。

現地からほぼライブでレポートを書いていた方がいらっしゃったようです。
下記に午前のプレゼン内容や、午後のアイデアソンの発表内容含めて、詳細にまとまっています。

ご興味ある方はぜひご覧ください。

インフラ分科会振り返り(のようなもの)

以下は、自分の立場から見た今回のアイデアソンの振り返りのようなものです。

今回、私はインフラエンジニアを生業にしていることもあり、元々「インフラ」分科会に応募していました。

…が、今回インフラ分科会に応募された方は、午前中の最後の方の @takahashim さんの言葉で、肩透かしを食らったように感じた方がいたのではないかと思います。

どうしてかというと、まず前提として、「青空文庫のインフラ管理状態はけっこうやばそう」というのが事前に共有された資料で多くの参加者の共通認識としてあったと思います。
ATNDからリンクされたスライド(青空文庫サーバの今と今後)を見ると、「バックアップがない」「システムの全貌を把握している人がいない」「サーバ老朽化」と、"いつの間にか放置運用されていたレガシーシステム"のような状況になっているようでした。

ので、たぶん多くのインフラ分科会参加者の方は、バックアップを取ったり移行作業をしていったり…と、システムの可用性や運用水準を引き上げる具体的な方法を考えることに頭が行っていたのではないかと思います。 私もそうでした。
実際のところ、青空文庫システム担当の方も、当初はそういうアイディアを求めることを考えていたようです。

が、午前中のプレゼン後、アイデアソンに入る前の @takahashim さん(インフラ分科会モデレータ)の言葉では、「今回はそういう具体的な方法ではなく、2018年の青空文庫のインフラのあり方を考える」みたいな、ややもすれば曖昧ともとれるテーマでした。

そのときの心情を素直に吐露してしまったツイートがこちら:

まあ、いずれにせよなんらか意味のあるものであればいいかな、と思い直しましたが、幸いお昼休憩の間に @kskktk さん(青空文庫システム担当)と @takahashim さんにお話しを聞くことができ、納得感のある答えを聞くことができました。

かいつまんで書くと、次のような経緯や考えがあったようです:

  • イベントの公表から当日の間に、 @takahashim さんが青空文庫のシステム運用にかなり深く関わるようになったようです。
    • …といってもまだサーバに入ってみたことはないようで、今のところアドバイザー的な立場に近いかな、と。
    • 今後は「青空文庫を支援するエンジニアコミュニティ」のコミュニティリーダーになっていくのかも
  • このイベントの直前1週間ぐらいでも、かなり「状況が変わった」という話でした。
    • システムの色んな不明点がわかってきたのもすごく最近のことのようです。
      • スライドで DB サーバと書かれていたサーバは、実は「校正管理システム」サーバだったり。
  • 考え方
    • 結局やるべきことって決まっていて、それはやれる人がやるしかないよね、という話。
      • DB に個人情報があったりして、そんなにすぐに外部の人がサーバに入れる状態にはならないかもしれない
      • やるべきこと = バックアップ, サーバ移管, ...
    • 青空文庫という団体は非エンジニアが大多数
      • その人たちはシステムの改善によって何ができるようになるかもわからない、イメージ出来ない
      • お金はある
        • 広告収入もあるし、今回のイベント発表後、寄付も増えた
      • 「こういうことができますよ」と可能性を示したい

全体として、すごく現実的な考えだなと思いました。
そうであるなら、「可能性を示す」というねらいでアイディアを考えたいな、という前向きな気持ちでハッカソンに臨むことができました。

イデアソンは最初、20分ほど個人ワークでアイディアを考えるという進め方でした。
自分は6つほど案を考えましたが、ここでは3つほどさらしておきます:

  • 青空文庫コア」構想
    • オープンデータやパブリックAPIのみを提供して、それらを利用するサービスは利用者に作ってもらおうという構想です。
  • GitHub ライクなシステムによる文書の入力・校正フローの改善
    • これについては、近しい発想の案についてグループワークして発表することになったので、後述します。
  • なんでもオープンソース化する
    • ソースコードだけじゃなくて運用ドキュメントなどもオープンにして、外部の第3者の強力を得やすいようにする

その後、みんなでお互いが考えたアイディアに投票していきました。
その結果、票が多かったものの中からマージ作業を経て、4案がインフラ分科会のテーマとして選ばれました。

自分の案は候補にすら上ってませんでしたが、「自動校正システム」「入力支援」という自分が上げたものと近しいアイディアについて、3名のチームで検討することになりました。

カシタニさん、@silicagel さんとのグループワークは刺激的で楽しかったです。
またどこかでお会いしたらよろしくお願いします!
(お2人ともどこかでお見かけしたような気がするのですが、あまり雑談するひまもなく、お開きになってしまいました。。)

最終的に出来たスライドがこちらになります。

今後の "aozorahack"

今回それなりの数のエンジニアが一同に会したわけですが、今後どうしていくんですかという話。

これについては、GitHub に "aozorahack" Organization が作られました。

おそらく今後、この Organization の下に青空文庫で「利用可能な」OSS プロダクトがぽこぽこと生まれていくのではないかと思います。

具体的な用法についてまでは、イベント内では言及がありませんでしたが、 @takahashim さんの構想については、Gist にまとまっていたことに後で気づきました。

aozora-tech-policy.md · GitHub

自分もいずれかにコントリビュートしていけたらいいな、と思っています。

また、イベント内では Slack チームが作られるという話もありました。

おわりに

今回出たアイディアをきっかけに、青空文庫の未来の可能性が広がっていったらいいな、と思います。

参考

余談

@takahashim さんは「高橋メソッド」の方だったのですね。
今回、お話しできてよかったです。