Title:   Project History

The goal of this page is to document the history of the Apache Flex, starting with Adobe
deciding to donate it to the Apache Software Foundation (ASF), incubation and Apache Flex becoming a top level project.

It might be useful for other similar projects, or any incubating project, as an example of the steps involved in
an Apache incubation.

See [http://incubator.apache.org](http://incubator.apache.org) for the official Incubator documentation, and
in particular the [incubation process description](http://incubator.apache.org/incubation/Process_Description.html) page.

<div class="headline"><h4> 2011: Adobe decides to contribute Flex to the ASF </h4></div>

The decision is made within Adobe to incubate Flex at the ASF. Work starts on the incubation proposal, on explaining
internally what this means, on the legal/IP clearance steps required to donate the code and on recruiting
initial committers who will help get the project started.

<div class="headline"><h4> December 12, 2011: Flex Summit </h4></div>

The [Flex Summit](http://tv.adobe.com/show/flex-community-summit-december-2011) is organized to make
the Flex community aware of the upcoming changes, and to allow initial Flex committers to sign up and network.

Among the available videos, these two provide interesting insights on how Apache projects work, by Roy Fielding,
one of the ASF's founders:

- [What it means to be an Apache project, part 1](http://tv.adobe.com/watch/flex-community-summit-december-2011/what-it-means-to-be-an-apache-project-part-1/)
- [What it means to be an Apache project, part 2](http://tv.adobe.com/watch/flex-community-summit-december-2011/what-it-means-to-be-an-apache-project-part-2/)

The following blog posts provide other views on the event, and show that it was useful for the Flex community
and for the upcoming Apache Flex project:

- [Flex given to the Apache Software Foundation – round-up and opportunities](http://www.flex-tutorial.fr/2011/12/17/flex-given-to-the-apache-software-foundation-round-up-and-opportunities)
- [Huge Adobe Partnership to Open Source Flex with Apache Software Foundation …](http://www.adamflater.net/2011/12/14/apache-flex-beginning/)

<div class="headline"><h4> December 20, 2011: Incubation proposal submitted </h4></div>

The [Incubation proposal](http://wiki.apache.org/incubator/FlexProposal) is submitted
and [discussed](http://mail-archives.apache.org/mod_mbox/incubator-general/201112.mbox/%3CCB14DCA2.3885F%25aharui%40adobe.com%3E) on the incubator-general mailing list, followed after a few days (once the
discussion dies down) by the Incubator PMC vote mentioned below.

The list of incubation mentors is completed during the proposal's discussion phase, after asking for volunteers
when submitting the proposal.

A few initial committers are also added during the discussion phase.

<div class="headline"><h4> December 22, 2011: Vote for Anne and Dave as incubator PMC members </h4></div>

Project mentors need to be members of the Incubator PMC, ASF members just need to ask to get this membership.

Committers who are not (yet) Apache members need to be voted in by the Incubator PMC, which is done
around December 22 for Anne and Dave.

<div class="headline"><h4> December 27, 2011: [VOTE] Flex to join the Apache Incubator </h4></div>

The [Incubator PMC vote](http://markmail.org/message/puo2rtrvby65lb3m)
lasts at least 72 hours, after which whoever started it
[tallies it](http://mail-archives.apache.org/mod_mbox/incubator-general/201112.mbox/%3CCAEWfVJmMq390Hinafg%2Bjik8VqboYG1ixe_gnz5O2bV5q5mtKPw%40mail.gmail.com%3E).
the vote for Flex passes on December 30th.

<div class="headline"><h4> Late December 2011: Basic infrastructure is created </h4></div>

See for example the
[INFRA-4260](https://issues.apache.org/jira/browse/INFRA-4260) (create mailing lists)
and
[INFRA-4262](https://issues.apache.org/jira/browse/INFRA-4262) (create JIRA instance)
issues.

Flex is added to the Incubator's [reporting schedule](http://wiki.apache.org/incubator/ReportingSchedule).

The [Flex incubation status page](http://incubator.apache.org/projects/flex.html) is created.

People are invited to subscribe to the new Apache Flex [mailing lists](/flex/mailing-lists.html)

Those lists are added to [flex.markmail.org](http://flex.markmail.org) for convenience, using the markmail feedback form.

Discussions and consensus building start, including clarifications about the role of the PPMC, committers
and community, whether to create roadmaps or just let things evolve organically, etc.

<div class="headline"><h4> Late 2011 and early 2012: User accounts </h4></div>

Mentors request creation of Apache accounts for the initial committers listed in the
[incubation proposal](http://wiki.apache.org/incubator/FlexProposal), after asking people which Apache ID
they would like, avoiding collisions with [existing IDs](http://people.apache.org/committer-index.html).

Initial committers, who are also PPMC members, are invited to subscribe to the Flex private mailing list
(which is used for discussions about people, new committers etc. and as little as possible besides that) and
made aware of the [Apache guide for new committers](http://www.apache.org/dev/new-committers-guide.html).

Flex committers are granted write access to the [subversion repository](http://svn.apache.org/repos/asf/incubator/flex/)
and [JIRA issue tracker](https://issues.apache.org/jira/browse/FLEX) and can start actual coding work.

<div class="headline"><h4> January 17, 2012: Software grant received </h4></div>

Adobe's [software grant](http://www.apache.org/licenses/software-grant.txt) is received by the ASF's
secretary, the Flex code can now be imported into Apache Flex's code repository.

<div class="headline"><h4> February 22, 2012: First committer voted in </h4></div>

Justin Mclean is the first Flex committer (besides the initial committers listed in the incubation proposal) to
be voted in, after a short discussion and a vote on the Flex private
mailing list, as per the [incubator's instructions](http://incubator.apache.org/guides/ppmc.html).

<div class="headline"><h4> March 27, 2012: MXMLC donation announced </h4></div>

The legal/IP clearance work for that module is done on the Adobe side, that code is ready to be donated.

<div class="headline"><h4> August 30, 2012: Falcon legalities completed </h4></div>

Apache recorded Adobe's donation documents for the source code to the next-generation Falcon compiler.

<div class="headline"><h4> September 10, 2012: Falcon code committed </h4></div>

The source code for the Falcon compiler was committed to Apache's Subversion repository.

<div class="headline"><h4> December 19, 2012: Apache Flex becomes a top level Apache Software Foundation project </h4></div>

Apache Flex is voted in as a top level project at the December board meeting of the Apache Software Foundation.

<div class="headline"><h4> December 27, 2012: Apache Flex SDK 4.9 released </h4></div>

After seven release candidates Apache Flex SDK 4.9 is released as the first release after becoming an Apache Software Foundation top level project.

<div class="headline"><h4> February, 2013: Apache Flex SDK 4.9 released </h4></div>

<div class="headline"><h4> April, 2013: Apache Flex SDK Installer 2.5 released </h4></div>

<div class="headline"><h4> August, 2013: Apache Flex SDK Installer 2.6 released </h4></div>
This version allows to track the number of downloads.

<div class="headline"><h4> August, 2013: Apache Flex SDK 4.10.0 released </h4></div>

<div class="headline"><h4> October, 2013: Apache Flex SDK Installer 2.7 released </h4></div>

<div class="headline"><h4> October, 2013: Apache Flex SDK 4.11.0 released </h4></div>

<div class="headline"><h4> March, 2014: Apache Flex SDK 4.12.0 released </h4></div>

<div class="headline"><h4> April, 2014: Apache FlexJS 0.0.1 released </h4></div>

<div class="headline"><h4> April, 2014: Apache Flex FlexUnit 4.2.0 released </h4></div>

<div class="headline"><h4> May, 2014: Apache Flex SDK 4.12.1 released </h4></div>

<div class="headline"><h4> May, 2014: Apache Flex SDK Installer 3.0 released </h4></div>

<div class="headline"><h4> July, 2014: Apache Flex SDK Installer 3.1 released </h4></div>

<div class="headline"><h4> May, 2014: Apache Flex SDK 4.12.1 released </h4></div>

<div class="headline"><h4> July, 2014: Apache Flex SDK 4.13.0 released </h4></div>

<div class="headline"><h4> July, 2014: Apache FlexJS 0.0.2 released </h4></div>

<div class="headline"><h4> August, 2014: Apache Flex Tour de Flex 1.0 released </h4></div>

<div class="headline"><h4> September, 2014: Apache Flex Squiggly 1.0 released </h4></div>

<div class="headline"><h4> September, 2014: Apache Flex Tour de Flex 1.1 released </h4></div>

<div class="headline"><h4> October, 2014: Apache Flex Squiggly 1.1 released </h4></div>

<div class="headline"><h4> February, 2015: Apache Flex SDK 4.14.0 released </h4></div>

<div class="headline"><h4> March, 2015: Apache Flex SDK 4.14.1 released </h4></div>

<div class="headline"><h4> March, 2015: Apache Flex BlazeDS 4.7.0 released </h4></div>

<div class="headline"><h4> January, 2016: Apache Flex SDK 4.15 released </h4></div>
