Blenderアドオン、オープンソース、海賊行為☠️

(記事タイトルはストリーミングのタイトルを和訳したもの)

CG Cookieの Jonathan Lampel さん、Jonathan Williamson さん による、"Blender Addons, Open Source, and Piracy ☠️"というタイトルで行われたストリーミングのアーカイブを見ました。

見て考えたことっていうか、メモ。個人的な見解。

オープンソースの3DCGソフトであるBlenderは、無料で使うことができ(メール登録の必要すらない)、さらにAdd-onという機能拡張によって「ぼくのかんがえたさいきょうのぶれんだー」を作ることが出来て「男子ってこういうの好きでしょ」的魅力に溢れています。

でもよく考えたら「無料でソフト配ってて開発するコストとかどうすんの?」ってなりますよね。

Blender本体は Blender Foundation という財団があり、またコア開発者は Developer Fund という基金により雇われています。平たくいうと(資金面は)パトロンが支えてます、っていうところ。支援もできるので興味のある方はどうぞ。

最近、カラーとかUbisoftのアニメ部門がBlenderを支援するって話題があったので、なんとなく知っている方もいるんじゃないかな、と思います。

そして、機能拡張のAdd-on。Add-onは誰でも作ることができ、有料、無料いずれの形ででも配布することができます。有料販売だと Blender MarketGumroad のようなサイトで見ることができます。

さて、BlenderはGPLライセンスの元、配布されています。そしてBlender Python API を使う Add-on は GPLライセンス下で配布することが尊重されるもの、としています。

また、この記事のコメントでもBFのボス、Tonさんは「Add-onはGPL互換のライセンスであるべき」、とも書いています。

Blender add-ons (Python scripts using the Blender API) have to be GPL license compatible. You pay for the service to download it, not for the software. Never feel bad about harming any GPL developer by sharing her/his code. Sharing is an act of love!

この辺りを聞いて「ん?何か聞いたことのある話だな?」って思った方は多分こちらの記事でも読まれたんでしょうか?

あるいはこの辺り?

上記2つの記事はWordpressのテーマ、プラグインについての話題ですが、BlenderのAdd-onの話題と似てますよね。

うん、「だいたいの落としどころは他でとっくの昔に出てたね。」ってことです。

とここまで「クソ長い前置き」。

Blender Add-onは無料であるべき

誤解されている方は多いと思いますが、GPLライセンス下でも販売は可能です。「フリー」は無料の意味ではなく「自由」の意味。

無料で配布しても、有料で販売しても、それは自由

Add-on を「有料で販売する」意味は?

継続したソフトウェアの改良のため。Blender本体側のPythonAPIが修正された場合にAdd-onが動かなくなるなど起こった時の対応ができるように。

サポートを提供するため。そのAdd-onを確実に使えるようにするための支援やドキュメンテーション。

(規模の大きなものになればなるほど)使い続けてもらうためのコストもばかにならないので、コストが回収できないと更新が止まってしまうことも。

リスク:同じような種類の Add-on が乱立する

ギャグみたいな話なんですけど、これはその時の流行りなんですかね、同じような用途の同じような機能を持つAdd-onが出てくることがあります。片方は有料で、片方は無料とかそういうパターンも。

ユーザー(見込み含む)は無邪気に「あっちのAdd-onにある○○っていう機能便利そうだから付けてよ」なんていう始末。カオスですね。

リスク:本体機能に同じような機能が出来る(取り込まれる)

(販売する)Add-onとしてはお役御免になりました、的な状況に追い込まれるのでこれはこれでどうなんかな?って思いますが、本体の機能として取り込まれた方がその機能としての寿命は長くなります。

なので、外部のAdd-onで公開しておいて、本体に取り込まれるように打診する、されるっていうのはこれまでもありましたし、B-SurfaceなどはGPL Editionとしてパッケージの中に含まれていますね。

GumroadやBlender Merketに公開しているものについては、Blender本体に取り込まれる場合にライセンス的に本体に取り込んでOKかどうか調整が必要になりますね。

Add-on購入者が他の人に無料で譲渡しました、これは海賊行為では?

GPLでは再配布の自由を保証するライセンスなので、海賊行為にはあたりません。

GPLが適用されたソフトウェアを料金を取って配布する場合、わたしは公衆が料金なしでもソフトウェアを手に入れられるようにしなければならないでしょうか?
いいえ。しかし、もし誰かがあなたに料金を払って複製を手に入れたならば、GPLはその人が公衆にその複製を、料金のありでもなしでも、リリースする自由を与えています。たとえば、誰かがあなたに料金を払ったならば、その人は複製を一般公衆に向けてウェブサイトで公開することが可能です。

ここが有料の Add-on を作っている方が懸念しているところですね。コピー置かれたら売上落ちちゃいますからね。

なお、自分が作っていないのに「私が作りました」というような形(Re-branding)での再配布は著作権の点で不可能でしょう。

写真などで「フリーで利用できるけど用途を限定」ってできましたよね?Add-onでも同じことはできないですか?

例えば写真や3Dモデルでは特定の用途でのみフリーで利用可能なライセンスとして「Editorial」ライセンスがありますが、これは写真やアートワークについて「ニュース等の記事で利用可能だが、商用利用は不可」というものです。

これをAdd-onに当てはめる…ちょっと考えづらいですね。「GPLどこいったん?」っていうのが先に来ますし、「用途を限定」っていうのがピンと来ないし、さらに言うとより多くの人に使ってもらうというのではない印象を受けます。

(コードを公開せずに)有料で販売している人はコードの盗用や非互換なライセンスのコード流用なんてしていないんですよね?

そこは「it depends」って言う他無いですね。開発者のモラルというかその辺。

また、BlenderのAdd-onはPythonスクリプトなので、購入した時点で他のAdd-on等のコードと比較できてすぐにバレちゃいますよね?あまりにリスクが高くないですか?

実のところ公開・非公開関係ないのですけれども、Github等リポジトリで公開して、さらに(マーケットプレース的なところで)有料で売るというパターンだとコードはすでに公開されて衆目にさらされているのでそういう疑念は生じにくくはなりますね。

これまで無料で公開していたAdd-onを別の人が有料で販売し始めました。

結論から言うと「買いたくなければその人から買わなければいい」ですね。それは個々で判断すべきこと。

GPLだと改変してその人のバージョンを配布(有料でも)は可能なので、あとはコミュニティに承認されているかどうか、とか別の側面でどうかというところです。

「元の作者のアクティビティもなく、長らくメンテナンスされていなかったものを引き継いで、現在のバージョンで動くようにしてリリースしました、だけど今後のバージョンのリリースができるように支援してくださいね。」って宣言しているパターンだったら、アリかなあと個人的には思います。

ただ、「引き継いで」の部分がすっ飛ばされて、例えば「2.8で動かせるようにしたぜヒャッハー、ついでに有料ね」っていうのだと「おや?」って思いますね。

元の作者が払ってきた、ツールのコンセプトから実装、サポートといった「これまでの努力」に敬意を払っているかどうがわからないこと、例えば本体のプログラムのバージョンアップに合わせた改変(Migration)のみ、ということであれば実力も測れない(「お前ロジック組んでないじゃん」のパターン)ので、「本当に面倒見てくれるの?」ってね。

GPL的にいうと「改変したあなたのバージョン」はライセンスを変更しない限りある程度自由にできる、のですが、改変した人はあくまで「フォークした」だけであって「原著者」ではないことを考えると、ね。

ソフトウェア・プロジェクトの所有者の話が出てくる ノウアスフィアの開墾 あたりも関連してくると思いますのでそちらも合わせてどうぞ。

お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!