SWFファイルフォーマットとライセンス
今回は、SWFを弄るときに必ず理解しておかないといけない、ライセンスに関する注意点をまとめてみます。
まず、公式なSWFファイルフォーマットの資料として、Adobe Systems Inc. (以降、Adobe) が"SWF and FLV File Format Specification" (以降、公式仕様)を公開されています。 (http://www.adobe.com/licensing/developer/)
この公式仕様の利用許諾が "SWF and FLV File Format Specification License Agreement" になるのですが、この中に次のような文があります。
3. Restrictions
a. You may not use the Specification in any way to create or develop a runtime, client, player, executable or other program that reads or renders SWF files.
つまり、公式仕様を読むと、オレオレFlash Playerを作ったり、swfファイルを読み込んで解析したり弄くったりするプログラムを作ることが制限されてしまいます。配布だけでなく開発自体が制限されているので、実験用プログラムを作ることもできません。
このライセンスに抵触しないために、swfに関する多くのオープンソースプロジェクトでは、既存の公開されているswfファイルを解析することによってswfファイルフォーマットを調べています。(Flash IDEを使用して作成したswfファイルを解析することは、Flash IDEのEULAで禁止されているので、第三者が作成したswfファイルを解析しなければなりません)
特に、GNUの優先プロジェクトにも指定されているオープンソースFlash PlayerのGnashでは、開発者はFlash Playerを含めてAdobe製ソフトを一切利用しないことで、EULAに抵触する危険性を避けています。(How do Gnash developers work with the Adobe/Macromedia EULA?)
これからSWFファイルを弄り始める人は、こういったオープンソースプロジェクトによって公開されている情報を調べることで、公式仕様の利用許諾を回避してSWFファイルを弄ることができます。私がよく参考にしているのは、独自スクリプトからswfファイルを生成するSSWFというプロジェクトで公開されている、"Alexis' SWF Reference"です。
開発者にとってはなにかと苦労の多いライセンス問題ですが、近日中に大きな変化が起こるかもしれません。昨年、AdobeがFlex 2 SDKをオープンソース(MPL)にするというニュースが流れました。現時点ではFlashコンポーネントの部分のみがオープンソース化されていますが、http://labs.adobe.com/wiki/index.php/Flex:Open_Sourceによると、
We expect to complete the transition to a fully open source project (source code for the compiler, infrastructure for community contributions, etc.) by early 2008.
とあり、もうすぐActionScript 3.0 コンパイラやswf生成部分のソースコードが公開される予定になっています。この部分がMPLになるだけでswfファイルフォーマットに関するかなりの部分の正確な情報が得られそうですが、さらにFlex 2 SDK EULAによると、
1.12 “SDK Components” means the files, libraries, and executables contained in the directory labeled Flex SDK 2 or, as applicable, subsequently labeled directories (e.g. Flex SDK 2.1, Flex SDK 3, etc.) (except for the contents contained in subdirectory “samples”), including the SDK Source Files, build files, compilers, and related information, as well as the file format specifications, if any, included as part of the Software as described in the Documentation or a “Read Me” file accompanying the applicable Software.
となっているので、Flex 2 SDKが完全オープンソースになる時に、同時にSWFファイルフォーマットの公式仕様もMPLで公開されるかもしれないとワクワクしながら待っていいます。
トラックバックURL
この記事へのコメント
flash_fileformat_specification.pdf
とかの扱いってどうなるんですかねー^^;
もっとも、訴訟を起こされれればそれなりに応訴しなければならないので大変だと思いますが個人ユースならそんな心配もないでしょう。
返事が遅くなってすみません。
そのファイルの存在を知らなかったのですが、ファイル名で検索して見つかったPDFファイルには、同じような条項が書かれていました。
この条項が昔から存在していたのかどうかは、私は存じません。
私は法律には疎いのですが、仕事でもswfファイルを触っているので、ライセンスには気を使うようにしています。
SWF仕様書をオープンにするかどうかはAdobe内でも考慮されているらしいので、みんなで「オープンにして欲しい」と叫べば今後オープンになるかもしれません。
http://www.adobeforums.com/webx/.3c0650e3