皆様がお使いのVim pluginのうちいつくかは、Vim scriptのための汎用ライブラリであるvital.vimが用いられています。これのコア開発者の多くを集め、Fablic社内で、開発をすすめる上での重要な案件の議論・意思決定を行うための会議を行いました。
https://connpass.com/event/57862/
平日夜に開催しました。Fablic社から歓迎として焼き立てpizzaが提供され、歓談の後開始しました。
開発者会議
vital.vimはfreesoftwareで、有志によってgithub上で開発が行われています。github上で作ったissueを通して、また lingrのvim部屋で日々議論が行われていますが、後述する理由により、いくつか意思決定が困難なものがありました。 具体的には、2017年6月時点で、以下の点の議論の進行が難航していました。
- Test for helptags https://github.com/vim-jp/vital.vim/pull/440
- module import() behavior where the module only supports specific environments https://github.com/vim-jp/vital.vim/issues/515
- [RFC] Neovim サポートに関する方針を決めたい https://github.com/vim-jp/vital.vim/issues/482
議題をまとめ、社内の40inch 4K displayに投影し、それを囲ったり囲わなかったりして白熱した議論を行い、さくさくと物事が決まっていきました。
vital.vim開発は伽藍ではなくバザールです。最終的に意思決定はオンラインのgithubのissueです。が、それまでの議論をオフラインで一気に行うのは利便性の意味ではるかに優位性があるのを今回痛感しました。議論の過程と結果をまとめたものをgithubに随時貼っていき、大いに進捗しました。
vital.vimとは
https://github.com/vim-jp/vital.vim
2011年1月より、thinca, tyru, ujihisa, lambdalisue, haya14busa他多数の開発者に支えられ、継続的に開発が行われている一大プロジェクトです。quickrun.vim、unite.vim, neocomplete.vimなどのプラギンがvital.vimを使用しています。
vital.vimについては http://qiita.com/rbtnn/items/deb569ebc94d5172a5e5 を参照しましょう。
- vital.vimは、Vimプラグインの作成する際に必要になるだろう関数をまとめたライブラリ群です。
- vital.vimには色んなモジュールがあります。vital.vimではライブラリのことをモジュールと呼びます。
- vital.vimは、単体で使用することももちろん可能ですが、vital.vimはプラグインに任意のモジュールを埋め込むことも出来ます。
vital.vim開発では意思決定が容易でないものがいくつかあります。世の中に多様なVimプラギンが存在することから、必然的にvital.vimは多様な使われ方をされます。従いまして、前述のように、さまざまな要件をきれいに満たすインタフェース・実装への要求水準が比較的高くなります。
Fablicとは
vital.vim主要開発者の一人であるujihisaなどが現在所属する会社です。FRILという便利サービスを運用・開発しています。ここで働くと、Fablic.vimやvital.vim開発者会議などに徒歩0分で参加できるという福利厚生があります。
文責: ujihisa