github sponsors を有効にしたことと、これからのプラグイン開発について

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

はじめに

最初に重要事項を発表します。私 Shougo はテキストエディタプラグイン開発に力を入
れていくために、github sponsors を有効にすることにしました。

https://github.com/sponsors/Shougo/

これは大きな方針転換となります。これまでの私はオープンソース活動に対する寄付を
受け付けていなかったからです。なぜかというと、もっと自由にオープンソース活動を
やりたかった、寄付を受けるとそこに責任が発生するのではないか、テキストエディタ
との関係性が変わってしまうのではないかという懸念があったからです。

しかし、私もプラグイン開発を始めてからはやくも 10 年以上たちました。
昔とは完全に状況が変わってきています。プラグインやそれに使われる技術も複雑化、
高度化しかなり開発期間をかけないといけなくなりました。プラグイン開発に時間を費
すには資金が多いにこしたことはありません。

モチベーションの確保も課題です。通常のプラグイン開発はともかく、新しいプラグイ
ンを開発するためには大きなモチベーションが必要です。なにしろ、これまで五年以上
開発を続けて完成されたプラグインを越えるものを作らないといけません。越えなけれ
ば意味がないのです。ユーザーから寄付を頂ける、応援してもらえるというのはモチ
ベーションにつながります。

github sponsors は皆さんの寄付によって賄われるため、決して大金が手に入るわけで
はありません。プラグイン開発のみで生計をたてるのは困難です。
しかし、私の「テキストエディタによって生活する」夢に一歩近づくため、
「新たな Dark powered plugin を開発するため」、「プラグイン開発にもっと時間を捧
げ、開発のモチベーションを上げるため」皆さんの力を貸していただけないでしょう
か。

これからのプラグイン開発について

私がここまでプラグイン開発にこだわるのは理由があります。
denops.vim を用いて deoplete.nvim, denite.nvim を置き換えようと考えているからです。

新プラグインは既にリポジトリのみ存在しています。ddc.vim, ddu.vim です。

新たなプラグインでは以下の特徴を持たせる予定です

  • リモートプラグイン機構や Python を使用しない

  • denops.vim(Deno) を用いてプラグインを構成する

  • Vim8/neovim 両方サポートする

  • デフォルトキーマッピングは提供しない

  • カスタマイズ性が高い

従来のプラグインでは Python とリモートプラグイン機構を利用していました。Vim
script を使用していたときよりパフォーマンスや開発速度が改善され、ライブラリも充
実しています。感触は悪くないものでした。しかし今となっては以下の問題がありまし
た。

  • Python でのパフォーマンスに限界がある

  • リモートプラグインに起因するトラブル

  • Python をインストールすることによるトラブルが多い

  • Vim8 でのパフォーマンスが悪い

  • neovim 開発陣がリモートプラグインよりも Lua によるプラグイン開発に舵をきっている

これらの問題により、リモートプラグイン機構を使い続けることによるリスクを認識す
るようになりました。代替策を探っていたところ、denops.vim が登場したのです。

私は新たなプラグインに Lua を使う予定がありません。Vim9 スクリプトを使う予定も
ありません。これは Vim/neovim 両方をサポートするためです。最近は Vim/neovim の
差異が大きくなっているので両方を対応するのは大変なのですが、どちらかのユーザー
を切り捨てるというのはやるべきでないと考えています。

カスタマイズ性は従来通り重視する予定です。デフォルトの source を全て別リポジト
リに分割したりも検討事項に入っています。

スポンサー特典について

おそらく、大半の人は選択しないであろう $10/month のコースと $50/month
スポンサーコースのみ特典を付けることにしました。

$10/month のコースと $50/month のコースでは「プラグイン新機能の優先リクエス
ト権(サポート中のプラグインに限る)」を付与します。
他の人が行う機能提案より優先して実装されやすくなり、機能提案が却下されにくくな
ります。この特典を使用する場合は issues に特典を使うことを明示してください。権
利の有無をこちらで確認します。

$50/month のコースではテキストエディタに関する問題に限りますが、私に特別サ
ポートを依頼することが可能です。特典を使用する場合は私に権利の有無を確認できる
ようにしてください。

おまけ:github sponsors の申請に必要な情報について

興味がある人が一部いるようなので説明をしておきます。github sponsors への申し込
み方法は以下のページから「Get sponsored」をクリックするだけです。

https://github.com/sponsors

あとはページに必要な事項を記入し、登録していくだけです。全て手続きは電子化され
ているので、リンクをクリックするだけで完結します。ただし申し込みは一部を除き全
て英語なので苦手な人には注意。

github sponsors の必要な情報については以下です。

  • プロフィールの記入

  • sponsor tiers の記入

  • your goals の記入

  • github の二要素認証の有効化

  • 振り込み先銀行情報の登録

  • W-8BEN の入力

この中で W-8BEN の入力のみややこしいので、ネット上で記入方法を調べておくことを
推奨します。

全てを完了させるのに必要な時間は 3〜4 時間を見ておいたほうがよいでしょう。

mattn 氏の github sponsors について

ちなみに、Vim/Go 界隈で有名な mattn 氏のスポンサーの数は 62 人。他の github
sponsors を獲得している人と比較しても圧倒的な人数です。私もこれくらいを目標にし
たいです。

https://github.com/sponsors/mattn