2022年OSS活動振り返り - 今年作ったOSSと得た報酬について

December 22, 2022

OSS活動

以前から開発を続けているVSCode用Emacsキーバインド拡張Awesome Emacs Keymapと、Streamlit周辺の貢献がメイン。

Awesome Emacs Keymap

2019/01から開発をしているVSCodeのEmacsキーバインド拡張。

VSCodeは公式が各種キーバインド拡張をVimもAtomもSublimeもBracketsも提供しているのにEmacsだけ公式拡張が無く、自分で作るしかなかった。

詳しい話は以前VSCodeのキーバインド拡張を作ったので、その勘所を紹介 - Qiitaに書いたりした。

GitHub: whitphx/vscode-emacs-mcx

Visual Studio Marketplace

streamlit-webrtc

GitHub: whitphx/streamlit-webrtc

2021年から続けている、Streamlitで映像・音声をリアルタイムに扱うための拡張。

今年はコアAPIの大幅刷新を行ったv0.40.0をリリースして、より使いやすくなったはず。 昨年末に書いたチュートリアル日本語版)もこれに合わせて更新した。

また、このライブラリについてEuroPython 2022PyCon APAC 2022で発表してきた。 初めてのプログラミング系のカンファレンス登壇だったが楽しかった。

EuroPythonについてはgihyo.jpのレポート記事内にコラムを書かせてもらった

stlite

GitHub: whitphx/stlite

今年に新しく始めたプロジェクト。 Streamlitをプラウザだけで動かせるようにする。 この前紹介記事も書いた。

CPythonのWasmビルド、Pyodideが出てから、それに乗っかってここ数年で各種PythonフレームワークのWasm化プロジェクトがたくさん出てきた。 私がstliteを始めた時に認識していたのはJupyterLite1PyScript。stliteをやってるうちに知ったのがShinylivePanelWebDash。私のstliteもこれらの仲間と言えると思う。

実は去年くらいからアイディアはあって、実装の調査などもしていた。Streamlitのフォーラムでも、コミュニティメンバーからStreamlitのWasm化の要望はあって、議論はしていた(→ Feature idea, Pyodide JupyterLite like Streamlit)。 しかし色々忙しくて手をつけていなかったところで、PyCon US 2022でPyScriptが発表されたのを見て、乗り遅れるまいと急いで着手したのが今年の5月。

まだまだ世間的には無名のプロジェクトだが、Streamlitのフォーラムに投稿したところ、一応コミュニティ内ではそれなりに好意的な反応を頂けて、当該スレッドは過去1年で4位の注目度?ということになっている。フォーラムでStreamlitのコアチームのメンバーから反応があったのも良かった。 Streamlit forum yearly ranking

また、コミュニティメンバーのうちYouTubeで活動している人たちが紹介ビデオを作ってくれたのも嬉しかった。

また、企業からスポンサーを受けることになった。詳しくは次の章で後述。

報酬について

個人からの寄付

以前からGitHub SponsorsBuy Me A Coffeeにアカウントがあり、多くの方から寄付をいただいていた(参考: OSS個人開発のモチベーションを高める方法〜金銭的な収益を得る(寄付をもらう)〜)。

今年は今更ながらBuy Me A Coffeeと排他ではないなと思い直しKo-fiも開設した。実際、Ko-fiから寄付していただける方もいて、寄付の動線はたくさんある方が良いなと思った。

今年も、たくさんの方からサポートを頂いた年だった。皆様ありがとうございます。 私は割と飽きやすい性格で、ひとつのプロジェクトを3年もやれば飽きてしまいがちなのだが、Awesome Emacs Keymapはもうすぐ開発開始から4年経とうとしていてもまだ続けられている。正直自分が使う分には十分な機能を実装し終わっているので、feature requestとbug reportへの対応がメインなのだが、今でも定期的にモチベを上げて取り組めているのはご支援とその応援コメントのおかげだと思う。

企業からの寄付

前述の通り、stliteに対して営利企業がスポンサーをしてくれることになった。これはOSSを開発していて初めてのことで、自分のOSS貢献にある種の商業的価値が認められたようで嬉しかった。

1社目はDatabuttonというノルウェーのスタートアップ。データアプリ向けのライブラリをクラウドの実行環境込みで提供している会社だが、UIにStreamlitを使っていて、私のstliteに期待してくれているとのこと。 2社目はHal9。こちらはアメリカのスタートアップで、また違った趣のデータアプリ向けのフレームワークを開発している。

OSSの収益化には以前から関心があり、ついこの前も2022年に OSS 活動によって得た報酬を公開 (sosukesuzuki.dev)を見てすごいなーと思ったところ。 Streamlitは商業的な観点から見ると、営利企業が開発していて、それなりにお金をかけてコミュニティを作り、ビジネスニーズを捉えようとしているOSS、という特徴があると思う。自分がstliteで企業からお金を貰えているのは、間接的にはそのようなOSSのエコシステムに乗れているからと言えるかもしれない。 上記記事のように、広く開発者に使われているOSSに携わってOpen Collectiveなんかを経由して報酬をもらうのが正攻法で憧れるし、私のはある種のコバンザメ戦法なのだけど、これも一つの方法なのかもしれない。

考察

個人から頂いているサポートは寄付プラットフォームの特性上、対プロジェクトではなく対個人なので、各支援者がどのプロジェクトを特に応援して下さっているのかは厳密には分からない(もし私個人を応援してくれているのだとしたらこれほどありがたいことはない)が、 寄付の際のメッセージなどから推測するに、Awesome Emacs Keymapへの応援が多いように思える。 キーバインドのように個人の日常作業の生産性に直結するようなソフトウェア、特にEmacsキーバインドのようなコアなユーザの多いソフトウェアは、特定の層に刺さって支援をいただきやすいのかもしれない。

一方でstliteは人生で初めて企業から、それも複数スポンサーをしていただけた。こちらは前述の通り、商業化されたOSSのエコシステムに乗ったプロジェクトであるというのは無関係ではないと思う。

ちなみに2022/12/22現在のstar数は以下の通り。

こうしてみると、starの多さと支援のいただきやすさは単純に相関していないのが面白い。たとえば寄付メッセージで一番多く名前を見かけるAwesome Emacs Keymapは、star数で見るとたったの263である。 上記のようにプロジェクトの性格ごとに刺さる層が違うし、刺さった時に感じてもらえる価値の深さも違うんだと思う。


  1. これに関しては、前身のIodideがPyodideになってJupyterLiteまで続いているので、逆にPyodideを産んだのがJupyterという見方もできそう

Profile picture

Written by whitphx (Yuichiro Tachibana) who works as a software developer. You should follow him on Twitter

This site is using Google Analytics. © 2023, Built with Gatsby

Buy Me A CoffeeSupport me on Ko-fi