being open about being closed

I saw an article float by on the newscurrent yesterday, in which Adobe evangelist James Ward talks about misconceptions about Flex. This one definitely caught my eye:

Flash Player is 100% Proprietary.

The core of Flash Player is the Tamarin Virtual Machine, which is an open source project under Mozilla. While the SWF file format is not fully open, it is documented by the community on osflash.org. There are numerous open source products that read and write SWF files. The Flash Player’s product direction has traditionally been heavily influenced by the community and their needs. The core language for Flash Player is an implementation of ECMAScript 262, which is the specification for JavaScript. Flex also uses CSS for styling of components / applications. Adobe AIR uses web standards as the basis for desktop applications as well as Open Source technologies like Tamarin, Webkit, and SQLite.

We’ll ignore the wordsmithing genius involved in choosing “100% proprietary” as the misconception to address, and even let the non sequiturs about open source elements in other Adobe products go without much comment. Normally those things would rankle a bit, but in the light of the other gems present, I can’t really be bothered.

Gem the first:

The core of Flash Player is the Tamarin Virtual Machine, which is an open source project under Mozilla.

It is indeed true that Tamarin is a major piece of Flash Player 9, as it’s what runs the ActionScript language — but not the objects of the API! — and we’re quite glad that Adobe opened it up for us to develop together into an implementation of JS2. But I think it’s pretty misleading to imply that the majority of Flash is provided by Tamarin: it’s quite possible to have Flash that doesn’t use ActionScript, but everything relies on the implementation of the Flash VM itself — with its own bytecodes, graphics semantics, object model implementation and data management. The Flash VM is a huge piece of engineering, and one that Adobe has not opened up at all, though Flash artists have been clamoring for years to know more about the platform they invest so heavily in, to say nothing of people wanting to bring Flash capabilities to other operating systems and devices. Ryan Stewart also seems to think very little of the Flash VM, as he wrote back in October:

But I look at Adobe and what we’ve done. We’ve open sourced the guts of our runtime, the virtual machine. All that’s left is pretty much just the proprietary codecs and we’ve even addressed that somewhat with H.264 support.

All that’s left is pretty much the most significant piece of the Flash runtime, I would say, which is the engine that drives the complex graphics, provides the interaction model for ActionScript, manages data, and provides access to multimedia input and output. When they’re marketing Flash as a platform, Adobe likes to list out all the amazing graphical and video capabilities, but when they don’t want people to think too hard about the fact that writing to Flash is committing yourself to proprietary platform, I guess they aren’t such a big deal. Ryan’s comment on that very post indicate how important he thinks the graphical capabilities are for “RIAs”, but I suppose it’s more convenient to minimize them when people start asking questions about the mystery meat they baked into their applications.

Adobe doesn’t even permit people to use the specification to implement anything other than FLV tools, though the specification is written and published — just be sure you don’t read it, because then you’re tainted and can’t work on an open implementation of Flash, or open tools, etc.

Which brings us to gem the second:

While the SWF file format is not fully open, it is documented by the community on osflash.org.

This is quite the brazen comment. “The community” here are people who reverse-engineered the behaviour of Flash so that they could write tools to make the Flash Player’s platform more valuable, while Adobe’s license terms tried to stop them! They have put themselves in legal jeopardy in some jurisdictions (and Adobe has in the past had people arrested for producing tools that manipulate their license-protected technology) and James has the nerve to call them “the community” and indicate that their work is a remedy for Adobe simply not being willing to remove the field-of-use restrictions on their existing documentation. (I haven’t read the specifications, and I won’t, because I was warned off of them when I was working on gameswf, precursor to gnash.)

Mike Chambers called Mozilla’s announcement of Prism “disingenuous”, I think largely because he misunderstood the difference between “a more convenient way to launch a web app” and “a way to build non-web apps using the same technologies”. Maybe more about that craziness later, but for now I’ll be interested to see to what extent Mike’s concern for disingenuity extends to his own colleagues.

