Be the first to know and get exclusive access to offers by signing up for our mailing list(s).

Subscribe

We ❤️ Open Source

A community education resource

5 min read

How we migrated a 20-year-old open source project to the Apache Software Foundation

2,000 commits, 1.2 million lines removed, and 18 months to graduate Apache Grails to a Top-Level Project.

Apache Grails has powered tens of thousands of production Java apps for nearly two decades. Until May 2024 it lived under single-organization stewardship. At Community Over Code 2025, I shared the full story of how we moved this mature project into the Apache Software Foundation (ASF) and then quickly graduated it to a Top-Level Project (TLP). The 18-month journey turned the project into a modern, volunteer-driven, enterprise-ready framework under the Apache Way. Here is exactly how we did it and why it matters for any long-lived open source project.

Apache Grails: 20 years of history in 60 seconds

Development began in July 2005. The 0.1 release shipped March 29, 2006 and 1.0 followed in February 2008. Over 20 years ownership passed through G2One (2005 to 2008), SpringSource (2008 to 2015), Object Computing (2015 to 2021), and the Grails Foundation / Unity Foundation (2021 to 2025) before joining the ASF in 2025.

For most of its life, Grails was primarily single-organization-led. That model delivered rapid innovation, but also created sustainability risk when any one company’s priorities shifted. The migration to Apache was our deliberate pivot to a truly community-owned future.

Why we moved Apache Grails to the Apache Software Foundation

Five clear motivations drove the decision:

  • Sustainability: Shift from single-org dependency to a volunteer-driven model that outlives any one company.
  • Community growth and revitalization: New volunteers brought fresh energy and ideas we hadn’t seen in years.
  • Apache Way alignment: Consensus-based decision making, total transparency, and proven governance practices.
  • Stronger governance: Project Management Committee (PMC), public mailing lists, formal voting, and the full incubation process.
  • Vendor neutrality: Anyone can contribute, sponsor, or build on Grails without worrying about corporate ownership. This also aligns us with Apache Groovy, our sister project, which has been part of the ASF since 2015.

“Becoming an ASF Top-Level Project signals the beginning of a new chapter for Apache Grails,” I stated in the announcement. “With ASF’s support and a thriving contributor community, we look forward to broadening adoption and advancing the project’s capabilities.”

The 18-month Apache migration playbook: How we did it

We started in late Spring 2024 alongside Grails 7 development. The process had four big technical pillars:

Mono-repo consolidation – We merged over 24 separate GitHub repositories into a single grails-core mono-repo. Originally the project had around 100 repos. We reduced the migration set to 18 (9 still active). Each repo previously needed its own release and vote. Now all the main code builds together. Release times dropped from over 3 weeks to about 2 hours. The mono-repo now produces more than 325 published JARs across 109 Gradle subprojects.

Maven coordinate updates – All group IDs moved to org.apache.grails. We rewrote a custom Gradle plugin (grails-publish) to make publishing painless and predictable. Community feedback shaped the final naming conventions.

Reproducible and verifiable builds – ASF security policy required GitHub Actions builds that anyone could independently verify. We made the Grails build reproducible (plus upstream contributions to Apache Groovy) so every Grails application can now be built reproducibly too.

License compliance at scale – Every source file received updated headers. All 327 artifacts were audited. We automated future compliance with Software Bill of Materials (SBOM) generation for every published JAR.

Over 2,000 commits later, 1.2 million lines were removed and 2.6 million lines changed. Yet we kept every release milestone stable.

Read more: What is a software build of materials?

Apache Grails 7 release cadence and graduation timeline

  • June 2025: Milestone 4 (first ASF release)
  • July 2025: Milestone 5
  • August 2025: Release Candidate 1
  • September 2025: Release Candidate 2
  • October 2025: 7.0.0 General Availability (plus Spring Security, Redis, Quartz, and other plugins)

The ASF board voted unanimously on September 24, 2025, making Apache Grails a full Top-Level Project.

Key takeaways for migrating your open source project to the ASF

  • Engage the ASF Infrastructure team early via Slack and JIRA. It smooths every step.
  • Your incubation mentors are your secret weapon. Lean on them heavily. The Apache Groovy team provided invaluable assistance.
  • Plan the end state (repo layout, build system, Maven coordinates) first, then work backwards. This avoids duplicated effort.
  • Consolidate repositories aggressively. Fewer repos means fewer release votes and less maintenance overhead.
  • Migrating fully automated Gradle plus GitHub Actions workflows is hard but worth it. Grails-core is now a reference model for other Gradle projects at the ASF.

What Apache Grails TLP graduation means for users and contributors

Grails 7 is faster to build, fully reproducible, license-clean, and enterprise-ready under the Apache Software Foundation. We are committing to six-month release cycles aligned with Spring Boot. The framework remains the same powerful, convention-over-configuration, full-stack Groovy web platform you love. Now it has the long-term stability only the ASF can guarantee.

Get involved with Apache Grails today

Whether you’re a longtime Grails developer, a new contributor, or just curious about moving a mature project to the ASF, we’d love to hear from you. Drop a note on the mailing lists or join us in Slack.

The Grails community has never been stronger. Twenty years in, we’re just getting started. This time as a true Apache Top-Level Project.

More from We Love Open Source

The opinions expressed on this website are those of each author, not of the author's employer or All Things Open/We Love Open Source.

Want to contribute your open source content?

Contribute to We ❤️ Open Source

Help educate our community by contributing a blog post, tutorial, or how-to.

Two World-class Events

If you didn't make it to All Things AI, check out the event summary, and make plans to join us October 19-20 for All Things Open.

Open Source Meetups

We host some of the most active open source meetups in the U.S. Get more info and RSVP to an upcoming event.