Alright, I took a pass on this after today's weekly meeting: I added a .mailmap after consulting with James Fredley. This helps correct our contribution graph so users like Jeff Brown now show as the 3rd largest committer (he had a lot of disjoint emails over the years).
With the mailmap in hand, running `git shortlog -esn --all` allowed me to take a pass at historical contributions. There are over 700 authors listed in the git history (we can probably collapse more of these, but I've done my best to do the ones with major contributions). It seems that the majority of authors have less than 10 commits, so I chose that as the cut off point. I am proposing the following criteria to be listed in the pom: 1. Founders 2. Developers - `active` contributors - should have an ASF account - supports the current framework 3. Developer Emeritus Past Developers - non-apache members go here until their ASF account is created - non-active, no contributions across mailing lists, commits, or Grails related areas in the last 12 months - contributors in the pom previously - significant contributors (i.e. they were involved in Grails Development or a member of a company that was) 4. Contributors - not full time supporting the project and historically were not considered on the Grails Team or an associated project - if any of these members continue to contribute they will become future developers As a next step, I started to look at removing `@author` tags, and then noticed there are coauthored files that do not have all of the authors in the git history. For example, in AntPathMatcher, Arjen Poutsma is listed but they are not present in the Git History. Given the contribution history, it's likely these were original files from Spring that were contributed under the code agreement so it's acceptable they exist in the code base from a license perspective. However, if we remove the author tag, we'll loose information for files in this scenario. Also, for cases like the JSON.org public domain files, I don't think we should be removing the `@author` tags. I'm not sure what to do with the older author tags for the spring scenario - do we still remove them in these cases? Do we add these users as Developer Emeritus - even though they likely never worked directly on Grails? Maybe we should only remove `@author` tags where all of the authors are present in git history (see .mailmap)? Please take a look at the PR's PublishPlugin (https://github.com/apache/grails-core/blob/bf4cf701f1580cd4c0095df16fad8f0396e3f54e/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/PublishPlugin.groovy#L194) and then respond on what we should do ... On 2025/12/03 13:59:47 James Fredley wrote: > Thank you for working through all these details. > > I lean towards a cutoff below 200, to show a broader base, but still high > enough so list maintenance is not an issue. > > We have a few contributors who have joined the project as committers, but are > below the current threshold, one is likely because that work is on the > hibernate6 branch. Should we include any committer/PMC member with a lower > threshold of commits, given they are currently active? > > I think the threshold(s) should be in the comments for clarity. > > James Fredley > > On 2025/12/02 19:02:02 James Daugherty wrote: > > I created a draft PR here: https://github.com/apache/grails-core/pull/15274 > > > > Specifically this area: > > https://github.com/apache/grails-core/blob/cca0b41ee5c560b37bb247d0ac0b5bdecf1da5b7/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/PublishPlugin.groovy#L195 > > > > Initially, I defined: > > > > 1. anyone that was a founder > > 2. anyone that was previously listed as a developer or in the pom files > > 3. delineated who is active vs not via the rules set forth in > > PublishPlugin.groovy > > > > So the next question, is who else do we include in this list? > > > > Running the command `git shortlog -esn --all` shows all past contributors, > > but not all contributors were developers. Should we make a cut off on who > > to include? Say anyone over 200 commits? > > > > On 2025/12/02 16:09:38 James Daugherty wrote: > > > I opened https://github.com/apache/grails-gradle-publish/pull/21 to > > > support titles in the grails publish plugin. Once this is merged, I'll > > > put together a PR for us to further discuss based on this thread. > > > > > > -James > > > > > > On 2025/11/28 14:33:46 Mattias Reichel wrote: > > > > This would be nice to have in the poms, but I think it might be a lot > > > > of work if we keep these lists separate per project. > > > > Groovy, it seems, has the same aggregated, manually edited list[1], in > > > > all module poms. > > > > > > > > [1] > > > > https://github.com/apache/groovy/blob/5acebda191d346b531ceaa7ee0b08cd03fe04651/build-logic/src/main/groovy/org.apache.groovy-published-library.gradle#L82 > > > > > > > > > > > > Den ons 26 nov. 2025 kl 14:50 skrev James Daugherty > > > > <[email protected]>: > > > > > > > > > > Hi Everyone, > > > > > > > > > > The recent bom property issue reminded me we still have not followed > > > > > up on harmonizing our author list in our pom files. Currently, we do > > > > > not list all of the developers under authors for each project. > > > > > > > > > > Groovy's pom > > > > > (https://central.sonatype.com/artifact/org.apache.groovy/groovy) > > > > > enumerates all authors and assigns a role to indicate if they're still > > > > > active / founder / legacy. > > > > > > > > > > Groovy uses the following roles: > > > > > 1. Founder > > > > > 2. Developer > > > > > 3. Developer Emeritus > > > > > > > > > > Going by https://www.infoq.com/news/2025/11/grails-7-released/, the > > > > > following would be founders: > > > > > 1. Graeme Rocher > > > > > 2. Guillaume LaForge > > > > > 3. Steven Devijver > > > > > 4. Dierk König > > > > > > > > > > But I don't see #2 & #3 in the commit history. I assume we should > > > > > only include those in the commit history? > > > > > > > > > > As for developer vs developer emeritus, I think we should consider > > > > > anyone who hasn't contributed in the last 12 months as developer > > > > > emeritus. Everyone else would just be listed as a developer. > > > > > > > > > > What are people's thoughts on this proposal? > > > > > > > > > > -James > > > > > > > > > >