12 comments to “being open about being closed”

  1. noncat
    entered 12 December 2007 @ 3:10 pm

    James Ward is a bullshitter!

  2. entered 13 December 2007 @ 9:25 am

    Mike: A nicely written piece. With all due respect I think its a bit misleading to include the Dmitry case in the blog post. That happened 6 years ago – indeed before many of us who currently work at Adobe were even thinking about ever joining the company.

    There are a ton of new people who now work at Adobe, many with open source project experience like myself. And the changes that we’ve made lately, including today’s announcement of publishing the AMF specification, the open sourcing of our Java implementation of LiveCycle Data Services, the publishing of the PDF specification to ISO, the open sourcing of the Tamarin engine (which you mention), and the open sourcing of the Flex framework, compiler and debugger, show a serious movement towards being more open with our technologies.

    Mike

  3. entered 13 December 2007 @ 5:15 pm

    [...] would be a good time to go add it to your feed reader of choice. His latest post on Adobe’s attempts to increase the social acceptability of their closed platform does a great job at distilling some of the history and strategies being employed.   [...]

  4. entered 14 December 2007 @ 3:11 am

    [...] shaver’s response [...]

  5. entered 14 December 2007 @ 4:11 pm

    Hi,

    Thanks for your feedback on the InfoQ article. I’ll try to be more careful with my wording on this topic.

    -James

  6. entered 17 December 2007 @ 5:40 am

    This topic has been discussed so many times. And each time we realized, people who ask for open-sourcing Flash Player don’t know what they would do with it. They have no idea? What you gonna do, if you get source code of Flash Player?

    I can think of one solid use-case, which is to port it to various platforms not supported by Adobe.

    Everything takes time and I am sure, when it would be right Adobe might open the Flash Player also. I am very positive about their approach since they have acquired Macromedia. Flex SDK is open, AMF is going open, BalzeDS is open and surely other things would also go open…

    You mentioned one particular case “Arrest”, AMFPHP has been there for last three-four years and Macromedia has been pretty ok. Even Adobe is cool with it, I have seen Adobe guys talking about it, allowing other developers to use it and write articles about AMFPHP for Adobe devnet?

    I think, Adobe is a company that seriously listens community feedback/requests. They have been doing most of things right so far and I am optimistic, they would do it right…

    Let’s not be religious (FOSS) and ask for opening up everything for that sake… Rather let’s spend our energy giving right use-cases to Adobe or any such company so that they start feeling “yeah it makes sense to open up X thing”…

    I am neither Adobe employee nor biased towards one particular technology, it pisses me off when people (slashdot or like that) need a reason like this…

    Thanks

    -abdul

  7. P Buchanan
    entered 17 December 2007 @ 2:02 pm

    Whine whine whine. You are like my 4 year old that didn’t get the biggest piece of pie. Adobe has done more open source initiatives in the last few years than they have in their entire past and you are whining about it? Are you serious? They can’t open source the entire company overnight, nor would I want them do. I’ve been using a mix of proprietary and open source software my entire development career (over 20 years) and never had a problem. You yourself said Flash was a huge engineering feat – why would they want to go give it away? Talk about the MAJOR impacts they’ve made in the last week. You mean – Adobe IS doing something good? You mean they just announced I don’t need to spend $40,000 on LiveCycle because now they offer an open source version? How nice of Adobe. Apparently they must open source their internal accounting software for you to be happy. Enjoy that Adobe is giving away as much as they are – they don’t have to – they are better than any other of the big 5 – and they are getting better. If you don’t like it, use Sparkle.

    So tell me – what have YOU donated to the open source community? I’d ask you to send me the source code to your latest projects, but I don’t need a Yu-gi-oh card tracker.

  8. P Buchanan
    entered 17 December 2007 @ 2:03 pm

    Looks like moderation is turned on – no wonder I hardly see any other comments.

  9. entered 17 December 2007 @ 2:42 pm

    Please read more carefully: I’m not complaining that they haven’t released the source to Flash, at all. It’s their right to set the licensing terms on their software, and I’ve said in many speaking engagements and elsewhere that I think the author’s right to choose open-source vs. not is an important one. That’s why I supported the file-based reach of the MPL when it was being designed in 1998, and why I work to help people building proprietary applications on the web all the time.

    I’m complaining that they repeatedly paper over or try to distract from the fact that the core of their technology offering — the Flash Player — is completely proprietary. Beyond even the source code, the specification is controlled in a very restrictive way, as is obvious from anyone reading the license. Similarly, AIR has a ton of open source technology in it, but, well, you can read the license. I’m asking for them to be forthright about the closed nature of the platform, and nothing else. If Flash is too big of an investment to open, then they should say so proudly, not try to hide behind the Tamarin release and cloud the issue with reference to the Flex tools and so on.

    The only significant open source project I’ve been involved in founding and working on for a decade was Mozilla, so you will need to go elsewhere for your Yu-gi-oh card tracking needs, unless you want to build a XUL application to do so, or maybe a web application.

    (Moderation is on for first-time posters, but you see all the comments and trackbacks that have been submitted, except for the two from splogs that just republish articles blindly for adsense revenue. I suppress those as a matter of course.)

    Mike P: I recognize and applaud what Adobe’s done with open source, as I’ve said elsewhere to press, conference-goers, and developers. It’s clear that you know how to make something open if you want to, and equally clear that Adobe understands that being proprietary is a strike against Flash, which is why James was answering the “100% Proprietary” misconception, albeit in large part by referring to non-Flash open source efforts by Adobe. Skylarov was indeed some time ago, but there have been references in the last year to suing people who are deigning to reverse-engineer Flash formats, from people who I would have hoped would know better, so I’m afraid I don’t share your optimism that such attitudes are entirely behind us.

    Abdul: with the Flash source people would be able to port to other platforms, excerpt subsets for different application domains (like game development, for example, which is where the gameswf work was targeted), build better tools, understand strange behaviour exhibited by their own Flash apps, debug interactions with other pieces of software (like Firefox), improve the Flash platform itself, and more.

  10. entered 20 December 2007 @ 3:30 pm

    [...] “This is quite the brazen comment. ‘The community’ here are people who reverse-engineered the behaviour of Flash so that they could write tools to make the Flash Player’s platform more valuable, while Adobe’s license terms tried to stop them! They have put themselves in legal jeopardy in some jurisdictions (and Adobe has in the past had people arrested for producing tools that manipulate their license-protected technology) and James has the nerve to call them ‘the community’…” [...]

  11. entered 5 January 2008 @ 2:18 am

    [...] being open about being closed Another go at the open source the Flash player conversation. I couldn’t help but chuckle at the “James Ward is a bullshitter!” comment. That kind of schlock is comedy-gold ;) More intelligent comments follow as well. (tags: opensource flash adobe flex via:ryanstewart) [...]

  12. entered 17 February 2008 @ 4:46 pm

    Why use Flash when you can get the same from Power Point ;)

    .t