AGPLとMastodon
続報は↑を読んでください。
一年経ったので振り返りをした。
------
グルドン(mstdn.guru)というMastodonサーバーがある。運営者はソフトウェアエンジニアでYouTuber でありPodcasterのdrikinさん、ITmediaで「マストドンつまみ食い日記」を書いていたりしているmazzoさん 、マネージャーのokitaさんである。
そこで僕は
@drikin mixlrのウィジェットを表示する変更を施した場合、グルドンのソースは開示する必要があるのではありませんか?
肝心なこと言ってなかった。ソース開示を申請します。
という投稿をした。
mixlrは音声ライブ配信用のサービス。drikin氏は自分のPodcastをやっていて、収録時にライブ配信をしている。mixlrのウィジェットでライブ配信を聞くことができる。
MastodonはAGPLライセンスが付与されていて、このmixlrのウィジェットをWebUI上に追加する変更はライセンスに違反しているのではないか?という指摘をした。ソースに変更を施しているのなら、変更点やソースを申請があれば開示しなければならない(変更点はまだしも、どの範囲まで公開するべきかという議論があるが、筆者自体あまりライセンスに詳しくないのでコメントなどで補足してくれると嬉しい)。些細な変更ではあるか、変更は変更だ。
この程度の些細な変更に対して開示請求をするのはいかがなものか?という批判がありそうだが、ある過去がある。
v3.0.1 ってブックマークのAPIに対応している感じ?WebUIでは使えないけどSubwayTooterでは使えているみたい?
グルドンがMastodonの新しいバージョンのものを適用した。バージョンはv3.0.1とWebUIには表示されていた。だが、v3.0.1よりあとに追加された機能がなぜだか使えるようになっている。N氏やM氏となぜだろうね、という話をした。グルドンのソースを開示するよう請求することになった。これが11/30の出来事。確認できる範囲だと、11月30日11時前にM氏がグルドン運営者のdrikin氏(GitHub)氏とmazzo氏(mazzo氏(ITmedia マストドンつまみ食い日記連載者)にメンションを送っている。
何回かメンションをして返信してもらうよう試みるものの、全く返信がなく、12月2日 3時30分前にdrikin氏がやっと初めて返信をしてくれた。1日半以上も返信を貰うのに時間がかかった。drikin氏が忙しいことは理解しているが、この待っていた1日半の間にグルドンで投稿をしている。請求への対応が面倒であることは理解しているが「忙しいから後に対応するね」くらいの返信があっても良かったのではないかと思う。対応は以下の通り。
@mayaeh @blank71 @okita MixlrのプレイヤーをInjectしてる以上のコードは変更してないです。
大きくコード変更してたらもちろん公開しますがそもそもその意思がないので特にアクションしてません。単にrelease追いかけてるだけっす。
どのリリース使ってるかはサーバーについてを見ていただければと。
グルドンのコードをv3.0.1の最新に追従しつつ固有のコード変更はRevertしました。これでupstreamとコード的には一緒になったはずです。 cc @blank71 @mayaeh @okita
つまり、開示するのは面倒であるからMastodonの素の状態、バニラに戻すね、という対応だった。開示請求はバニラに戻したことによって無効になった。
なぜv3.0.1より新しい機能が使えるのか、という疑問はのちに自分の推測で解決した。グルドンに適用したアップデートはv3.0.1の正式リリースではなく、masterブランチ、つまり開発されている最新のもの。drikin氏は「新バージョンのWebUIのHTML/CSS」を「mixlr埋め込みを施した既成の古いバージョンのHTML/CSS」に上書きしてしまっていた。バージョンがあがってもWebUIが以前のままだからWebUI上では機能が使えない状態にあった。
そして、1月4日に、mixlrのウィジェットを加える変更がグルドンになされる。
🤔
前回のことがあって、今回はどこかにソースを開示しているのかと探し回ってもなかった。
前回の開示請求はバニラに戻したことで無効になったが、今回の変更でこの請求は有効になるのではないかと思った。そしてこの投稿をした。
@drikin mixlrのウィジェットを表示する変更を施した場合、グルドンのソースは開示する必要があるのではありませんか?
肝心なこと言ってなかった。ソース開示を申請します。
それに対する会話と対応は以下の通り。
@blank71 手違いなので戻しました。Blankくんの理論は、正論だし何も間違ったことを言ってないけど、現実的には正直迷惑レベルです。ボランティアで運営してる以上、メンテのコストのバランスは非常に重要で、この点だけ見れば些細なことかもしれないけど、この手の要求に全部答えていたらメンテし続けられなくなるし、こういう行動がその呼び水になる可能性を考えると容易に対応するのは難しいと思ってます。
@drikin 自分がめちゃくちゃ迷惑なことをしていることは自覚しています。反省もしています。
@blank71 僕が伝えたかったのは、仮に正論でも世の中は本音と建前でバランスして成り立ってるので、そのバランスを見極めないと結果何かを壊れてしまうよってことで、それをこの過程で体験してほしかったけど、これだけ大人たちを巻き込んで騒いでしまったら素直にごめんなさいすることも大事だよってことかな。これもいい経験になってくれればいいなと思ってます。
あとは僕の投稿。
今回の請求は、mixlrの変更のみでブラウザから変更点が確認できることは知っていて、それは些細な変更だし指摘としては説得力に欠けるものだと僕は思います。
以前、同様の変更があったときに疑問点があって公開を申請しました。drikinさんは面倒くさいという理由でバニラに戻して、公開を回避しました。あとで自己解決したのですが、疑問点は「WebUIの表示バージョンよりも新しい機能が使えるのはおかしい」でした。つまり、drikinさんは「新バージョンのWebUIのHTML/CSS」を「mixlr埋め込みを施した既成の古いバージョンのHTML/CSS」に上書きしてしまっていたのです。バージョンがあがってもWebUIが以前のままだから機能が使えない状態にあったということです。
これと同時にグルドンは正式リリースのMastodonのソースではなく、master、つまり最新のアップデートを適応してしまっていることが発覚しました。最新なのでバグがあったりします。たまたまグルドンはバグを踏むことはなかったけど、たしか2、3日前だったらヤバかったはず。
以前の申請はバニラに戻すことで開示を回避したわけで、今回しれっと元に戻したことは非常にevilな行動だと僕は思います。
めちゃくちゃ自分は面倒なことをふっかけたことは自覚しているし反省しているけど、今の状態ではMastodonの運営者としては信用に値しないと外部から見られてしまうことは事実で、真摯な対応でそれを払拭するべきだと思うのです。
evilがワードとして失礼に当たると思うので、evilと表現したことは謝罪します。すいませんでした。
evilという表現はあまりにも酷い、という意見があったのでevilという表現を使ったことに対しては謝罪します。
drikin氏の投稿。
Mixlrの復活は僕の手違いなのでまた元に戻しました。
厳密に言えば改変かもしれないけど、MixlrのEmbededのタグを(無修正で)一行追加しただけなので開示要求に応じるコストは払えないのが現実なので応じる気はないです。
要求がある限り復活はできません。あしからず。
そんなに見たいなら改変部は公開しておきますが、この手の要望に片っ端から答えてたら現実問題ボランティアでメンテするのは辛いです。
僕はAGPL議論がしたかった訳ではなく、過ぎた正論議論をすると和を崩して失うものがあるよってことを感じで欲しかっただけなので、そこが伝わらなかったのは残念ですが、これ以上話が長びくと若者は学べず逆効果になりそうなのでこの話しはこれにて終わりにしましょう。
おわり。
僕が騒動を起こしていたときのグルドンのLTLの反応は以下のリンクから閲覧できます。
続報読んでください。
-----
おきもち
drikinさんはソフトウェアエンジニアなのにライセンスを守ろうとする姿勢がないのは残念。あと、私が若者であるかどうかについては全くの無関係であり、私の行動が”コミュニティの和”を壊すものであると思うなら、すぐにAGPLを遵守する心意気を見せて欲しかった。
mazzoさんは「マストドンつまみ食い日記」を書いていた人なのに、今回の一連の出来事について仲裁したりアドバイスしたりすることなく無視・沈黙し、私の言葉の端を揚げ足とりするようなことしかせず、非常に残念だった。
この記事と続報については客観視できるように最低限の情報しか掲載していないが、マネージャーに暴言を吐かれたりした。コミュニティの中核人物に悪と決めつけられたら所属しているユーザーからは悪だとみられてしまうのは怖いと思った。
-----
変更履歴
01/05
・mstdn-pickerの追加
01/06
・見やすいように整えました。
・mixlrについての説明を追加。
01/07
・続報を追加。
06/12
・運営者についての記述を追加。
・おきもち欄を追加。
この記事が気に入ったらサポートをしてみませんか?