「AGPL」に注意

  オープンソース  

おごちゃん

最初は長いエントリを書きかけていたのですが、ウケも悪そうなので要点だけにします。

CassetteOSの「公式アプリストア」のために調査をしています。

その過程でAGPLが随分と酷い使われ方をしていることを発見したので、情報共有として書いておきます。

AGPL周辺の最近の諸問題

AGPLについての説明は、旧弊社のエントリで書いています。

第7回 AGPLの勧め

実はこのエントリ、いまだに結構アクセスのある人気エントリだったりします。

というのはいいとして、AGPLとはオリジネータ目線では「勝手に商用サービスするのが難しい」ということで、GPLにある「ソース公開の強要」を「ネット越しでの利用」にも拡げたというそういったライセンスです。 人によってはGPL系ライセンスを「意地が悪い」的に表現したりするのですが、その意地悪さをさらに強化したようなライセンスです。

これは本来、「自由なソフトウェア」がクラウド業者に囲い込まれてしまうことを避けるということで、勝手にクラウドサービスに使って「配布してないからソースは公開しないよー」というGPLにあった穴を塞ぐための「意地悪」です。 MongoDBの残念な展開のことを考えれば、これはある種の「自衛」とも言えます。

それはいいのですが、これを「意地悪」としか言いようのない使い方をしているプロダクトが随分あることに気がつきました。

具体的にどうするかと言えば、

  • 自分達のソフトウェアをAGPLで公開する
  • 自前のSaaSの提供を始める(収益源となります)
  • AGPL外の高機能をSaaSにのみ提供する

というものです。

つまり、オープンソースを開発する企業が収益のためにSaaSをやっていて、そのサービスの中だけ「高機能」が提供されているということです。

「意地悪AGPL」の問題点

単純に「オープンソースのビジネスモデル」という目で見れば、実に頭のいい方法だと言えます。 「高機能が有料オプション」というものは昔からありましたが、「SaaSでのみ提供」というのがあるのが、「今風」です。

SaaSの問題

「ビジネスモデル」という点では頭いいのですが、「ソフトウェアの自由」という側面を見ると、ちょっと厄介です。 何が厄介かと言えば、「高機能」がSaaS縛りになってしまうからです。

つまり、そのベンダ(「原ベンダ」と呼ぶことにします)が提供しているSaaS以外では、「高機能」が使えないということです。 ビジネスの保護としては良いことなのですが、オープンソースの特徴であった「ベンダを自由に選択できる」という点が損われてしまうわけです。

100歩譲ってこれが「有料オプション」であれば、「有料オプションを購入した他のSaaS」とか「有料オプションを契約したオンプレシステム」で使うことができます。 それであれば「サ終」が起きても心配はありませんし、一次ベンダのサービスに不満があれば他のベンダを選択することもできます。 ところがこの形態であれば、原ベンダが全てとなってしまいます。

「有料オプション」の問題

また、これはかつてもあった「有料オプション」でもあった問題ですが、コミュニティに「プロダクト愛」が育ちにくくなりますし、「分断」をもたらします。

オープンソースはオープン開発があるのが大きな利点でした。 つまり、利用者が改良したものがフィードバックされてて、ソフトウェアが良くなる。 そういったサイクルがあるのがオープンソースでした。

様々な都合から敢えてそれをしないプロダクトも存在していますが、それであっても修正版のソースは公開されますから、間接的にはプロダクトへのフィードバックとなります。 実際、直接フィードバックを受けてつけていなくても、そのフィードバックを元に自前で再実装してリリースすることは少なくありません。

しかし、その改良が「有料オプション」と関係のあるものだったらどうでしょう?

たとえば「有料オプション」にしかない機能を誰かが作ったとします。 それはオープンソースとして公開されるでしょうか? おそらくは原ベンダはそれを「公開」はしないでしょう。 なぜなら有料オプションの部分がオープンソースで存在してしまえば、有料オプションを購入する人はいませんから。 そして、オープンソースのタチの悪いことは、原ベンダが作ったものよりも良いものがオープンソースに存在してしまいかねないということです。

もちろん改良した人は自分でその改良部分を公開することには何の問題もありません。 しかし、それをフィードバックすることはできませんから、どうしても公開したければ「フォーク」することが必要となります。

そうなると、「同じ(ような)ソフトウェアが複数存在する」ことになってしまい、無用な混乱を起こしたり、コミュニティが分断されたりします。 単純にソフトウェアのことだけ考えれば、「それがオープンソースのダイナミズムだよ」と言えるのですが、ユーザから見れば「どっちが正統?」という悩みが起きたり、長期的には別物になったりします。

と言うか、もっとぶっちゃけた言い方をすれば、これは「オープンソース」を本来の使い方をするのではなくて、単なる

無料お試しセット

として使っているに過ぎない… という言い方もできます。 そして、色々な誘導を見ていると、これは単なる穿った見方ではなくて、意識してそうやっているのだということが伺えます。 つまり、もはや「オープンソース」は単なる宣伝のための手段であって、ビジネスの本丸はSaaSなわけです。 もうちょっと意地悪な言い方をすれば、「AGPLで公開されているコミュニティエディション」はオープンソースなどではなく、「無料お試しセット」に過ぎないと思った方が間違いはないでしょう。

まとめ

今やAGPLは「地雷ライセンス」になりつつあります。

本来の「自由を提供するライセンス」だったものが、「不自由をビジネスにするライセンス」に成り下がってしまいました。 いや、AGPL自体がそうなったのではなくて、「コミュニティ版だけAGPL」という運用をすることで、

SaaSの囲い込みツール

となってしまいました。

色々論考することは長くなりますしあまり実りがなかったのでやめますが、現在AGPLはこんな状況にあるということを書いておきます。

最近のエントリー

金曜ごはん#18 「パパっとピザ」

金曜ごはん#17 「角煮まん」

「AGPL」に注意

目玉親父の実現可能性が上がった話

2025年末のnpm仕様変更とOIDC移行のメモ

金曜ごはん #16「ふわふわ饅頭(マントウ)と特製甘みそ豚肉」

CassetteOSマイクロカーネルの実装

地震

あけましておめでとうございます🎍

金曜ごはん #15 「フジツボ香るポトフと手作り肉まん」

ある冬の晴れた日、海岸でフジツボに出会いました

金曜ごはん #14 「手作りつくね鍋~スーパーに導かれて~」

SaaS基盤のアイディア (公知化情報)

第18回 3年以内に起きる「オンプレ回帰」の5つの具体的イベント予測

金曜ごはん #13 「醤油と塩の2種のお鍋」

CassetteOSのロードマップ

Orcinusを開発した理由

12月スタート!事務所をクリスマス仕様にしました

金曜ごはん #12 「リピートハンバーグ」

第17回 業務システムをオープンソースで作ること