[
https://issues.apache.org/jira/browse/HBASE-22516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16854696#comment-16854696
]
Sean Busbey commented on HBASE-22516:
-------------------------------------
{quote}
bq. review LICENSE / NOTICE files
Comparing current NOTICE file with the one from HBase main project, noticed
that we mention hbase depends on hadoop, guava and bootstrap. We are importing
and shading some third party dependencies here on hboss (including guava), as
well as completely depending on hadoop file system contracts. Should all these
be pointed on NOTICE file? For LICENSE file, hbase project mentions all
additional dependencies under different licenses (jquery, protobuf, adoctor).
Is this only needed for direct dependencies, say for instance hboss relies on
protobuf under the hood, should we include such section on LICENSE as well?
{quote}
Great questions!
There are a few LICENSE/NOTICE instances to be concerned with: the source
artifact we release and any binary convenience artifacts (in our case the jar
files in maven). In each case the LICENSE/NOTICE file should only cover those
things that are contained in _that_ specific artifact.
For the source artifact that means just the stuff in the repo, since we
generate it with a simple git command.
For the jars in the repo, the shaded artifact for HBOSS where we bundle in
third party stuff needs to properly cover all the things we include. So for
example, AFAICT we're not actually including any files or artifacts from
protobuf in what we generate so we wouldn't include anything from it. We _do_
bundle Netty in our HBOSS jar (for talking to zk) and thus we have to
accurately include license details from that project.
As a part of HBASE-22393 ([ref
PR|https://github.com/apache/hbase-filesystem/pull/2]) I tried to make sure the
LICENSE/NOTICE files in the generate hboss jar were correct. It would be good
to give it a spot check.
Essentially, we should make sure we have the full text of any relevant licenses
in the LICENSE file. We shouldn't have any licenses that aren't applicable in
there. Our NOTICE file should cover a notice for our software and reproduce the
applicable bits from any NOTICE file from an included dependency. (the PR has a
bit of discussion between Josh and I around a relevant edge case for NOTICE
files from other foundation projects)
This is a bit of a rabbit hole, so it's usually best to have a specific
question in mind before you start delving into the foundation documentation.
That said, the places I go to look for guidelines are:
* http://www.apache.org/legal/release-policy.html#licensing-documentation
* http://www.apache.org/dev/licensing-howto.html
* http://apache.org/legal/src-headers.html
* http://www.apache.org/legal/resolved
> release hbase-filesystem version 1.0.0-alpha1
> ---------------------------------------------
>
> Key: HBASE-22516
> URL: https://issues.apache.org/jira/browse/HBASE-22516
> Project: HBase
> Issue Type: Task
> Components: community, Filesystem Integration
> Affects Versions: hbase-filesystem-1.0.0-alpha1
> Reporter: Sean Busbey
> Assignee: Wellington Chevreuil
> Priority: Major
> Fix For: hbase-filesystem-1.0.0-alpha1
>
>
> for this first alpha release we haven't evaluated deployment options yet, so
> let's just rely on maven for convenience binaries.
> Rough outline of process:
> # review LICENSE / NOTICE files
> # Make sure rat says our files are fine wrt license headers ({{mvn
> apache-rat:check}})
> # Check git vs jira for a correct list of issues included in the release
> # use Apache Yetus Release Doc Maker to generate release notes / changes and
> check into repo
> # update versions to be non-SNAPSHOT
> # make sure we can still build jars
> # tag RC ({{git tag -s 1.0.0-alpha1-RC0 -m "HBASE-XXXX Tagging the
> 1.0.0-alpha1 first Releae Candidate" && git push origin 1.0.0-alpha1-RC0}})
> # use the git archive command to create a source artifact ({{git archive
> --format=tar.gz
> --output="/tmp/hbase-filesystem-1.0.0-alpha1-RC0/hbase-filesystem-1.0.0-alpha1-src.tar.gz"
> --prefix="hbase-filesystem-1.0.0-alpha1/" 1.0.0-alpha1-RC0}})
> # stage the RC artifacts somewhere accessible by https. Should include
> release notes, changes, and source artifact. each of those should have a gpg
> signature and a sha512 checksum file.
> # stage maven repository (tl;dr: {{mvn deploy -DskipTests -Papache-release}}
> and then https://repository.apache.org. See the longer explanation under the
> steps "Deploy to the Maven Repository" and "Make the Release Candidate
> available" in the [Making a Release
> Candidate|http://hbase.apache.org/book.html#maven.release] ref guide section
> for the main project)
> # call VOTE for release candidate. Include the staged artifacts, staged maven
> repository, any critical issues that need summary
> # iterate on RCs if needed due to VOTE feedback
> # When VOTE passes, tag {{rel/1.0.0-alpha1}}, release maven repository,
> publish artifacts on dist.apache.org, send ANNOUNCE email, and prepare repo
> for further development
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)