Let's add this information to the licensing wiki page. https://cwiki.apache.org/confluence/display/FLINK/Licensing

On 01/04/2020 12:16, Yu Li wrote:
Thanks Stephan, this is enlightening!

Best Regards,
Yu


On Wed, 1 Apr 2020 at 16:30, Stephan Ewen <se...@apache.org> wrote:

@Yu - there is nothing magic behind the license check, but I can share
what I did there.

Source distribution:
   - This means code copied into the repo.
   - The Java source code is usually fine, committers copying code verbatim
usually comment on that directly.
   - Most important are other files, like docs (mostly build setup, not
contents files), other html/web related code (like UIs), build files, etc.
So specifically go through these files (there are usually not too many).

Binary distribution:
   - To check the compatibility of licenses of transitive dependencies,
maven generated a "DEPENDENCIES" file in the Jar that lists the
dependencies by license, which is a very helpful start
   - Packaging wise, projects that build shaded jars are important, because
they bundle dependencies, which means
      (a) checking that the relevant licenses / notices are present
      (b) checking that they don't bundle too much (jar tf <jar file> |
grep ... | less) because transitive dependencies and mixing compile /
provided is not straightforward in maven.

Best,
Stephan



On Wed, Apr 1, 2020 at 4:47 AM Yu Li <car...@gmail.com> wrote:

Hi Stephan,

Could you also share the method of license check, so more people could
help in future votes? And maybe adding some instructions into our wiki [1]?
I skipped the licensing check in my vote because not aware of a good way to
do it thoroughly, not sure whether I'm the only one having such question
though. Thanks.

btw, I noticed the fix version of FLINK-16891-16897 are all set to 2.0.0
but I guess it should be statefun-2.0.0 instead?

Best Regards,
Yu

[1] https://cwiki.apache.org/confluence/display/FLINK/Licensing

On Wed, 1 Apr 2020 at 04:01, Stephan Ewen <se...@apache.org> wrote:

I did a release check for license issues - all in all, we need a new RC.

The only blocker I found was the missing jquery license file.

Another somewhat critical thing is that "statefun-flink-distribution"
bundles many unwanted dependencies.
   - Because the shading merges the notice files, this is not a legal
issue.
   - Because Flinks inverted classloading still uses "parent-first" for
all
"org.apache.flink.*" classes, this does not break the system
But it is unwanted behavior and makes the artifacts unnecessarily large.

I opened FLINK-16891 - FLINK-16897 for the issues I found.
All issues are fixed in this PR:
https://github.com/apache/flink-statefun/pull/85



On Tue, Mar 31, 2020 at 7:17 PM Stephan Ewen <se...@apache.org> wrote:

I have found a few things, am preparing a joint PR to fix them.

So far, only the missing jquery license would have been a release
blocker.
On Tue, Mar 31, 2020 at 6:24 PM Chesnay Schepler <ches...@apache.org>
wrote:

The jquery license is in fact missing from the master/release-1.10
branches. https://issues.apache.org/jira/browse/FLINK-16888


On 31/03/2020 12:18, Chesnay Schepler wrote:
For Kafka we traditionally exclude the NOTICE file since as far as
we
can tell it is misleading anyway, see the flink-sql-connector-kafka
modules.

@Robert for the Flink project the jquery license is in the source at
licenses/LICENSE.jquery

I'm a bit concerned just how many licensing issues are showing up in
these RCs. I would suggest to do a proper scan of the licensing
before
opening another RC.

And yes, the missing MIT license is grounds for cancellation,
hence, -1.
On 31/03/2020 11:56, Robert Metzger wrote:
Thanks a lot Gordon!

Checked:
- files in the staging repository seem to be ok (no unexpected
files,
versions set correctly, quickstart archetype looks ok)
- statefun-ridesharing-example-simulator-2.0.0.jar (and

/org/apache/flink/statefun-flink-distribution/2.0.0/statefun-flink-distribution-2.0.0.jar)
contains a NOTICE file in the root which seems to come from Apache
Kafka.
The file states

