ライセンス切り替えで学んだこと
原文は Salvatore Sanfilippo により に公開されました。 このブログを購読する
昨日はとても濃い一日だった。イタリアでは5月1日は労働者の祝日で、朝は友人たちとエトナで4時間歩いた <3。歩くのが大好きで、コーディングの合間にもよく休憩がてら歩きに出て、脚に数キロを足してからキーボードに戻ってくる。エトナを歩くのは本当に素晴らしい(エトナはヨーロッパ最大の活火山で、僕はたまたまその山麓にあるカターニアに住んでいる)。
そして18時には家に戻り、AGPLへのライセンス切り替えについてのブログ記事を公開し、コメントやフィードバック、プライベートメッセージを追いかけ始めた。その過程でいくつか学んだことがある。
1. 細かな条項の違いは、個人的には違いを生むと思っているが、それはさておき、AGPLとSSPLの最大の違いは、AGPLが「理解されている」ことだ。一般的に、昨日初めてはっきりと気づいたのだが、ライセンスにおいて重要なのは、何ができて何ができないかという内容だけではなく、そのライセンスがどれだけ理解され、検証され、採用されてきたかという度合いなのだ。
2. この件に関するサイモン・ウィリソン(Simon Willison)の言葉(https://simonwillison.net/2025/May/1/redis-is-open-source-again/)にはとても心を動かされた。世界の違う場所に住む、年齢もソフトウェアのバックグラウンドも似たような別の人間が、これほどまでに同じように物事を感じているというのは、とても不思議なことだ。僕自身、Vector Setsを書いていたときも、もしそれがAGPL(あるいは自分が理解している他のオープンソースライセンス)でリリースされないのなら、絶対に使いたくないと思っていた。コミュニティのかなりの割合の人がこの感覚を共有していることで、今日のような複雑なソフトウェアの状況においても、結局はオープンソースが勝つのだと思う。
3. 人々は今でもソフトウェア・ディストリビューションをとても気にかけている。僕が気にかけていなかったわけではないが、以前そこで手痛い目に遭ったことがある。僕はかなり初期からのLinuxユーザーで、SlackWare 3.1あたりを使っていた。その後何年にもわたってデバイスドライバを書いたり、カーネルにいくつかパッチを送ったりし、DebianではhpingやVisitorsというウェブのログ解析ツール、dump1090、Redisなど、自分が書いたものが10個ほどパッケージ化されたこともあった。でも、やがてあらゆる断片化や、特定のプロセスの硬直性(Linuxカーネルにおけるモジュールのバイナリ互換性など)、一貫した設計の欠如、すべてのライブラリを内包したソフトウェア配布のためのバイナリフォーマットの不在などを目の当たりにするようになった。僕はデスクトップではMacOSに切り替え、サーバーではLinuxをとても実用的に使い続け、むしろディストリビューションが提供するものに頼るよりも「tar xvzf software.tgz; make」する方が気楽だと感じることの方が多くなった。そして、たぶん、依存関係ゼロでソフトウェアを出荷することへの僕のこだわりも、そこに関係しているのだろう。でも、人々は今でもディストリビューションをとても大切に思っていて、物事をできる限り自動的で再現可能にしたいような場面では、Redisがディストリビューションのパッケージとして存在することが重要なのだろう。実際、今では多くの人がRedisはディストリビューションに復帰するのかと尋ねてきている。
僕の考えはシンプルだ。RedisとValKeyはすでに大きく分岐しており、今後さらに大きく分かれていくだろう。ディストリビューションは両方を提供すべきだと思う。そうすればユーザーは選択肢を持てるし、時には機能の違いによってその選択は否応なしに決まる。単純な話、ベクトル類似検索が必要ならRedisを使う必要があるし、逆に会社にAGPL禁止ポリシーがあるならValKeyを使う必要がある、といった具合に。
4. 人々は僕にとても親切だ。あちこちのコメントには厳しい意見もいくつかあったが、それは当然のことだし、むしろ健全ですらある(そもそも多くの企業がSSPLなどのライセンスではなくOSI承認のライセンスでなければ使えないと考えるようになっている理由の一端でもある)。それでも、僕個人に向けられるときは、たくさんの温かい言葉を目にする。ただ一言、ありがとう、と言いたい。
5. 僕らはある種のバブルの中に生きている。どこかのフォーラムで、あるとき誰かが「そもそもRedisからフォークのどれかに乗り換えたことある?」と言い、そこに「ないね」「使えればどっちでもいい」といったコメントが連なった。それはValKeyについても同じで、もし人々が apt-get install redis と打って、代わりにValKeyがインストールされ、SETやGET、DELといったコマンドをいくつか使うだけなら、彼らは気にしないということだ。言いたいのは、ソフトウェアはもはや1998年(オープンソースにとっても、インターネットにとっても、僕自身にとっても非常に重要で象徴的な年だ)の頃のものではないということだ。当時はみんながオープンソースのライセンスの専門家だった。今はほとんどの人、特に新しい世代は、より実用的に物事を捉えている。だから、これらすべてはとても重要で(僕にとっては死活的に重要だ)、しかしすべての感性が同じではないということも理解する必要がある。結局、最も大切なのは、良いソフトウェアを届けようとすることなのだ。
記事をランダムに読む
コメント
ログインしてコメントする