Groovy Moving to Apache
The Groovy team is joining the Apache Software Foundation (ASF). Guillaume Laforge, Groovy project lead, wrote about why they chose ASF over the Eclipse Foundation or the Software Conservancy foundation.
We've been very grateful for the time and advice given by everybody, our users, committers to projects of those foundations, board members, etc. Those discussions have been very fruitful and enlightening. Those foundations are all very interesting and could be a great fit for the project, even if all have their pros and cons, of course. But overall, the Apache Software Foundation is the one that appears to be the best candidate considering our constraints and our philosophy.
To learn more about this announcement, InfoQ spoke to Mr. Laforge about the new direction.
InfoQ: Has the proposal for incubation been submitted?
Laforge: We're indeed submitting Groovy for incubation at the Apache Software Foundation. The decision's been made and announced. We're currently working on the proposal to be submitted. An early draft can be seen at https://wiki.apache.org/incubator/GroovyProposal; we should be able to send that in the coming days. We're still ironing out that proposal with our future Apache mentors and champion.
InfoQ: You mentioned, "the discussions we had on the mailing list highlighted some grey areas that we are going to deal with during that incubation process". What are the top three grey areas?
Laforge: The Groovy project moved its sources and source collaboration aspects to GitHub, and we've been pretty happy with the general feedback loop, how contributors can provide pull requests, how we can comment / review those pull requests, how easy it is to clone the repository, etc. So we're a bit worried about losing some agility there, with moving the sources of the project into Apache's own Git repository, with the project being lost in a big sea of Apache project repositories, and also loosing the fact we could have our own sub-projects under the Groovy organization on GitHub.
Next aspect is our continuous delivery / deployment process, which is super smooth and easy, thanks to Gradle for our build, JetBrains TeamCity for continuous integration, and JFrog's Artifactory and Bintray for delivering our binaries. It's pretty easy to make a release any time, you just need to fill in a form with some metadata (version name, next version, etc), and you push a button, and voila, an hour later, everything is available online, artifacts as well as online documentation and website updates!
Within Apache, the process is slightly different, requiring some manual steps to give the stamp of approval, to say that the sources are indeed compliant with the Apache rules (regarding IP, etc). That means we'll have to adapt to that process, and change our habits and smooth delivery pipeline.
The last concern we've had is about funding. With the announcement of the end of funding by Pivotal, we've had a few companies and individuals contacting us who were interested in donating funds to the project. The Apache Software Foundation isn't accepting donations for specific individual projects of the foundation, but there might actually be ways around that, as the foundation is experimenting in this area, and that some partnership with external foundations is also possible.
Despite those three shades of grey, there's some adaptation to be made on our side to get used to those changes, to update our release process, to see how we can continue to ease the contributions from the community, and some promising solutions for funding as well. So we're quite optimistic on all these fronts, and our champions and mentors are here to help us through that process.
InfoQ: Do you have a timeline for when you hope to graduate from the incubator?
Laforge: Our discussions with various Apache members involved in the discussion (in particular those who are going to be our mentors and champion) are hinting at a short 3 months timeline.
I don't think the incubation process is that predictable, but since Groovy is a pretty popular project, with an active community and ecosystem, I hope that the process should be pretty fast and straightforward.
InfoQ: Are there any particular Apache projects that could become Groovier from this move?
Laforge: There are already some Apache projects listed in the incubation proposal that are using Groovy, like Apache Camel, Bigtop, Ofbiz, and others. There are lots of projects in the Hadoop realms which might benefit from a nice and tight Groovy integration, like Spark, and others.
InfoQ: What's the status on Grails? Do you hope to move it to ASF as well?
Laforge: For Grails, no decision has been taken yet; it'll stay as a standalone project. Following up how successful our migration to the Apache Foundation goes, it might be an option to consider to also have Grails join. But so far, no further migration or steps are scheduled.
Update: The Groovy team has formally submitted its proposal to become part of the Apache Incubator. The Apache Incubator is the entry path into The Apache Software Foundation (ASF) for projects and codebases wishing to become part of the Foundation's efforts.
Re: Really great news, but what about Grails?
Re: Really great news, but what about Grails?
It's primarily driven by Andres Almiray who is with Canoo (www.canoo.com/) one of whose primary businesses is building rich user interfaces of various kinds.
So, it'll stay very well supported and looks to have a bright future as a core part of the proposed desktop UI standardisation effort underway as part of JSR 377 (www.jcp.org/en/jsr/detail?id=377)