Adobe will open source its Flex software development kit (SDK) this year, hoping to draw in Internet developers, and clean up the company's reputation for proprietary code.
The SDK includes the two developer languages used to write Flex applications, MXML and ActionScript 3.0; class libraries; components such as user-interface controls and layout containers; and the code compiler. Adobe will release all of these elements under the Mozilla Public License by the end of the year, said Jeff Whatcott, vice president of product marketing.
The move is part of Adobe's makeover as an ally to the open source developer community, Whatcott said.
The company hopes this strategy will help Flex become more widely used, as it is integral to Adobe's strategy to increase its position with developers in the rapidly growing rich Internet applications market.
Traditionally, Adobe has been seen as a more proprietary niche player in the digital document-creation and web development tools space. For example, Adobe's ubiquitous portable document format (PDF), while available for free, has never been available to the community as a standard. As part of its more open style, Adobe recently submitted PDF to the International Organization for Standardization to change that.
Acquiring Macromedia, the original Flex creator, in 2005 helped Adobe seem more developer-friendly because of that company's Java-based software portfolio and popularity with web developers. But even then Adobe acquired a set of proprietary tools such as Flash - on which Flex is based - and Dreamweaver, which have a loyal following but are not specifically aimed at pulling in open source loyalists.
Adobe needs the open source community because Microsoft is encroaching on its territory with its forthcoming Expression toolset and recently unveiled Silverlight technology. Opening up Flex could help Adobe earn a critical mass of developers it will need to fend off Microsoft going forward.
Joe Berkovitz, chief architect with Allurent, a company that has built software using Flex, said open-sourcing the Flex SDK will serve both developers and Adobe well.
"[Flex] is a young platform, and because Adobe has had the source exposed for some time, developers that work closely with it will have a lot of insight on how to make [Flex] better," Berkovitz said.
Adobe, too, will gain from differentiating itself from Microsoft through its open source affiliation, he added.
"It takes the comparison between [Microsoft's competing technologies] WPF (Windows Presentation Foundation), Silverlight and Flash/Flex to a different level," Berkovitz said. "It's not just what features are best ... but what process are each of the platforms following as they evolve. A process based on open source is going to be inherently more powerful and scale better."
The move to open-sourcing the Flex SDK will be a gradual transition, Whatcott said.
Currently, the SDK is available for free from the Flex developer site, and developers can modify the source code for any of the elements, but not submit changes back to other Flex developers.
Beginning in June, developers will be able to view Flex's bugs in a public bug database and receive fixes for those bugs daily, Whatcott said. They also will get new code drops every day as Adobe readies the next version of Flex, which is currently in its alpha stage of development.
Finally, by the end of the year, Adobe will have established on the Flex website a public central code repository that will allow developers to contribute changes back to the broader Flex community.
The entire Adobe Flex portfolio includes the SDK, the Flex Builder development environment and Flex Data Services, J2EE-based technology that connects the other Flex elements to servers on the back end.
Adobe will continue to sell Flex Builder and Flex Data Services for a fee and is not open-sourcing those components of the package, Whatcott said. However, developers don't need Flex Builder to develop Flex-based applications, he said. They can use any text-editing tool or IDE, including common Java IDEs and Microsoft's Visual Studio.Net.