なぜイシューとプルリクエストに応答しなければならないか、あるいは、プロプライエタリかまってちゃんをチヤホヤするのをやめろ

分散SNS Advent Calendar 2018参加記事。

設計図共有サイトの利点と懸念

過去の記事「プラグイン機構は活発な開発者のかわりにはならない」では、マストドンをはじめとする分散SNS実装の開発者たちが、イシューとプルリクエストに十分に応答しているかどうか検討した。しかし、そもそも、イシューとプルリクエストに応答することは、何のために必要なのだろうか? あるいは、ソフトウェアをプロプライエタリにして、イシューもプルリクエストも受け付けないならば、何かまずいことがあるだろうか?

GitHubと、それに似たものたち (GitLabNotABugなど) は、Gitなどのバージョン管理システムを提供するとともに、イシューとプルリクエストを受け付ける機能も提供している。GitHubのようなものを総称するのは難しいが、ここでは仮に「設計図共有サイト」としよう。

イシューを受け付けることで、開発者は、不具合や要望を知ることができる。とんちんかんな質問が来ることもあるが、初心者がどこでつまずくかを観察するために役に立つかもしれない。

プルリクエストは、プログラミングを分業するために良い方法である。また、不具合の修正や新機能の要望も、コードを見ながら議論できるので、イシューよりも意図が明確になる。

とはいえ、設計図共有サイトを使わなくても、これらの利点を得ることは可能である。設計図共有サイトのイシューではなく、SNSをエゴサすることで、不具合と要望を知る開発者は多い。また、CrypkoCrypko先祖辿りの関係は、プロプライエタリなソフトウェアで、プルリクエストに相当することが行われた事例として見ることができる。いずれにせよ、可能であることと、手軽あるいは快適に行えることは異なる。後者のためには、設計図共有サイトにリポジトリを設置すべきだろう。

イシューとプルリクエストを受け付けることに恐怖感をおぼえるプログラマーもいるかもしれない。イシューには妄想や中傷が書き込まれるかもしれない。実際のところ、インターネットにおける言語的コミュニケーションの能力は多様であり、ユーザーにとっては単なる要望か提案にすぎないものが、繊細な開発者にとっては中傷に感じられるということはあり得る。それによって開発のモチベーションが失われることは、過去に何度も繰り返されてきたことである。そのようなユーザーからインターネットやソフトウェアの利用を取り上げることは重大な人権侵害であるが、繊細な開発者たちの置かれている立場にも同情の余地がある。

ソフトウェアの普及のアンフェアネス

ソフトウェアの普及には深刻なアンフェアネスがある。オールディーズエフェクトとポジティブフィードバックである。

オールディーズエフェクトは、過去に有名になったソフトウェアが、いつまでも有名であり続ける現象である。これは、ユーザーがソフトウェアをなかなか乗り越えないことに由来する。新しいソフトウェアの使用法に習熟するには手間がかかるし、慣れるまでは違和感と戦う必要がある。そのため、ユーザーが別のソフトウェアを試すことに消極的なのは、やむを得ないところがある。

ポジティブフィードバックは、すでに普及しているソフトウェアが、さらに普及するという現象である。例えば、あるソフトウェアのユーザーが、インターネットなどを通じて他の人にもそれを勧めるという原因が考えられる。

古参のソフトウェアと新興のソフトウェアのどちらが優れているかといえば、それは中立的である。古株のソフトウェアは、改良を重ねていけばノウハウが蓄積されていくが、改良を怠れば、新興のソフトウェアにすぐに追い抜かれる。新興のソフトウェアは、先行する古いソフトウェアの成功と失敗から学ぶことができるが、細かいノウハウまでは盗むことができない。いずれにせよ、更新が停滞した古参ソフトウェアと、先行事例をサーベイしない新興ソフトウェアは、使わないほうが良いだろう。

特に、古参のソフトウェアは、オールディーズエフェクトとポジティブフィードバックによって圧倒的に有利な立場にあるのだから、厳しい目で見られるのは当然である。

プロプライエタリかまってちゃんと騎士団たち

では、すでに有名になったソフトウェアの更新が停滞したとき、何が起こるだろうか?

マストドン検索ポータルは、2018年11月18日ごろから動作が停止している。別の検索エンジンで「マストドン検索ポータル」を検索すると、マストドン検索ポータルを心配する意見は多く見られるものの、他の検索エンジン (realtime.userlocal.jp, tootsearch.chotto.moe, mastosearch.osa-p.net) を勧める意見はほとんど見られない。

