Apple, Adobe, and “open”

Today Apple CEO Steve Jobs posted Thoughts on Flash, explaining why Apple will not allow Adobe Flash Player on iPhones, iPods and iPads. In the post, Jobs makes the following assertion:

Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true.

So according to Jobs, Apple is open and Flash is closed. But according to a WSJ interview with Adobe CEO Shantanu Narayen, Flash is the open one:

I find it amusing, honestly. Flash is an open specification.

So who is really open?

It all depends on your definition.

Adobe’s definition of open

Adobe employees tend to define a platform as open if it allows any application or content to be used on the platform (ie. it is open to anyone). By this definition, Adobe’s Flash Player is open because it allows you to run any Flash content; no approval is required by Adobe before running Flash content. Conversely, Apple’s iPhone OS is not open because it does not allow you to run any application you want, only those that Apple approves.

Apple’s definition of open

Steve Jobs defines open in the context of open standards. A platform is considered open if it uses open standards to interface with the outside world, specifically the web. By this definition, Apple is open since it uses and is a primary driver of HTML5, CSS, and JavaScript, the key web standards. And conversely, Adobe is not open because it does not promote open standards, instead promoting the use of the non-standard Flash rather than HTML5 or other existing standards.

Caveats

While Adobe’s CEO is correct that a gratis specification of most of the Flash format is available online, this does not make it an open standard as I’ve previously pointed out. Despite having a gratis specification, there is only a single implementation of Adobe’s Flash that will run all Flash content: Adobe Flash Player. Adobe actively encourages developers to only test with Adobe Flash Player (ie. their CS5 site: “Publish content virtually anywhere, using … Adobe Flash Player for browser-based experiences.”) and developers tend to do exactly that (according to a GitHub developer, “One of the biggest benefits of Flash is that you only have to target one implementation: Adobe’s.”).

As a result, few Flash blobs work in a non-Adobe Flash player, just as few complex Windows apps work correctly in Wine because most Windows app writers only test on Windows. So an “open” specification of Flash is effectively useless because Adobe strongly discourages its use by promoting Flash as a way to avoid the need to test on multiple implementations. Update (2010-05-03): In fact, a non-Adobe player that is fully compliant with all Flash content is illegal, as rtmpdump’s takedown has shown. Section 103 of the DMCA allows Adobe to sue any organization that implements RTMPE (a poorly implemented encryption scheme for RTMP) without Adobe’s permission, which is exactly what they’ve done. The whole point of an open specification is that anyone can implement it without paying anyone or asking anyone’s permission. In Adobe’s view, “open” specifications are purely for show and no one should be allowed to implement Flash but Adobe.

Apple does indeed embrace open standards for the web. It does this for practical reasons: standards allow Apple to precisely control the software that runs on their system as long as it adheres to the standard. This leads to better battery life and touch screen user experience. However, Apple tends to support standards only when it does not control a market (as is the case in desktop operating systems and web browsers); Apple’s standards support does not extend to markets where Apple has a relative monopoly. iTunes is notorious for its use of DRM that is incompatible with any devices but Apple’s (music DRM is gone now, but video DRM remains and both are provided in formats that are heavily patented by Apple). Apple does not freely publish the specifications need to write applications for the iPhone, iPod, or iPad; developers must pay $99/year for the “privilege” of developing, even if it never earns them a dime. Even if it did publish the specifications, Apple still controls access to the App Store, the only legal way (in most developed countries) to add functionality to the device. This makes it impossible to run an application on handheld Apple devices without Apple’s permission.

Update (2010-05-03): Both Adobe and Apple oppose open video on the web. Neither company ships open codecs such as Theora and Dirac. Steve Jobs casually mentions that “A patent pool is being assembled to go after Theora …”. And Adobe has not added Dirac or other codecs to Adobe Flash Player as I have suggested to them. As a result, creating video content that will work on either company’s devices requires one to navigate the patent maze of H.264 and similar proprietary codecs. Ben Ward has it right: H.264 is not and cannot be part of an open web stack. For more on H.264, including how the ownership of your work is compromised the second you press “record”, see Why Our Civilization’s Video Art and Culture is Threatened by the MPEG-LA. For more on codecs in general, and the business motives behind proprietary codecs, see The codec dilemma.

Update (2010-04-30): With respect to Adobe, I think Steve Jobs hits the nail on the head with this statement:

Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

There is a very straight-forward way for Adobe to turn from evil in the eyes of open standard proponents to mostly good: Make Adobe’s developer tools produce entirely HTML5 code instead of requiring Flash. Most of the interactive features that Adobe’s tools create can be easily implemented with HTML, JavaScript, and CSS. Good examples of this include these 25 JavaScript games.

Of course Apple is not exactly “leaving the past behind”. The iPhone Developer Program License Agreement is much more restrictive than any license required to develop even Windows programs and has the same properties as the Windows API: there is no formal specification and even if there were, people only test on one implementation anyway (as a result, Windows apps only work on Windows just like iPhone apps will only work on the iPhone/iPod/iPad). I think Apple is growing further and further away from its roots in 1984, as one jailbreaker so eloquently puts it.

Conclusion

Both Apple and Adobe use the term “open” to refer to themselves, but define the term quite differently. This makes it difficult to give the word “open” any definitive meaning. I think it may be best to avoid the term altogether, as Stallman recommends, to avoid confusion.

We should instead start focusing on the underlying reasons for “open”, such as interoperability. When done right, technology allows people to share any type of information using any type of device. Information sharing need not be artificially limited by device-specific formats (ie. Apple DRM) or “universal” runtimes that don’t run everywhere (ie. Flash; see Why Flash is doomed). Let’s build and use technology that maximizes long-term usefulness, not through information silos, but through standards.

5 Responses to “Apple, Adobe, and “open””


  • Nice article and interesting perspective on the whole Apple vs. Adobe issue. In the end, their outcome will just have to be accepted by the end user. And… thanks for the link to my rant!

  • “Both Adobe and Apple oppose open video on the web.”

    Adobe’s codec-agnostic. But adding another codec to the world’s desktop includes tradeoffs, and needs to make sense to more people than just you. Dirac just hasn’t yet made that cut.

    “To turn from the path of evil, produce only ‘HTML5’ and cease all Flash support.” I don’t think I can persuade many people at Adobe with that, sorry.

    jd/adobe

  • @jdowdell ofc you can’t convince people at Adobe with that 🙂 They make Flash. They won’t give up on their own product, that would be suicide.

  • Interestingly enough, rtmpdump qualifies for at least two of those Section 103 exemptions.
    1) its development has proven to be valuable in terms of security research, as it clearly identifies the flaws in the design of both RTMPE and SWF Verification.
    2) it is an essential tool for interoperability. As of August 2009 it worked on a broad spectrum of platforms, while Adobe’s own software only worked on Win32, Linux x86, and MacOSX x86. In the same timeframe, rtmpdump worked on those platforms plus ARM, Linux x86-64, MacOSX PPC, SPARC 32 and 64, etc. etc. In other words, it’s been the only possible means for accessing a large proportion of web content for a large number of platforms that Adobe didn’t support.

  • I actually think this moment is pivotal for marketing in the industry. Think about it — Steve Jobs can’t take this back, but more importantly is what evolutionary-wise comes next after you make a case for open web standards.

Leave a Reply