This distribution has a binary dependency on jersey, which is
available
under the CDDL
License. The source code of jersey can be found at
https://github.com/jersey/jersey/.
This text is not mentioned in our NOTICE file (which is located in
META-INF/NOTICE).
I'm not a lawyer, but the NOTICE file situation might be confusing
in
that
jar. The first NOTICE file you see is from Kafka. If we argue that
this is
not the right file,
because that one is located in META-INF/NOTICE, then we might be at
risk of
not having properly forwarded Kafka's NOTICE file.
I believe this is okay, as we somehow include all the necessary
information, but we should address this in the next release (or if
this RC
gets cancelled again).
I'm also curious to hear the opinion of others on this.

- The source release contains "docs/page/js/jquery.min.js", which
is
MIT
licensed. The MIT license requires us to ship a copy of the license
with
each copy of the source.
apache/flink also has this file:

https://github.com/apache/flink/blob/master/docs/page/js/jquery.min.js,
but
it ships the jquery license in the "licenses/" folder (even though
this
file is not in git, I guess it's added during release generation?!)

I believe we have to cancel this RC because of the missing license
file in
the source distribution? I'm not voting on this RC, in case I have
overlooked something and we can continue.


On Tue, Mar 31, 2020 at 9:31 AM Tzu-Li (Gordon) Tai
<tzuli...@apache.org>
wrote:

======= NOTICE =======

For your testing, please continue to use this staging area for the
Maven
artifacts:

https://repository.apache.org/content/repositories/orgapacheflink-1344/
The only difference between this staging repo and the original
repo
posted
in this thread (

https://repository.apache.org/content/repositories/orgapacheflink-1343/)
is that a few unintended source release distributions have been
removed
from the Maven repo staging area.
Those should not be built and published by Maven, since we use
our own
tools to build the source distributions (staged at

https://dist.apache.org/repos/dist/dev/flink/flink-statefun-2.0.0-rc4/).

Since this does not affect any code in the project, and the staged
Maven
artifacts are still built with the same commit hash as the source
distribution,
this RC vote will continue to run until the original vote end
time.
All previous votes in this thread will still be accounted for.

On Tue, Mar 31, 2020 at 2:57 PM Tzu-Li (Gordon) Tai
<tzuli...@apache.org>
wrote:

Sounds good, I'll post a new link to this vote thread, which will
have
the
problem fixed in a new maven staging repository.

On Tue, Mar 31, 2020 at 2:51 PM Robert Metzger <
rmetz...@apache.org>
wrote:

Thank you for looking into this.

I'm fine with keeping this RC open, but re-vote on a new maven
staging
repository.

On Tue, Mar 31, 2020 at 8:42 AM Tzu-Li (Gordon) Tai <
tzuli...@apache.org>
wrote:

Found the culprit:

The Stateful Functions project uses the Apache POM as the
parent
POM,
and
uses the `apache-release` build profile to build the staging
jars.
The problem arises because the `apache-release` build profile
itself
bundles a source release distribution to be released to Maven.
This should be disabled specifically for us, because we use
our own
tooling
(tools/releasing/create_source_release.sh) to create the source
tarballs
which does correctly exclude all those unexpected files Robert
found.

Will rebuild the RC. I think in this case, it's completely
fine to
keep
with the original voting end time, since nothing is really
touched,
only
excluding some files from the staging Maven repository.

On Tue, Mar 31, 2020 at 2:29 PM Tzu-Li (Gordon) Tai <
tzuli...@apache.org>
wrote:

Hi Robert,

I think you're right. There should be no tarballs / jars
packaged
for
statefun-parent actually, only the pom file since that's the
parent
module
which only has pom packaging.
I'm looking into it.

On Tue, Mar 31, 2020 at 2:23 PM Robert Metzger <
rmetz...@apache.org
wrote:

While checking the release, I found a 77
MB statefun-parent-2.0.0-source-release.zip file in the maven
staging
repo:


https://repository.apache.org/content/repositories/orgapacheflink-1343/org/apache/flink/statefun-parent/2.0.0/
It seems that the file contains all ruby dependencies in
docs/
from
jekyll
for the docs (in
"statefun-parent-2.0.0/docs/.rubydeps/ruby/2.5.0").
I
don't think we want to publish these files as part of the
release
to
maven
central?
(It also contains python venv files in
"statefun-python-sdk/venv")
I guess this is a reason to cancel the RC?


On Tue, Mar 31, 2020 at 6:10 AM Tzu-Li (Gordon) Tai <
tzuli...@apache.org>
wrote:

+1 (binding)

** Legal **
- checksums and GPG files match corresponding release files
- Source distribution does not contain binaries, contents
are
sane
(no
.git* / .travis* / generated html content files)
- Bundled source LICENSEs and NOTICE looks good. Mentions
bundled
font-awesome dependency in docs and copied sources from
fastutil
(
http://fastutil.di.unimi.it/)
- Bundled LICENSEs and NOTICE files for Maven artifacts
looks
good.
Artifacts that do bundle dependencies are:
statefun-flink-distribution,
statefun-ridesharing-example-simulator, statefun-flink-core
(copied
sources).
- Python SDK distributions (source and wheel) contain ASLv2
LICENSE
and
NOTICE files (no bundled dependencies)
- All POMs / README / Python SDK setup.py / Dockerfiles /
doc
configs
point
to same version “2.0.0”
- README looks good

** Functional **
- Building from source dist with end-to-end tests enabled
(mvn
clean
verify
-Prun-e2e-tests) passes (JDK 8)
- Generated quickstart from archetype looks good (correct
POM /
Dockerfile
/ service file)
- Examples run: Java Greeter / Java Ridesharing / Python
Greeter
/
Python
SDK Walkthrough
- Flink Harness works in IDE
- Test remote functions deployment mode with AWS ecosystem:
remote
Python
functions running in AWS Lambda behind AWS API Gateway, Java
embedded
functions running in AWS ECS

On Tue, Mar 31, 2020 at 12:09 PM Tzu-Li (Gordon) Tai <
tzuli...@apache.org>
wrote:

FYI - I've also updated the website Downloads page to
include
this
release.
Please also consider that for your reviews:
https://github.com/apache/flink-web/pull/318

On Tue, Mar 31, 2020 at 3:42 AM Konstantin Knauf <
konstan...@ververica.com>
wrote:

Hi Gordon,

+1 (non-binding)

* Maven build from source...check
* Python build from source...check
* Went through Walkthrough based on local builds...check

Cheers,

Konstantin

On Mon, Mar 30, 2020 at 5:52 AM Tzu-Li (Gordon) Tai <
tzuli...@apache.org>
wrote:

Hi everyone,

Please review and vote on the *release candidate #4* for
the
version
2.0.0
of Apache Flink Stateful Functions,
as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide
specific
comments)
**Testing Guideline**

You can find here [1] a doc that we can use for
collaborating
testing
efforts.
The listed testing tasks in the doc also serve as a
guideline
in
what
to
test for this release.
If you wish to take ownership of a testing task, simply
put
your
name
down
in the "Checked by" field of the task.

**Release Overview**

As an overview, the release consists of the following:
a) Stateful Functions canonical source distribution, to
be
deployed to
the
release repository at dist.apache.org
b) Stateful Functions Python SDK distributions to be
deployed
to
PyPI
c) Maven artifacts to be deployed to the Maven Central
Repository
**Staging Areas to Review**

The staging areas containing the above mentioned
artifacts
are as
follows,
for your review:
* All artifacts for a) and b) can be found in the
corresponding
dev
repository at dist.apache.org [2]
* All artifacts for c) can be found at the Apache Nexus
Repository
[3]
All artifacts are singed with the
key 1C1E2394D3194E1944613488F320986D35C33D6A [4]

Other links for your review:
* JIRA release notes [5]
* source code tag "release-2.0.0-rc4" [6] [7]

**Extra Remarks**

* Part of the release is also official Docker images for
Stateful
Functions. This can be a separate process, since the
creation
of
those
relies on the fact that we have distribution jars already
deployed
to
Maven. I will follow-up with this after these artifacts
are
officially
released.
In the meantime, there is this discussion [8] ongoing
about
where
to
host
the StateFun Dockerfiles.
* The Flink Website and blog post is also being worked on
(by
Marta)
as
part of the release, to incorporate the new Stateful
Functions
project.
We
can follow up with a link to those changes afterwards in
this
vote
thread,
but that would not block you to test and cast your votes
already.
* Since the Flink website changes are still being worked
on,
you
will
not
yet be able to find the Stateful Functions docs from
there.
Here
are
the
links [9] [10].

**Vote Duration**

Since this RC only fixes licensing issues from previous
RCs,
and the code itself has not been touched,
I'd like to stick with the original vote ending time.

The vote will be open for at least 72 hours starting
Monday
*(target end date is Wednesday, April 1st).*
It is adopted by majority approval, with at least 3 PMC
affirmative
votes.
Thanks,
Gordon

[1]


https://docs.google.com/document/d/1P9yjwSbPQtul0z2AXMnVolWQbzhxs68suJvzR6xMjcs/edit?usp=sharing
[2]
https://dist.apache.org/repos/dist/dev/flink/flink-statefun-2.0.0-rc4/
[3]

https://repository.apache.org/content/repositories/orgapacheflink-1343/
[4]
https://dist.apache.org/repos/dist/release/flink/KEYS
[5]


https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12346878
[6]


https://gitbox.apache.org/repos/asf?p=flink-statefun.git;a=commit;h=5d5d62fca2dbe3c75e8157b7ce67d4d4ce12ffd9
[7]
https://github.com/apache/flink-statefun/tree/release-2.0.0-rc4
[8]


http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Creating-a-new-repo-to-host-Stateful-Functions-Dockerfiles-td39342.html
[9]
https://ci.apache.org/projects/flink/flink-statefun-docs-master/
[10]
https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/
TIP: You can create a `settings.xml` file with these
contents:
"""
<settings>
    <activeProfiles>
<activeProfile>flink-statefun-2.0.0</activeProfile>
    </activeProfiles>
    <profiles>
      <profile>
<id>flink-statefun-2.0.0</id>
        <repositories>
          <repository>
<id>flink-statefun-2.0.0</id>
            <url>

https://repository.apache.org/content/repositories/orgapacheflink-1343/
</url>
          </repository>
          <repository>
            <id>archetype</id>
            <url>

https://repository.apache.org/content/repositories/orgapacheflink-1343/
</url>
          </repository>
        </repositories>
      </profile>
    </profiles>
</settings>
"""

And reference that in you maven commands via `--settings
path/to/settings.xml`.
This is useful for creating a quickstart based on the
staged
release
and
for building against the staged jars.

--

Konstantin Knauf | Head of Product

+49 160 91394525


Follow us @VervericaData Ververica <
https://www.ververica.com/>
--

Join Flink Forward <https://flink-forward.org/> - The
Apache
Flink
Conference

Stream Processing | Event Driven | Real Time

--

Ververica GmbH | Invalidenstrasse 115, 10115 Berlin,
Germany
--
Ververica GmbH
Registered at Amtsgericht Charlottenburg: HRB 158244 B
Managing Directors: Timothy Alexander Steinert, Yip Park
Tung
Jason,
Ji
(Tony) Cheng




Reply via email to