プロプライエタリなソフトウェアでは、作者の存在がすべてである。もし更新が停止すれば、ユーザーたちは、作者とソフトウェアの行く末を心配することしかできない。マストドン検索ポータルの作者は、もともとインターネットにほとんど姿を現さない。だから、作者がかまってちゃんとして行動したわけではないけれども、ユーザーたちは、インターネットかまってちゃんを囲う騎士団のようにしか行動することができない。

オープンソースなソフトウェアで、設計図共有サイトでリポジトリを公開していれば、リポジトリのアクセス権を移譲して開発を引き継ぐという方法がある。あるいは、作者からまったく応答がないのであれば、勝手にフォークしてデプロイすることも可能である。過去の例では、Halcyonではこの両方が行われた。新都心がHalcyonの開発を放棄したとき、Niklas Poslovskiが開発を引き継ぎ、おさが非公式なフォークをデプロイした。いずれにせよ、ただ作者の復活を祈るのではなく、ユーザーの側から何らかの行動を起こすことが可能である。

ユーザーの欲望と必要の乖離

ソフトウェアに限らず、あらゆるプロダクトは、普及するためにはユーザーの欲望に訴えることが必要である。しかし、それが本当にユーザーのためになっているかどうかはわからない。あるいは、直接のユーザーにとっては利益があっても、他の人々に対しては間接的に悪影響が及ぶことがあるかもしれない。

例えば、Tootdonにはアバターをアニメーションで装飾する機能がある。これは、やっている本人は楽しいかもしれないが、他のユーザーから見れば邪魔である。また、アンフェアなユーザーレコメンデーションは、直接のユーザーがそれを望んだとしても、ソーシャルグラフの成長が不健全になり、その悪影響はFediverse全体に及ぶ。

設計図共有サイトでイシューとプルリクエストを受け付けていれば、このようなevilな機能はイシューが建てられて議論になるだろうし、より穏当な挙動になるように考慮されたプルリクエストが寄せられるだろう。しかしながら、プロプライエタリなソフトウェアは、そのような議論や懸念をシャットアウトして、意図的にオールディーズエフェクトとポジティブフィードバックを引き起こすことができる。

プロプライエタリは自意識過剰なクソ、いますぐ設計図共有サイトにリポジトリを作ってAGPLにしろ

分散SNSのインスタンスの運営にあたっては、ユーザーが運営者に感謝の意を表する機会があっても良いとは思うが、運営者の側は、コンテンツを作っているのはユーザーなのだという、謙虚な認識を持ちたいものである。

しかし、実際には、そのような相互的な関係を醸成することは難しい。運営者とユーザーが、指導者と追従者のような関係になってしまったインスタンスはいくらでもある。ユーザーが少しでも運営者に対する不満を漏らすと、別のユーザーがそれを厳しく非難することも、多くのインスタンスで見られる。

ソフトウェアの開発においても、作者とユーザーは、そのような相互的な関係を持ちたいものだ。実際に使ってくれるユーザーがいなければ、ソフトウェアは単なる記号列にすぎない。ユーザーが愚痴や不満を漏らすことが、ソフトウェアの改良のヒントになるかもしれない。例えば、Debianは、Debianに協力するための多数の方法を提示しており、「プロジェクトに関わるには様々な方法があり、 Debian開発者であることを要求するのはそのごく一部に過ぎません」と表明している。

しかし、プロプライエタリなソフトウェアは、そのような相互的な関係を断ち切る。ソフトウェアの作者は指導者として振る舞うことを望まないかもしれないが、ユーザーたちは追従者として振る舞うことしかできない。

ソフトウェアの普及におけるオールディーズエフェクトとポジティブフィードバックは、もしソフトウェアの更新が停止したとしても、過去に有名になったソフトウェアがいつまでも使い続けられることを意味する。そのとき、プロプライエタリなソフトウェアは、たくさんの無力なユーザーたちを抱えたまま、ただ朽ちていくだけである。しかし、設計図共有サイトにリポジトリを持っていれば、Halcyonの例で見たように、そのような事態に対応する複数の方法が用意されている。

作者たちは何を恐れているのだろう? マストドンに関係するプロプライエタリなソフトウェアの作者には、フリーランスのプログラマーが少なくない。彼らは、自分のソフトウェアが100 %自分の能力の証明であることを顧客に説明するために、他の開発者とユーザーの介入を拒んでいるのだろうか。

もともと有料なソフトウェアならともかく、無料のソフトウェアをプロプライエタリにするのは、本当にやめた方がいい。

広告

投稿者: Hakaba Hitoyo

墓場一夜

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください