Hi everyone,

I think most folks on this list have been through releases with Apache Tuweni 
but didn’t get really a chance to understand how, and more importantly, why 
it’s such an intricate process.

There is a whole lot of documentation out there on the release process: 
https://www.apache.org/legal/release-policy.html 
<https://www.apache.org/legal/release-policy.html>
Additionally, you should read on the incubation policy: 
https://incubator.apache.org/guides/releasemanagement.html 
<https://incubator.apache.org/guides/releasemanagement.html>

In this email, I’ll go over some of the big points that are worth explaining in 
detail so you know what’s expected. Please make time to go back and read those 
docs and ask any questions, please.

Requirements of a release:
An Apache release must be signed with a committer GPG key. This is to ensure we 
can source the release and make sure the release has not been tampered.
The GPG keys of the committers live in a KEYS file in SVN not far from the 
releases, so it’s easy to check. Our download page even lists how to go about 
it: http://tuweni.apache.org/download/ <http://tuweni.apache.org/download/>

Very important as well, the source distro must build. Meaning, it should have 
the right instructions and components to perform a build so that the release is 
reproducible.
This is not so easy to do, with all the dependencies we have all around.

There’s more. We need a NOTICE and a LICENSE file, formally written according 
to the guidelines to explain how we distribute dependencies.
For example, if a library is MIT/LGPL, we must explain that we redistribute 
under MIT.

The process:
We have a first vote here on list. We need 3 +1 from committers to accept the 
release, with a minimum voting window of 72h.
We will then take the release to the general incubator list to be vetted by the 
incubator.

How do I make a release?
You can follow step by step this guide: 
https://github.com/apache/incubator-tuweni/blob/main/RELEASE.md 
<https://github.com/apache/incubator-tuweni/blob/main/RELEASE.md>

What we should expect:
Votes on this list are sometimes slow. Please be prepared and test the release. 
When you vote on the release, say what you did: unzip? Build it? Play with it?

Votes on the incubator list place more scrutiny on the general release 
guidelines and our adherence to good policy when it comes to NOTICE and LICENSE 
files. We should expect to have to revote a couple times on a release to fix 
issues with dependencies.

That’s it folks. The ASF is a marvelous place, and we need to get bits out to 
get adoption and use of our hard work. If we can sustain releases on our own, 
and can do a couple big releases without the general list having issues, we 
will be well on our way to graduate out of the incubator into our own TLP.

Please send me any questions you may have.

Cheers,

Antoine

Reply via email to