Our documentation has drifted since the move off Codehaus, and in a few places it now tells people things that are no longer true. I audited the READMEs, the GitHub org surface and the generated sites, and I'd like to fix it in a small number of coordinated passes rather than ad-hoc.
This issue is the umbrella. Every PR in this effort will link back here so reviewers have the context, and I'll log settings changes as comments below.
What I found
Everything here was checked against the live API, the sources and live HTTP responses — not from memory.
Org surface
profile/README.md in this repo is still GitHub's placeholder template ("Hi there 👋", followed by the commented-out starter prompts). It's the first thing anyone sees at github.com/codehaus-plexus.
- No
SECURITY.md anywhere in the org, although plexus-archiver has 5 published advisories. There's no documented private reporting channel.
- No
CONTRIBUTING.md and no issue/PR templates in any repo. Community-health scores run 12–37%.
- 12 of 19 active repos have no GitHub description, including plexus-archiver, plexus-io, plexus-interpolation, plexus-sec-dispatcher, plexus-pom and modello.
- 14 of 18 Pages sites don't have "Enforce HTTPS" on. (plexus-xml, plexus-languages, plexus-testing and plexus-build-api already do — those are the model.)
READMEs
- None of the 17 READMEs shows how to depend on the artifact. Exactly one states a Java baseline, which is awkward given plexus-sec-dispatcher and plexus-xml 4.x need Java 17 while the parent still defaults to 8.
- Nine still end with "The current master is now at
https://github.com/codehaus-plexus/<that same repo>" — a 2015 redirect notice shown to people already on the page.
- plexus-interactivity has a travis-ci.org badge that renders
build | unknown; plexus-archiver still opens with an "Important Hint" about a patch shipped in 3.6.0.
- Six READMEs document site publishing, with four mutually inconsistent commands. plexus-utils and plexus-xml tell you to run
site site:stage scm-publish:publish-scm, but their POMs bind publish-scm to site-deploy and carry the comment "mono-module doesn't require site:stage". plexus-sec-dispatcher documents a publish command but has no scm-publish configuration at all — that one is a build bug, and I'll file it separately.
Sites
- Two links on the landing page 404:
./faq.html, and writing-components-trail/index.html — the latter is in site.xml's menu, so it's broken on every page of the site.
- "Community → Mailing Lists" points at
groups.google.com/g/mojohaus-dev, which is a different organisation.
ref/available-components.xml advertises seven components that no longer exist (plexus-cli, plexus-spring, plexus-contextualizer, plexus-xwork-integration, plexus-mail-sender, plexus-cache, plexus-swizzle) and lists none of the current ones. The overview page omits plexus-sec-dispatcher, plexus-testing and plexus-build-api, and still lists the archived plexus-digest.
get-involved.html asks contributors to paste a "Copyright 2007 The Codehaus Foundation" header and to download maven-idea-codestyle.xml into ~/.IntelliJIDEA/config/codestyles. Formatting is enforced by Spotless with palantirJavaFormat; the real instruction is one command.
- plexus-i18n and plexus-interactivity have no POM
<description>, so their generated homepage inherits the parent's: "The Plexus project provides a full software stack for creating and executing software projects." Our own landing page contradicts that — it correctly says the container was replaced by Eclipse Sisu.
- Site publishing is entirely manual; there's no site workflow in any repo. Last-published dates span May 2023 to June 2026.
What I propose
1 — Org-inherited files (this repo). Real profile README. A deliberately minimal SECURITY.md (point at GitHub private vulnerability reporting; no supported-versions table and no response-time promise, since those are commitments nobody has made). A CONTRIBUTING.md covering build, Java baseline, mvn spotless:apply, and where to ask. One light bug template and a short PR template. Plus a RELEASING.md so the publish procedure is written down once instead of six times, inconsistently.
2 — The landing site. Fix the dead links and the mailing-list pointer. Rewrite the overview into a real component index and retire available-components. Collapse the retired IoC documentation into one clearly-labelled section with a banner explaining that Eclipse Sisu replaced it. No page will be moved or deleted and no URL will change — that content is deep-linked from fifteen years of blog posts and Stack Overflow answers, and it stays exactly where it is.
3 — READMEs, one PR per repo. A common skeleton: what it is, status and version guidance, Maven coordinates, Java baseline, links to javadoc.io and the site. The status section matters most — "which plexus-utils major do I want, and what moved to plexus-xml in 4.x" is the question we get asked and answer nowhere. The skeleton is a floor, not a ceiling: repo-specific knowledge stays. plexus-classworlds' COMPATIBILITY.md is the standard I'm aiming at, not something to normalise away.
4 — Publishing. A shared, manually-dispatched site-publishing workflow, so there's one button instead of four different shell incantations. Deliberately not auto-publishing on release: that would put unreviewed content live and take the release manager out of the loop, and Maven site builds break often enough that I don't want them firing unattended.
Deliberately not doing
- No code of conduct. A CoC needs an enforcement contact and a body empowered to act on it. We have neither, and a Contributor Covenant pointing at a dead address is worse than none. Happy to be argued out of this.
- No license-header sweep. The Codehaus Foundation headers are real provenance on other people's contributions, and Modello is MIT while the rest is Apache-2.0. Nothing in this effort rewrites a copyright line.
- No content for the four empty component sites (i18n, interactivity, resources, sec-dispatcher). The README is the surface people actually reach; filling in Maven sites nobody visits isn't worth it.
- No site.xml unification or topic renaming. Bikeshed.
Settings changes
Some of this isn't PR-able — repo descriptions, "Enforce HTTPS", private vulnerability reporting. I'll apply those and log the exact commands in a comment here so they're auditable and easy to revert.
I don't have admin on plexus-xml, plexus-languages, plexus-testing, plexus-build-api or this repo, so anything needing admin there will need another maintainer.
Timing
I'll open the first PRs now so there's something concrete to react to, but I'll leave anything structural — the site menu, the README skeleton — open for at least 72 hours before merging. Straightforward corrections like the dead links I'll merge once they're green.
Please do comment, particularly on the code-of-conduct call and on the status/version-guidance wording. Those are the two parts with real judgement in them rather than just tidying.
Our documentation has drifted since the move off Codehaus, and in a few places it now tells people things that are no longer true. I audited the READMEs, the GitHub org surface and the generated sites, and I'd like to fix it in a small number of coordinated passes rather than ad-hoc.
This issue is the umbrella. Every PR in this effort will link back here so reviewers have the context, and I'll log settings changes as comments below.
What I found
Everything here was checked against the live API, the sources and live HTTP responses — not from memory.
Org surface
profile/README.mdin this repo is still GitHub's placeholder template ("Hi there 👋", followed by the commented-out starter prompts). It's the first thing anyone sees atgithub.com/codehaus-plexus.SECURITY.mdanywhere in the org, although plexus-archiver has 5 published advisories. There's no documented private reporting channel.CONTRIBUTING.mdand no issue/PR templates in any repo. Community-health scores run 12–37%.READMEs
https://github.com/codehaus-plexus/<that same repo>" — a 2015 redirect notice shown to people already on the page.build | unknown; plexus-archiver still opens with an "Important Hint" about a patch shipped in 3.6.0.site site:stage scm-publish:publish-scm, but their POMs bindpublish-scmtosite-deployand carry the comment "mono-module doesn't require site:stage". plexus-sec-dispatcher documents a publish command but has noscm-publishconfiguration at all — that one is a build bug, and I'll file it separately.Sites
./faq.html, andwriting-components-trail/index.html— the latter is insite.xml's menu, so it's broken on every page of the site.groups.google.com/g/mojohaus-dev, which is a different organisation.ref/available-components.xmladvertises seven components that no longer exist (plexus-cli, plexus-spring, plexus-contextualizer, plexus-xwork-integration, plexus-mail-sender, plexus-cache, plexus-swizzle) and lists none of the current ones. The overview page omits plexus-sec-dispatcher, plexus-testing and plexus-build-api, and still lists the archived plexus-digest.get-involved.htmlasks contributors to paste a "Copyright 2007 The Codehaus Foundation" header and to downloadmaven-idea-codestyle.xmlinto~/.IntelliJIDEA/config/codestyles. Formatting is enforced by Spotless with palantirJavaFormat; the real instruction is one command.<description>, so their generated homepage inherits the parent's: "The Plexus project provides a full software stack for creating and executing software projects." Our own landing page contradicts that — it correctly says the container was replaced by Eclipse Sisu.What I propose
1 — Org-inherited files (this repo). Real profile README. A deliberately minimal
SECURITY.md(point at GitHub private vulnerability reporting; no supported-versions table and no response-time promise, since those are commitments nobody has made). ACONTRIBUTING.mdcovering build, Java baseline,mvn spotless:apply, and where to ask. One light bug template and a short PR template. Plus aRELEASING.mdso the publish procedure is written down once instead of six times, inconsistently.2 — The landing site. Fix the dead links and the mailing-list pointer. Rewrite the overview into a real component index and retire
available-components. Collapse the retired IoC documentation into one clearly-labelled section with a banner explaining that Eclipse Sisu replaced it. No page will be moved or deleted and no URL will change — that content is deep-linked from fifteen years of blog posts and Stack Overflow answers, and it stays exactly where it is.3 — READMEs, one PR per repo. A common skeleton: what it is, status and version guidance, Maven coordinates, Java baseline, links to javadoc.io and the site. The status section matters most — "which plexus-utils major do I want, and what moved to plexus-xml in 4.x" is the question we get asked and answer nowhere. The skeleton is a floor, not a ceiling: repo-specific knowledge stays. plexus-classworlds'
COMPATIBILITY.mdis the standard I'm aiming at, not something to normalise away.4 — Publishing. A shared, manually-dispatched site-publishing workflow, so there's one button instead of four different shell incantations. Deliberately not auto-publishing on release: that would put unreviewed content live and take the release manager out of the loop, and Maven site builds break often enough that I don't want them firing unattended.
Deliberately not doing
Settings changes
Some of this isn't PR-able — repo descriptions, "Enforce HTTPS", private vulnerability reporting. I'll apply those and log the exact commands in a comment here so they're auditable and easy to revert.
I don't have admin on plexus-xml, plexus-languages, plexus-testing, plexus-build-api or this repo, so anything needing admin there will need another maintainer.
Timing
I'll open the first PRs now so there's something concrete to react to, but I'll leave anything structural — the site menu, the README skeleton — open for at least 72 hours before merging. Straightforward corrections like the dead links I'll merge once they're green.
Please do comment, particularly on the code-of-conduct call and on the status/version-guidance wording. Those are the two parts with real judgement in them rather than just tidying.