Saturday, May 15, 2010

About openness

While I've been away these last 2 weeks, I've watched the Apple/Adobe fight very closely. At issue: Apple doesn't support Flash on the iPad, iPhone, or iPod Touch. Adobe, the parent company behind Flash, isn't at all happy with Apple's decision. So they fight it out in the press. In the latest move, Adobe ran "We ♥ Apple" ads in The New York Times and The Wall Street Journal, pressing their side of the argument.

If you want to read Apple and Adobe's opinions directly: Steve Jobs posted his thoughts on Flash, and Adobe shared their thoughts as well.

I find it very interesting to note what both sides claim is the core issue: Openness.

Steve Jobs leads with this issue, saying:
First, there’s “Open”.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. [...]
John Warnock and Chuck Geschke (Adobe) directly address Openness too:
If the web fragments into closed systems, if companies put content and applications behind walls, some indeed may thrive — but their success will come at the expense of the very creativity and innovation that has made the Internet a revolutionary force.

We believe that consumers should be able to freely access their favorite content and applications, regardless of what computer they have, what browser they like, or what device suits their needs. No company — no matter how big or how creative — should dictate what you can create, how you create it, or what you can experience on the web.
Both companies are being one-sided here, but Apple's response annoys me. Steve starts out by talking about how proprietary/closed products are bad, then in the next paragraph twists his case into a web context.

But isn't it interesting that these two companies can talk so baldly about Openness, without addressing the question: "Can it really be 'open' if the source code remains closed?"

Actually, Adobe did briefly address this in another post, but it didn't get much press. Here's what they say about it:
The core engine of Flash Player (AVM+) is open source and was donated to the Mozilla Foundation, where it is actively maintained. The file formats supported by Flash Player, SWF and FLV/F4V, as well as the RTMP and AMF protocols are freely available and openly published. Anyone can use the specifications without requiring permission from Adobe. Third parties can and do build audio, video, and data services that compete with those from Adobe.

There are no restrictions on the development of SWF authoring tools, and anyone can build their own SWF or FLV/F4V player.

Flex, the primary application framework for the Adobe Flash Platform, is also open source and is actively maintained and developed by Adobe and the community.

Finally, the Flash Platform has a rich developer ecosystem of both open and proprietary tools and technologies, including developer IDEs and environments such as FDT, IntelliJ, and haXe; open source runtimes such as Gnash; and open source video servers such as Red5.
So Adobe can get some credit, here, for their claim of Openness. It's not a full pass from me, but the "core engine" and an open spec are notable steps.

If we're going to make serious arguments about Openness, we really need to talk about "Free / Open Source Software." It's not just about choosing between option A and option B, where you can't really modify either to suit your needs.

The basic definition of Free / Open Source Software is that the source code must be made available for others to see it. A necessary side-effect of this condition is that anyone who uses the program has an opportunity to make improvements. A well-managed project will accept any improvements in the form of patches, which modifies the program to solve someone else’s slightly different (but similar) problem. Releasing new versions of the software with the new features ensures that everyone benefits from these changes.

That's why I prefer to use Free / Open Source operating systems such as Linux. The user community has total freedom; the software can never turn against you. It only takes one person with enough vision and motivation to deliver another option that benefits everyone. And since the source code remains open, it continues to benefit the community after that person is done.

In a prettier-but-closed system, à la Apple's "walled garden", you are subject to the whims of whoever brings you the software. Mac users and developers who may be unhappy with Apple's decision not to support Flash will just have to wait for Apple to change their minds. But they may not want to hold their breath.


  1. I posted ( my take on this as well: it follows essentially the same line of thought, but I also say that while each company is obviously trying to take a moral high ground, both companies fail at doing so. Also, I think it's important (as we are after all taking about the openness of the _web_) to focus more on alternatives to Flash like Ogg and H.264 rather than try to bring (too much) Linux evangelism into this.

    a Linux Mint user since 2009 May 1

  2. @ PV: I think a degree of Linux evangelism is warranted here, especially in response to apple's talk of openness. they are talking about being open when they are in fact running one of the most closed consumer systems. This should be contrasted with Linux and FOSS in general, but you can't really do that without pointing out why FOSS/Linux is better.

    I think JH's summary of the issue is right.

  3. As an Apple user, I really hope Apple doesn't change their mind ever. Apple is the only company that can really rid us off that devilish Flash nightmare.

    And let me point out that Adobe claims (wrongly) to be open, Apple doesn't claim to be open. At least Apple is honest there.

    Also, Apple contributes quite a bit to really open software, if only through Webkit (and a few other less important projects).

  4. Personally, I can't believe Jobs has the audacity to say "we strongly believe that all standards pertaining to the web should be open" when Apple turns around and not only strongly pushes H.264 for the video tag, but refuses to even support Theora within Safari.

    Apparently to Jobs, "we strongly believe that all standards pertaining to the web should be open" only applies when Apple isn't in the patent pool.

    (There are other problems with Jobs' comments. For example: "We also know first hand that Flash is the number one reason Macs crash." No. If Flash crashes Safari, that can be considered Flash's fault. But if Flash crashes the system, which it sounds like he's saying, it's the OS's fault; not Flash's.)

  5. @Jean-Denis: If Apple wants to rid the Web of "that devilish Flash nightmare", as you put it, that's fine. I'm no fan of closed systems. But doing it by saying "Kill off this closed standard and let us replace it with another closed one" - while hiding behind the banner of "Openness" - isn't the right way.

  6. As an Apple user, I also hope that Apple doesn't change their minds. In fact, I'm getting rid of Flash right now!

    This will be much more efficient. I used to enjoy playing Flash games, but no more! Those PopCap games require Flash. And J-D says Apple wants me to be Flash-free.

    My friends can suck it, because I won't be playing WordScraper with them anymore, either. That's a Flash game, too.

    I guess I'll stop playing Farmville too, since that requires Flash.

    But that's ok, right?

    And I no longer will be distracted with free television - because Hulu doesn't support HMTL5 video. I used to use Hulu a lot because I travel so much, and I can catch up on shows wherever I am. But now I'll just buy episodes of my favorite shows for $1.99 each from iTunes, and download it to my computer before watching it. Rather than watch them immediately, for free, on Hulu.

    And I'm sure paying $1.99 per episode will really get me motivated to watch new shows. There's nothing I find more exciting than dumping $2 down the drain just to learn if that new sitcom sucks total ass.

    But at least watching videos from YouTube will be a snap, because YouTube already supports HTML5. If I'm running Safari, that is. And all Mac users only run Safari, right, never Firefox? At least, only true Mac users do. So at least I still get to watch those kitten videos. Lucky me.

    Oh, but wait. I just remembered I'm not a Mac user- I'm a Linux user. I actually value Openness, but at a balance with things like Flash. That's why there are projects like Gnash to provide a free Flash alternative.

    But hey, to each his own.

  7. Will Apple launch a "heart you too, Adobe!" ad?

    I hope HTML5 includes some license-free royalty-free video codecs (and that people develop for them).


Note: Only a member of this blog may post a comment.