Adobe announced a few days ago that they would be open sourcing the FLEX API and framework. I’ve found it amusing and instructive over the years to realize just how open source licenses are increasingly being used by companies as a business weapon, as a means of gaining (or keeping) control over a market at the cost of losing software license fees.
Certainly, this is the case here. Adobe and Microsoft have long been engaged in a quiet cold war that has, at its base, control of the way that information is presented - how documents are laid out and fonts are displayed, how vector graphics work in two, three and four dimensions (assuming time as the fourth), how we build user interfaces for everything from game programming to advertisements to forms. Adobe, Microsoft and the W3C have each established differing approaches to this problem of presentation, the first two by creating proprietary standards and technologies on top of them, the last by creating open standards and encouraging the use of these standards by others to build the technologies.
The Open-sourcing of Flex represents a fairly dramatic shift in this particular struggle, one which will likely have ramifications lasting for years. The catalyst was the rebranding of XAML/Avalon, first as Windows Presentation Framework (WPF) and now as the newly rechristened “Silverlight”. The branding was a good idea - the decision to use WPF in the first place was much like building a top of the line luxury car and naming it the Edsel - but that rebranding also represents for Microsoft a significant shift in their own recognition that this technology is and must be central to any future developments on Windows, a move that Adobe has feared for years.
Microsoft has never done vector multimedia well. Actually, that’s not quite true - Microsoft has built a very impressive array of underlying technologies for supporting vector graphics, just as DirectX has become the foundation for solid 2D and 3D games and applications worldwide. What they’ve not been able to do is build a Flash-killer, an application that is sufficiently simple and simultaneously powerful to build Flash applications and dislodge the Shockwave plugin from its place of privilege on all sorts of platforms, including (inconveniently) Windows.
With Silverlight this looks to be changing. Silverlight has its problems, but it is undeniably powerful, and the combination of XML technology and the support for rich graphics places it squarely in the middle of the presentation space. Moreover, with a formal name comes a greater focus and more money for marketing, and I suspect that the light is finally coming on not just at the product team level but throughout the company that Microsoft cannot lose this fight. If they cede the presentation space, they cede everything - a fully functional “desktop” replacement that can run on all platforms is just as galling the Microsoft vision as a Web that that they no longer control, and both have the potential of rendering what Microsoft has to offer obsolete.
With Adobe opening Flex (under the Mozilla Public License), the game changes, in a way that is frankly bad for Microsoft. It will of course enable developers to create Flex-like applications that may eat into Flash Professional sales some, but I don’t see that as necessarily being a large factor, not least of which because I would suspect that a fair number of FP users out there are probably using bootlegged copies anyway. If a better tool comes out on the Open Source side (and it wouldn’t be that hard) this works to Adobe’s benefit as well as a test bed for new technologies (something akin to the relationship between Open Office and Star Office, where the former is cutting edge, the later is stable and incorporates the best and the brightest of its sibling each release).
However, with release of the Flex API, Adobe essentially provide a universal framework for vector graphics that works on any platform, not just on Windows. It means that I as a programmer can build applications that are highly performant and work across platforms, can do so from a Linux box or a Mac laptop, and that can work well with my XML data streams. This is about more than just pretty vector graphics; this determines the toolkits that developers will end up using for all of their applications, knowing that they can work just as readily within a browser as within a standalone application (Adobe’s Apollo being the other shoe in this particular case), with the Adobe imprimature and Flash’s ubiquity making them far more appealing than many third party toolsets that may perhaps be better but have less overall support in the marketplace.
I don’t think this is over, by a long shot. Microsoft’s wooed more than a few people with its own publishing and presentation technologies, and they are not likely to let this go without a fight. However, by playing the open source card, it has raised the question as to why Microsoft doesn’t do likewise.
I have a final comment here about FLEX and SVG. I’d like to say that I think this will be a good thing for SVG, but I cannot figure out how. Certainly, putting an SVG framework in place on top of FLEX is certainly possible and likely not that hard to do, the question is whether it would make that much of a difference. Microsoft is likely not going to adopt SVG in Internet Explorer if their intent is to see Silverlight used there instead (and this will likely pressure Microsoft to want to follow that strategy), Adobe now has an XML framework that it has open sourced, meaning that with some work it may be possible for Mozilla to start adopting FLEX under a mutual agreement (I cannot believe that it was all accidental that Adobe chose to use the Mozilla Public License for this).
Indeed, I see this move as the final alignment of Adobe with Mozilla (and probably Google and secondarily Sun). Given that SVG development under Firefox 3.0, while ongoing, has been slow, I additionally see the formal OSSing of FLEX as a bid to push SVG out of the picture once and for all on that platform, and with it possibly the last real vestiges of SVG in the North American and Asian markets.