(Via Alex Russell’s blog I came across Mike Shaver’s “Being Open About Being Closed,” which is an excellent discussion of Adobe’s positioning of the Flash player and Flex in Top 10 Adobe Flex Misconceptions.
As Mike points out, the fact that the Tamarin is an open source project, and that various people in the community have over time deciphered the SWF file format, does not make Flash anything other than a proprietary product.
In many of the presentations I give about rich Internet applications, I use a slide which looks something like this:
It’s intended to communicate two key concepts:
- There are a huge number of mature, professional open source toolkits and frameworks for building RIAs.
- There is strong pressure on proprietary, closed, commercial toolkits and frameworks in this space to open up, at least in terms of source code visibility and modifiability, if not in terms of redistribution.
I suppose one could argue about the relative placement of Silverlight (which coincidentally this morning is throwing classic “Server Error in ‘/’ Application.” errors), since there
is will be an open source implementation of it (moonlight). Adobe Integrated Runtime (AIR) similarly is a very proprietary package although it leverages webkit and Adobe cooperates with / contributes to the webkit community. The Flex SDK is free (as in beer, not as in freedom), though my impression is that teams which expect to do serious Flex development work end up using the proprietary toolset and other closed-source pieces (AMF) in addition to what is in the open SDK.
Does it matter? Do you care if the framework on which you build RIAs is fully open, partially open, or not at all open?
As I argued in my discussion of Mozilla Prism versus AIR, I think it matters quite a bit in certain scenarios, perhaps less in others.
At a minimum, before you invest significant development time (and therefore dollars) in building on a given framework, you ought to have a clear understanding of what parts of it are open and what parts are not.