2008年01月10日

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で公開されるかもしれないとワクワクしながら待っていいます。

klab_gijutsu2 at 13:54│Comments(4)TrackBack(0)flash 

トラックバックURL

この記事へのコメント

1. Posted by sayaama   2008年03月11日 01:15
SWFのMacromedia時代に公開されていた、
flash_fileformat_specification.pdf
とかの扱いってどうなるんですかねー^^;
2. Posted by IP関係者   2008年04月12日 16:27
一方的なライセンス条項であって、法律的には無効である気がします。

もっとも、訴訟を起こされれればそれなりに応訴しなければならないので大変だと思いますが個人ユースならそんな心配もないでしょう。
3. Posted by methane   2008年04月14日 16:58
sayaama様
返事が遅くなってすみません。
そのファイルの存在を知らなかったのですが、ファイル名で検索して見つかったPDFファイルには、同じような条項が書かれていました。
この条項が昔から存在していたのかどうかは、私は存じません。
4. Posted by methane   2008年04月14日 17:22
IP関係者様

私は法律には疎いのですが、仕事でもswfファイルを触っているので、ライセンスには気を使うようにしています。

SWF仕様書をオープンにするかどうかはAdobe内でも考慮されているらしいので、みんなで「オープンにして欲しい」と叫べば今後オープンになるかもしれません。
http://www.adobeforums.com/webx/.3c0650e3

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント