Hi,

We are missing disclaimers[1].

We should not include binary code in the source code, I think you
forgot to exclude it(*.jar) when you packaged the source code.
(btw,maven-wrapper is donated to ASF with a version upgraded, we
better upgrade to the new version 3.1.x which was released under the
ASF umbrella)

We usually include a RELEASE-NOTE or CHANGE-LOG in the source package.

Here is a complete release process[2][3][4]. maybe it will be useful.

[1]https://incubator.apache.org/policy/incubation.html#disclaimers
[2]https://incubator.apache.org/guides/releasemanagement.html#best-practice
[3]https://www.apache.org/legal/release-policy.html#what
[4]https://infra.apache.org/release-distribution

On Mon, Nov 21, 2022 at 6:24 AM Julian Hyde <jh...@apache.org> wrote:
>
> Thanks for creating a process. Now we have a process, we can iterate.
> A few thoughts.
>
> 1. On terminology. The release itself consists of the source code,
> literally the src.tar.gz file. People incorrectly use the term 'binary
> release' but the binaries are just artifacts generated from the
> release.
>
> Part of the reason that binaries are not part of the release is that
> it's only practical to vote on source code. What you have done here,
> generating and signing binaries from the source code, is about the
> best we can do.
>
> An Apache project MAY distribute binary artifacts with a release.
> Since Baremaps is a Java project, I would recommend deploying the jars
> to Maven Central. There are Maven plugins to stage the jars in
> Apache's repository so that people can inspect them during the vote.
>
> 2. On process. The release manager will send an email to vote on the
> artifacts. The email contains the hashes of the objects (to prevent,
> among other things, a man-in-the-middle attack where a server spoofs
> github.com), and instructions to verify the artifacts.
>
> As a mentor, I generally recommend that the first release is source
> only, and therefore you would not mention the binary artifacts in the
> release vote.
>
> 3. On the contents of the release. I noticed a few errors in the files:
>  * the LICENSE file still contains its appendix; you should remove it;
>  * in NOTICE, '2022 and onwards' should be '2022';
>  * there will need to be a DISCLAIMER file noting the incubating status;
>  * maven-wrapper.jar should not be in the source distro (see
> https://issues.apache.org/jira/browse/LEGAL-570);
>  * I strongly recommend that there is a README or README.txt file,
> written for the person who has just downloaded and unzipped the tar
> ball, describing what they have downloaded (including the version) and
> how to build it (yes, it's unfortunate that this file clashes with the
> README.md required by GitHub);
>  * I would add headers to every text file that supports it, e.g.
> pom.xml, READM.md, baremaps.bat; there is an argument to skip for
> files where size is important, e.g. .js files that won't be minified;
>  * Are there any generated files in the source code?
> maplibre-gl-inspect.js and schema.db.
>
> Errors are expected at this point. I'm sure I will find many more when
> there is a release candidate. :)
>
> 4. On licensing. The NOTICE file looks in fairly good shape. But I
> think we will need to audit the various test data sets.
>
> 5. On the location. Generally RMs stage the files into Apache
> subversion before a release vote. This ensures that the artifacts
> cannot be accidentally updated or deleted. (It also makes it easier
> for me, because I can just do 'svn update' on my directory that maps
> to https://dist.apache.org/repos/dist/dev/incubator/baremaps.)
>
> Lastly, I recommend that java classes have javadoc, without exception.
> (This advice pertains to the software development process, not
> releases, so feel free to ignore it.) Javadoc is a great place to
> document the purpose of a class; not just what it does, but why it is
> necessary, how it works, how you should use it, and why we put it in
> this place. If contributors see classes without javadoc they will
> contribute classes without javadoc, so if you start badly, things will
> only get worse over time.
>
> Julian
>
> On Fri, Nov 18, 2022 at 9:33 AM Bertil Chapuis <bchap...@gmail.com> wrote:
> >
> > Hello Everyone,
> >
> > The following draft release has been generated with github actions:
> > https://github.com/apache/incubator-baremaps/releases/tag/untagged-4d07860016b500637021
> >
> > We have two distributions (source and binary) created with the maven 
> > assembly plugin. The checksums and signatures are generated by the CI. For 
> > now, the PGP signatures are computed with the PGP key used to sign the 
> > maven artifacts. The release action is located here:
> > https://github.com/apache/incubator-baremaps/blob/cd0a1fdb7c7c29a6f41d1f299239cb61580b3036/.github/workflows/release.yml#L23
> >
> > In order to publish a new release, the release manager would have to 
> > perform the following steps:
> > 1) create a branch for the release
> > 2) execute the mvn release:prepare command in this branch
> > 3) check that the release action completes on github and produces a draft 
> > of the release
> > 4) generate and edit the release notes on github
> > 5) ask the mailing list to vote for the release
> > 7) if the vote passes, merge the release branch into main and publish the 
> > release
> >
> > What do you think about this process? Do not hesitate to share your 
> > thoughts.
> >
> > Best,
> >
> > Bertil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@baremaps.apache.org
> For additional commands, e-mail: dev-h...@baremaps.apache.org
>


-- 
Best wishes!
CalvinKirs

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@baremaps.apache.org
For additional commands, e-mail: dev-h...@baremaps.apache.org

Reply via email to