Adobe has announced that most of the Flex SDK will be open source starting with the "Moxie" version (Flex 3), due out later in 2007. Specifically, all of the components of the Flex SDK needed to create Flex applications, including the Java source code for the ActionScript and MXML compilers, the ActionScript command line debugger, and the ActionScript libraries that make up the core Flex framework. The company had already released source code for the Flex framework, but up until now it wasn't under a redistributable OSI-approved license. The new release will use the Mozilla Public License (MPL). From the FAQ:
Adobe plans to use the Mozilla Public License (MPL) to govern the use of the Flex source code. This license is used by many open source projects that need to balance the needs of the open source community and commercial software vendors. MPL and its derivatives (Eclipse Public License and Common Public License) are used by many well known open source projects with both thriving open source communities and significant commercial users.
The Mozilla Public License grants developers the right to modify and extend source code and create binary distributions under the license of their choosing. Upon distribution, any changes that were made to the original source files must be made available under the MPL. For a full understanding of licensing obligations, users should consult a legal expert.
In addition to MPL, the Flex SDK will continue to be available under a commercial license. Adobe will retain control of the schedule, roadmap, and all infrastructure to support the Flex project. Initially all committers will be Adobe employees. Anyone wishing to submit contributions will need to sign an agreement (and probably assign copyright to Adobe). However,
Over time we plan to add external committers that have demonstrated interest in and commitment to the core design philosophy and priorities of the project. We also plan to set up a process for establishing subprojects that are managed by either external or internal developers but become a part of the main project source tree.
Certain important pieces will not be released as open source. These include:
- Some unspecified portions of the current free Flex 2 SDK (free but binary only)
- Adobe Flex Data Services (commercial)
- Adobe Flex Charting (commercial)
- Adobe Flex Builder (commercial Eclipse-based IDE)
- The Flash player (free but binary only)
- Apollo (free but binary only)
Open sourcing parts of Flex is a great first step in making Flex an industry standard. However the cautious, incremental approach may disappoint some open source proponents who were looking for a full end-to-end opening of the Flash and Flex system in the model of JBoss or even Sun Java.