views:

1544

answers:

2

Google is failing me on this one.

Let's say I have some ECMA script that I've compiled to an ABC bytecode file using the compiler in the Open Source Flex SDK.

Is it within the terms of use (That I can't seem to find) for me to use the AVM2 specification from adobe to create a new interpreter for this file?

The best I can manage is a sentence in wikipedia that says that the flash specification is available "without restriction". I'm not making a flash player though, and AFAIK the AVM2 spec is separate from the SWF spec.

Does anyone know off-hand if my intentions are legal?

+3  A: 

Adobe open sourced the ActionScript virtual machine as a Mozilla project named Tamarin under an MPL/GPL/LGPL tri-license. If I remember correctly, this source code also includes documentation for ABC bytecode. With that in mind, it seems to me that you're free to build your own interpreter.

joshtynjala
A: 

You are certainly free to interpret ActionScript byte-code; the wonderful part about their open-source projects (and open documentation), is that you can read a solid reference manual and implementation, without being restricted by it (there is no NDA, and so forth). This is in contrast to dark times, where bytecode had to be reverse engineered in a "clean-room" environment.

I'd like to point out to the very good public domain project by Thatcher Ulrich and company, entitled: GameSWF. It includes an ActionScript bytecode interpreter amongst many other very nice things.

It's substantially different than Tamarin, in that it does not build up a cache of cpu operations, it's simpler, it uses a switch statement. This means it will run slower than Tamarin on heavy loops.

GameSWF is in active development and is available under the tu-testbed project on sourceforge.

Charles Pritchard