海外PyCon発表修行レポート2015

第6回(最終回) PyCon Korea 2015参加レポートとSphinx発表

この記事を読むのに必要な時間:およそ 5 分

PyCon Koreaの発表紹介

PyCon Koreaでは2つのキーノート,30個のトークセッションがありました。そのうち,英語での発表は3つでした。筆者は韓国語が分からないため,英語の発表と合わせて5つのセッションに参加し,残りの時間はオープンスペースでSphinxについての話をしていました。

基調講演

2日目のキーノートは,NettyというJava製のフレームワークを開発したTrustin Leeさんの発表でした。

NettyはJava製のイベント駆動非同期ネットワークアプリケーションフレームワークです。Pythonで同様のフレームワークと言えばTornadoが近いでしょうか。彼がNettyを開発してオープンソースで公開してから13年が経ちました。13年のNetty開発を通して起きたこと,OSSプロジェクトの良い成長になにが必要か,といったことについて紹介していました。

最初に,彼がなぜNettyをオープンソースとして公開したのか? という事に触れていました。楽しみのためなのか,みんなの関心を集めたかったのか,正直なところ当時どうしてそうしようと思ったのかは分からない,とのことでした。後で聞いた話ですが,韓国ではいまIT系大企業がオープンソースプロジェクトに関わっている技術者を積極的に採用しているらしく,多くの参加者は,オープンソースプロジェクトを立ち上げる,公開する,参加する,ということにとても関心があるのだそうです。

過去13年間で面白かったことは,自分自身のプロジェクトなので,開発やリリース速度のコントロールを自由にできたそうです。そのため,だれかがバグで困っているときに,すぐに修正してその日のうちに公開することでユーザとの信頼関係を築くことができたそうです。逆に面白くなかったこととして,プロジェクトの成長とともにPull Requestの数よりもバグレポート(Issue)の数が圧倒的に多くなってしまい「開発すればするほど仕事が増える」ことを挙げていました。

Netty 13年

Netty 13年

そんな課題をどのように解決してきたのか,いくつか紹介してくれました。

全て自分一人でやっていないか?

自分で全てを解決することは必要ではなく,人や機械に委任できることは自分の手から離すことが重要。例えばPull Requestをくれる人を開発チームに誘う,コードレビューの機械的なチェックを自動化する,など。

機能の要望にどう対応するのが良いのか?

誰かが「こういう理由でこの機能は絶対必要」という要望に対して時間を掛けずに急いでリリースした機能は,使い物にならず負債になってしまう場合が多かった。よく考えて,アイディアを熟成させ,充分なユーザからのフィードバックを得てから実装したほうが良い。

全てを否定的に見ていないか?

バグレポートに対して過剰反応するキーボードウォーリアー(ネットで言葉に過剰反応してキーボードに怒りをぶつけるように文字を入力する様子)にならないように気をつけよう。私に問題があるのか,プロジェクトの何かが問題なのか,状況をちゃんと聞くことが必要。

どうして全ての問題が私に?

それはあなたがプロジェクトを良くしたからです! プロジェクトが成長すれば,開発に使える時間よりも,Issueの数が圧倒的に多くなります。Work-Life-"OSS"バランスを良く保つように注意しましょう。

最後に,会場の参加者に向けて,みんなも始めてみよう,と呼びかけていました。ここまで紹介してきたように,色々な課題が出てきてそれらを解決していく必要があります。ですが,こういったことを心配しすぎて始められない,となってしまうのは禁物です。自分が作りたいものの開発を正しく進めて,開発の成果をプロモーションし,自分以外の誰かと一緒に作業し,新しいアイディアや変化を受け入れる,そうすることで,OSSは良い方向に成長していきます。と発表を締めくくっていました。

Google TranslatorのOCR機能でスライドを翻訳

Google TranslatorのOCR機能でスライドを翻訳

基調講演は韓国語でのみ行われたため,筆者は発表を聞きながらGoogle TranslatorアプリのOCR翻訳機能でスライドを読みました。英語への通訳がなかったことが残念でしたが,発表スライドの内容はすばらしく,自分がSphinxのメンテナとして気をつけたいことなど考えさせられるものでした。

著者プロフィール

清水川貴之(しみずかわたかゆき)

ドキュメンテーションツールSphinxのメンテナ。2003年にZope2と出会い,それがオープンソース等のコミュニティー活動を始めるきっかけとなった。

Sphinx-users.jp運営。一般社団法人PyConJP理事。株式会社ビープラウド所属。

著書/訳書:「Pythonプロフェッショナルプログラミング第2版」「Sphinxをはじめよう」「Pythonプロフェッショナルプログラミング」「エキスパートPythonプログラミング」。

運営・参加イベント:Python mini Hack-a-thon主催,Sphinx+翻訳Hack-a-thon主催,PyCon JP 2011-2014運営

サイト:http://清水川.jp/
Twitter:@shimizukawa