PyCon JP 2025での発表内容

話したこと

「OSS≒盆栽」というタイトルで、自分が趣味でOSS開発をするときに「趣味が辛くならない」ために気をつけていることを話しました。

趣味という枠組みは本来かなり自由度が高いものです。

もちろん、「後ほど業務にも関わる」「多くの人に使われる」といったステージがいずれ来ることもあります。 とはいえ、趣味にしても初学にしても「とっかかり」とも言えるタイミングで変な負荷をかけないでも良いというのが、 主として伝えたいことだったりします。

ちなみに、趣味の初手として書いたこれらの事項は、ビジネスでのソフトウェア開発とも十分親和性があります。

単機能な物を作る

モジュール単位開発、サービス開発での隙間部分

自分の道具を作る

(dotfilesをはじめ、作業の簡易化のためのツール開発)

機能の担保にこだわらない

テスティングトロフィー

とはいえ、「ちょっと無理をする」という選択をふくめて趣味は趣味でしかないので、 気楽な感じでOSS開発を始めてみて欲しいです。

機会を作れたら、各項目を深堀りしたり、スキップした要素についての考えを記述したいと思います。

振り返り

テーマの観点を含めて、自分はマスに響きにくいトークをしがちです。 もちろん「虚空を向いて話す」ことになるつもりは基本的になく、 今回もX側でリアクションを確認できたのでホッとはしています。

これを聞いたり後日スライドを見た人が、 OSS開発に興味を持ったときに「そういえばハードルは低くていいんだっけ」と思い返してもらえれば。

技術的な工夫

sphinx-revealjsの作者として、個人的に発表ごとに何かしらの新しい工夫をいれることにしています。

今回は、2個ほど新しい技巧的要素を加えています。

背景の調整

PyCon JP 2025ではキーカラーが2色ありました。 せっかくなので、タイトルロゴに合わせる形で背景色をツートンカラーに調整しています。

加えて、コンテンツ部分の背景に弱めの透過をかけて、 サイズ的に全画面がコンテンツになってもキーカラーを感じられるような作りにしました。 [1]

こんな感じのCSSで実現しています。

.reveal-viewport {
  background: linear-gradient(180deg, #ff9da5 50%, #24a53d 50%);
  background-attachment: fixed;
}
.reveal .slides {
  background-color: rgba(#fdf6e3, .95);
  border: solid 0.5em rgba(#fdf6e3, .8);
}

QRコード

今回のイベントサイトでは、Pretalx上で添付ファイルを設定するとタイムテーブル上にもURLが掲載されるようになっていました。 一方で、発表時にたまたま見に来た人もいると思うので、「スライド内にスライドのQRコードを掲載する」ということをしています。

このQRコードを出力するために、新しく atsphinx-qrcode というSphinx拡張を新作しました。

この拡張はこの発表を体現する「Sphinx × QRコード」「現状はこのためだけに作った」「テストがほぼ無い」ライブラリです。 下記のようなreStructuredTextからQRコードをスッと出力してくれます。

.. qrcode::
    :align: center

    http://example.com/
http://example.com/

現状だとHTML生成時にのみ機能するのですが、デザインの工夫やPDF系ビルダーに対応できると、意外な使い道が出るかなと思います。

注記