Vimプラグインへの機能追加が$500に化けた話

3 min read読了の目安(約3300字

この記事は Vim Advent Calendar 2020 の9日目に向けたものです。

この記事は技術的な内容は含みません。
また Vim Advent Calendar と言いつつ Clojure 成分が多分に含まれます。
それでも良いという方だけ先にお進みください。

TL;DR

拙作の Vim プラグインが Clojurists Together の "Summer of Bugs" プログラムに選出されて機能追加に対して資金援助してもらいました

vim-iced

vim-iced とは Clojure における REPL 駆動開発をするための環境を提供する Vim/Neovim 向けの拙作プラグインです。

開発の細かい経緯などは Clojure Advent Calendar 2018 の9日目に向けた記事 Vim で Clojure 開発するためのプラグイン vim-iced を作った話 があるので興味のある方はご参照ください。

この Vim プラグインは約2年と4ヶ月ほど継続的に開発を続けていて、直近1年間では 0.13.0 (2019-11-29) 〜 2.6.0 (2020-11-29)の 45 回ほどリリースを切っています。

なので機能追加も、頻繁とまではいきませんが、普段のOSSとしての開発の中で普通に行っていました。
そんな中 Clojurists Together が Summer of Bugs というプログラムがアナウンスされ、ちょうど追加したい機能があったこともあり、ダメ元で申し込んでみたのがことの始まりです。

Clojurists Together

Clojurists Together とは Clojure/ClojureScript コミュニティにおいて有用、もしくは有望と思われるプロジェクトに対して資金援助し開発のサポートをしている団体です。
資金は企業/個人からなるメンバーから集められたものを四半期毎に選出されたプロジェクトに対して支払われます。(私も月額のメンバーとして微力ながらサポートさせてもらっています)

直近の2020年4Qでは4つのプロジェクトに対してそれぞれ $9,000 (「全部で」ではありません。「それぞれ」です。)が援助されていて、その金額からなかなか夢がある話として
Clojure 関連のライブラリ開発者の中では話題になっています。(と私が勝手に思っています)

ちなみに Vim プラグインでいうと tpope 氏の vim-fireplace が 2020年1Q に選出されていたりします。

https://www.clojuriststogether.org/news/q1-2020-funding-announcement/

ただ金額が大きい分、その3ヶ月間で実現したいことも比例して大きくなってしまい、小さなプロジェクトだったり大きな機能追加がない(けれど重要な修正はある)プロジェクトなどは参加しづらいという問題がありました。
そんな中できたのが Summer of Bugs プログラム です。

Summer of Bugs

これは簡単に言うと月単位ではなく日単位の小さな改善に対して少額の資金援助をするというプログラムです。
その対象はプロジェクトのメンテナーに限らず、予めやると言ったことができるのであれば誰でも申し込みができます。
またここでの「改善」とはバグフィックスに限らず、そのプロジェクトないし Clojure コミュニティにとって有益なものであれば基本的にOKというものです。(たぶん)

参考までに申し込む際には以下ようなことを書いて提出する必要があり、これによりどのプロジェクトでどんなことを実現しどのように貢献したいと考えていて、実際にそれを実現できる能力がありそうかというのを判断・投票してもらう形になります。

  • What are you wanting to achieve with this funding?
  • What experience do you have that is relevant to this task?
  • Why is this project important to the Clojure community?

初回では micro-grant ($500) と mini-grant ($1,000) が用意されていて、私はひとまず micro-grant で申し込んでみたのですが、それがまさかの選出となりました!!
Clojure 界隈では有名なプロジェクトの中ポツンと Vim プラグインが入っているのは個人的に現実味がなく、
事前にメールで選出されたことは連絡されていたのですが公式なアナウンスが出るまで信じられなかったです。

https://www.clojuriststogether.org/news/clojurists-together-summer-of-bugs-selections/

やったこと

実際にやったことは普段の開発と対して変わらないのですが、以下のPRがそれです。

https://github.com/liquidz/vim-iced/pull/227

2020/06/15 に選出の連絡を受け、期限としては 2020/07/13 までと決められていたのですが、何をどうやれば実現できそうかという道筋がある程度見えていたこともあり 2020/06/18 - 06/28 の約10日間くらいで目的は達成できました。
ただ平日は仕事、休日の子供の相手があり実際の稼働時間としてはもっとずっと短いはずです。

あとは「何をしようとしてどう解決したのか(もしくは前進させたのか)といった簡単なレポートの提出が必要なくらいでした。

https://www.clojuriststogether.org/news/summer-of-bugs-update-2020/

期限とレポートの違いくらいでいつも通り Vim script を書いただけだったので本当にこれで良いのかな?という気持ちはあったのですが、後日本当に $500 が振り込まれて感動しました。

まとめ

最近では GitHub Sponsors などを通して寄付をもらえる基盤ができているので、そういったもので寄付を受けている方もいると思います。
ただそれとは違った形で (決して有名とは言えない) Vim プラグインの個人開発でも認められて資金援助してもらったという事例の1つとして記録に残せればなと思った次第です。

これからも Vim ないし Clojure コミュニティに対して微力ながら貢献し続けられれば良いなと思っています。