Open for Business

Thursday, April 26, 2007

Quick Thoughts on Flex and Open Source

Adobe plans to open source Flex, its development framework for building Flash-based web applications this should take effect when they go beta in June with the next Flex version code named Moxie (will be called Flex 3). Adobe is planning to use the Mozilla Public License or MPL. They are still planning to sell their Eclipse-based Flex Builder.

I read on CNet that "the move is also meant to appeal to open-source developers who shun closed-source and proprietary products. Adobe already offers the Flex software development kit for free and provides the source code." Also read on the same article that Jeff Whatcott, vice president for product marketing at Adobe's enterprise and developer business unit said "For some people, (open source) is a philosophical requirement, a sign of integrity and trust in a vendor, this will close that gap and address any lingering doubts they have about our openness and commitment to community."

I am sorry Jeff but this says ABSOLUTELY nothing about Adobe's openness. Flex is as proprietary and as far from open as it gets. Adobe still locks me in when I use Flex whether the source is open or not it doesn't really matter. Only one vendor defined Flex and only one vendor provides runtime for it. In my opinion, open source is not enough. We at Oracle continue to step up our open source contributions but we believe in a much more important source of openness and that is open standards to which we religiously adhere. That's what really gives you the freedom you are looking for as a user. The freedom to switch vendors down the road should you need to. So when we open sourced our reusable user interface components (Apache Trinidad), in addition to opening the source to which the community responded very positively, it was a 100% standards-based contribution (in this case the standard in JavaServer Faces).

I am not trying to take anything away from the success Flex/Flash enjoys it definitely helps build much more interactive web pages and seems to be very popular. I personally block Flash animations on my browser (Firefox) but advertisers like to use flash to make your pages look like fireworks which really annoys me. The way Oracle believes pages should be built is using JavaServer Faces (JSF) components (typically embedded in JSP pages) and if you need richer UI you do that by injecting some Ajax into it. We believe Ajax and JSF go very well together and hold such great promise that we have decided to donate our Rich Client Framework (RCF) to the OSS community. Stay tuned for a bunch of OSS-related announcements in a couple of weeks at JavaOne. Using JDeveloper (100% free), Apache Trinidad or ADF, one can build highly interactive standards-based user interfaces without knowing anything about JSF, JavaScript, XML DOM, CSS, DHTML, etc. Developers are shielded from the complexity of Ajax development… I would like to disclaim that we do support Flash as one of the rendering options for JSF components like charts. You build your JSF-based page and later you could potentially make the decision to render the chart in Flash. Because the JSF component definition is separate from the rendering you can still do that in an elegant way and we support that in ADF Faces as part of the Rich Client Framework.

To make the long story short my point in this entry is the following: Flash is not a bad thing, some people seem to like it and use it quite heavily. But open sourcing it or parts of it (especially the tooling) doesn’t make it open enough for me and the kind of people I talk to in the developer community. They understand very well that openness comes from standards not necessarily from opening the kimono and showing the code even under a friendly license like MPL.