Updated:Adobe Donating Flex to Open Source Foundation; Continues Fire Sale on Formerly-Core Software
Hot on the heels of news that Adobe is abandoning developing Flash for mobile devices, Adobe has also now announced its intention to donate the Flex SDK to "an established open source foundation".
It isn't entirely clear from the information available so far whether the open source Foundation Adobe has in mind is the Open Spoon Foundation, which was established in July 2011 and has announced that it is working with Adobe on the move, or a better known alternative such as the Apache Foundation. It was the latter to which Adobe donated PhoneGap after their acquisition of Nitobi. InfoQ spoke to the Open Spoon Foundation Board to try and get more information from them, but they explained that details are still being worked out. They did offer us this statement
The membership of the Open Spoon Foundation is made up of Flex thought leaders and community members. We have worked closely with Adobe to create an open source project which worked similar to the relationship of the Fedora and Red Hat organizations. In fact, the name of our organization, Spoon, was a play on words about this being a more subtle effort than a fork of the Flex SDK code. Our goal was to keep the community and code as unified as possible.
Very recently, Adobe proposed a new idea for the transition to open source. It is grander than the original and we believe it will allow things to move forward at an accelerated pace with more investment from both Adobe and the community. As part of that effort, the Flex SDK will be donated to a different established foundation, for example an Apache, and the project leadership will be made up of both Adobe representatives and community members, including many from the Open Spoon Foundation.
It has to be said that this optimism doesn't seem to be all that widely shared. According to the FAQ document Adobe released on Friday, the firm will continue to develop Flash Builder, the Eclipse-based IDE for Flex applications. However even in the FAQ Adobe makes it clear that it believes enterprise developers should be focusing attention on HTML 5, and not on Flex, in the future. "In the long-term, we believe HTML5 will be the best technology for enterprise application development," the firm writes.
As you might expect, Adobe's FAQ document has generated some angry reaction from developers. One post, in reference to Adobe's comments about HTML 5, reads
Tell me which enterprise will now invest in large-scale Flex project when Adobe makes that kind of statement on their official blog. I seriously can't understand at all why this has happened all of sudden, it's like a true nightmare.
Another developer writes
I've invested years developing significant proficiency in Flex. It now feels like a waste of time. I'm sure there are a lot of enterprise customers with large investments in Flex wondering the same thing. Why is there no clear migration plan? Why is Adobe abandoning Flex so suddenly? HTML5/JS/CSS still has significant issues with compatibility. We have built large, sophisticated rich internet applications that were only possible due to the ability of AS3 and Flex to support large scale object-oriented development. We don't build simple web apps, we build complex data visualization tools that our customers love. What are we going to tell our customers now? Sorry, Flex is dead and HTML5 isn't quite there yet, let's try again in a couple years?
Macromedia, the firm who developed Flex originally, targeted the Java enterprise application development market with the initial releases of Flex (1.0 and 1.5). The product relied on a Java EE application server, which compiled MXML and ActionScript on-the-fly into Flash applications (binary SWF files), and the firm advertised heavily on Java and enterprise oriented news sites. Following their acquisition of Macromedia, Adobe released Flex 2, changing the licensing model and approach considerably. Nevertheless the firm continued to push Flex as an enterprise-oriented solution through Flex Data Services. As a result, Flex has gained considerable traction amongst enterprise developers.
The Flex SDK has been open source since the release of the Flex 3 SDK, in 2007, but until now it has been Adobe that has driven the project forward. Not any more. According to the FAQ
This project will be jointly led by some developers from the Flex SDK engineering team along with key developers from the Flex community, including members of the Spoon Project and contributors from enterprise companies currently using Flex. Flex SDK feature development will continue under a new governance model and Adobe will continue to contribute to the Flex SDK.
Whilst open-sourcing Java hasn't noticeably harmed its status in the enterprise, Java does have some heavyweight corporate backing from Apple, IBM, Oracle, SAP and many others. It remains the case that many enterprise firms are somewhat unsure of open source software, and in general prefer that the software has some sort of corporate backing, a point that Jeff Roberts, co-manager of the 'Flex and Fuse the Arch' Adobe User Group in St. Louis, Missouri, made on a tweet
IMHO, every enterprise-class tech needs a single corporate steward in order to be successful/viable. Flex just lost its corporate steward.
Roberts told InfoQ
In order for large enterprises to invest heavily into a technology, they need some assurances that the technology is viable and the viability often comes in the form of the backing of corporate stewards. Java is a perfect example. Though it was not initially open source, it was backed by Sun Microsystems and later Oracle. The same is true of many Microsoft technologies. Without the corporate stewardship, some enterprises are hesitant to embrace a technology wholeheartedly and base business-critical application stacks upon it. While each organization has differing opinions upon using truly open source software, I have been on many projects where getting approval to use even a single open source library, let alone a language, required justification, discussion and management approval.
Without corporate stewardship, organizations often cannot contract for support. When an organization is dependent upon a technology and that technology is open source, whose neck can they grab if there is a problem? Whose feet can they hold to the fire to resolve a problem?
It's too early to tell how much control Adobe will retain and/or how much funding they will provide, but certainly without that, many enterprises may be hesitant to invest in this technology and/or continue investing in the technology. Whether or not this is a valid response by these organizations is not for me to say. However, much more information needs to come out in this regard in order for organizations to feel comfortable using or continuing to use Flex and AIR in light of the Adobe news.
InfoQ also spoke to Frank Sommers, founder and president of Autospaces, who told us
First, I think Adobe's message is rather confusing: Their chief avenue into enterprise development has been Flex, and now they seem to want to distance themselves from that technology. A lot of companies have invested in enterprise Flex apps. Adobe's recent statements all but ensure that greenfield projects won't be considering Flex; and I'm sure many development teams are spending part of their Monday morning bouncing around options for replacing their Flex UIs. Enterprise developers certainly will be looking elsewhere to spend their time, as Flex opportunities will likely dry up as a result.
I would have much preferred to see a transition where Flex and HTML 5 could peacefully co-exist; currently it's easy to mix Flex into HTML content, but less simple to mix HTML into Flex.
I'm personally not as concerned about the Flex SDK as I am about the Flash runtime and Flash Player. One of Flex's biggest attractions has been the ready availability of Flash Player on something like 98% of PC-style computers (including laptops). Coming from Swing and Java UI development, that has been a big benefit. Adobe's latest announcements leave us wonder what their direction with Flash Player will be. Continued development of Flash Player in an open source manner would be a lot harder in the future, not only because the technology is very complex, but because Flash Player's ubiquity relied on Adobe's distribution model with PC manufacturers.
That said, Flex may have been a technology whose time has come and gone. I personally got into Flex development because Java-based UIs just didn't work in an enterprise setting, and HTML/AJAX-based Web development had to contend with browser incompatibilities. The latest generation Web development frameworks, such as Vaadin, GWT-Ext [Smart GWT], Sencha, and so forth, may have solved these browser incompatibility issues, reducing the need for Flex.
The major Rich Internet Application (RIA) vendors may well agree with Sommers last point. Microsoft's de-emphasizing of Silverlight, and Adobe's reduction in investment for both Flex and Flash rather implies that they believe HTML 5 has already won. Oracle, of course, continues to invest heavily in JavaFX, and current moves in the RIA space could represent a good opportunity for the technology. In truth though, JavaFX is only partially about RIA; as much as anything it is more about an overhaul of the Java desktop stack.
Update 17th November 2011
Since this post was published Adobe have provided further information about Flex and its future in an update to the original blog post. The intention is to incubate the Flex SDK and BlazeDS at the Apache Software Foundation. Adobe also plans to donate the following:
- Complete, but yet-to-be-released, Spark components, including ViewStack, Accordion, DateField, DateChooser and an enhanced DataGrid
- Falcon, the next-generation MXML and ActionScript compiler that is currently under development (this will be contributed when complete in 2012)
- Flex testing tools, as used previously by Adobe, so as to ensure successful continued development of Flex with high quality.
The firm states that will also have a team of Flex SDK engineers contributing to those new Apache projects as their full-time responsibility.
I can't understand...
Flex Flash abandonware
"Java-based UIs just didn't work in an enterprise setting"
Really? They seem to work for me and many others. Are they perfect? No. But nothing is. I have had my share of issues with Flash based products.
Actually, isn't the corporate setting the only place where these are still common?