詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

ghq など、github.com/motemen 下のリポジトリを x-motemen Org に移しています

もうけっこう前のことになりますが、github.com/motemen 下にあったリポジトリの一部を github.com/x-motemen organization に移管しました。コードやバイナリの配布形式によって、ユーザ側で対処する必要があったりなかったりしますが、それぞれのリポジトリにおける指示(あれば)に従ってもらえればと思います。

もともとこれらは id:Songmuid:itchynyid:onk らにアクティブにメンテされているもので、motemen 個人はほぼ完全にノータッチとなっているのが現状です。そういうリポジトリは他にもあるので、今後も随時このような移管をやっていくつもりです。よろしくお願いします。

Organization 移管のメリット

で、実際的な話として、個人リポジトリにコラボレータとして追加することと organization のリポジトリとすることの差なんだけど、与えられる権限が違うっぽい。

とくに個人リポジトリではコラボレータに admin 権限を与えることができず、そうすると webhook の設定ができないので、メンテナがリポジトリを積極的に改善しよう! と思ったときにいきなり出鼻をくじかれることになってしまう(とくに最近だと GitHub Actions 化しようとしてやられる)。

こちらは org 化していないリポジトリ(gore)のコラボレータ管理画面。Write 権限のあるなししかない。

f:id:motemen:20200302133140p:plain

こちらは org 化したリポジトリ(ghq)のコラボレータ管理画面。songmu さんに admin 権限をあげて、自分は Write みたいにできている。

f:id:motemen:20200302133159p:plain

移管の経緯

大きなきっかけは ghq の v1 リリース。メンテナの songmu さんと会ったときに、この際 ghq organization みたいなのを作ってそこに置きます? というような話をしたんだけど、motemen/ghq でひとつの名前として認知されてるからなー、という話もあり、その時はそのままの名前で行くことになったのでした。

OSS(とも思ってないが)を別の名前の下に移す……ということにはなかなかアンビバレントな感情があって、大方の人間と同じく自分もいわゆる承認欲求を燃料にしてこれまで生きてきたので、自分の作ったものが使われたり、言及されることはとても嬉しい。そういう面では、自分の名前から剥がしてしまうことには心理的な抵抗が長いことあった。

しかし幸いなことに自分のソフトウェアが多くの人に使われるようになってくると、自分にとって負の影響も大きくなってくる。つまりイシューや pull request がやってくるようになる。はじめの頃はこういう直接の反応がやってくるのが嬉しいので丁寧に応対しようとするけど、数は多くなくても、一つひとつがその裏に人間の意図や要望のあることであるし、否応なくコミュニケーションを必要とするので、疲れてしまう。そもそも自分は人間とアレコレしたくないからコンピュータを触っているのであった(今どきこういう考えをしている人は少ないのかもしれない)。それなのになせこんなことに……。他人に認められたいのに、他人とのコミュニケーションを拒む、という姿勢自体がはらんでいる歪みだったのかもしれない。

もうひとつ重要なのは、リポジトリを公開した時点で、そのソフトウェアによって解決したかった自分の課題はほぼ満たされているので、それ以上に手を加えるモチベーションがない、ということだった。公開したソフトウェアはそこで硬直してしまっていて、そこに変更を加えることの喜びは、他人にどんな風に使われているか分からないものを変更するコストを上回らない。自分で書いててひでーなとも思うが、そういうことである。こういうのをひっくるめて、自分の書いたものがOSSとも呼べない(というかバザール的でない)な、と思っている。

それでも使われているものは身近な人がメンテナになってくれていて、イシューに回答したりリリースまでやってくれていたりする。それはありがたいことで、コミュニケーションを拒否している罪悪感はいくらか和らぐものの、もうおれの持ち物じゃなくね? という感覚は大きくなっていく。

とまあこんなふうに、自分のものであるという主張には固執しつつ、しかし他者からの要望に応えもしないでいる、ということにだんだんと嫌気が差してきて、冒頭に書いたように org 化の話が出てくるわけです。結局その時は見送ったわけだけど、それでもそのアイデアは頭の中に残っていて、ghq 以外のソフトウェアも他の人にメンテしてもらってるものはひとつの org に移してしまおうと画策はしていた。Apache Incubator に倣って motemen-incubated とか考えてたんだけど、x-motemen という名前を思いついて、試しに organization 作成フォームに入力していたら作れてしまったので、そのまま利用したという流れであった。x- には卒業感があって、いいなあと自画自賛する次第である。

結局自分の名前残っとるやんけ、との指摘はその通りで、しかし自分の中ではもはやあまり重要でもない。

それにしても、移管と直接関係するわけではないけれど、メンテナンスされるソフトウェアの価値というものをひしひしと感じている昨今であり、brew upgrade ghq して新しいバージョンが手元に降ってくることには、自分が最初のユーザであるからこその喜びがあると思う。こればかりは特別な体験です。

はてなで一緒に働きませんか?