Hey everyone,

First of all thanks for all the votes.

Regarding the discussion around the NOTICE. We all agree that when
something is bundled, it needs to be added to the notice. However, Laynes
Law of Debate <https://wiki.c2.com/?LaynesLaw> comes into play: what's the
definition of bundling? To expand on #413
<https://github.com/apache/iceberg-python/pull/413>:

   - Hive/Thrift: We don't include anything in the release that comes from
   Thrift or Hive directly. We use Thrift to compile the definition Hive
   definitions to Python, and those are included
   <https://github.com/apache/iceberg-python/tree/main/vendor>. I believe
   an update to the NOTICE is not required here.
   - Avro: We took the de/encoders as a starting point for our Avro
   implementation. This code was modified making it work with an Iceberg
   schema, rather than an Avro schema. The LICENSE was updated to attribute
   the original authors. I can see that this is considered bundling.

This is the problem when people copy what other projects are doing. In
> general, it is right, but sometimes, it is not. Also, you may not
> understand why it was done in a certain way. I frequently have to point
> this out to Incubating projects. I hate to have to say to an Incubating
> project not to follow this project's example.


It would be great to update the licensing to explicitly mention how to
handle borrowed <https://infra.apache.org/licensing-howto.html> code.
Currently, it is unclear since every project does it differently. For
example, Hive, where the NOTICE is empty
<https://github.com/apache/hive/blob/master/NOTICE>. If you search in the
repository for the word borrowed
<https://github.com/search?q=repo%3Aapache%2Fhive%20borrowed&type=code>, on
the first page you already see code from HBase
<https://github.com/apache/hive/blob/b0d3503eea03015d5be9f66e439bee016a176754/ql/src/java/org/apache/hadoop/hive/ql/metadata/JarUtils.java#L55>
and Hadoop
<https://github.com/apache/hive/blob/b0d3503eea03015d5be9f66e439bee016a176754/ql/src/java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java#L752>.
I would love to see the how-to being updated to explicitly mention how to
handle borrowed code.

Kind regards,
Fokko

Op vr 5 apr 2024 om 09:08 schreef Justin Mclean <jus...@classsoftware.com>:

> Hi,
>
> > I think you are right, some 3rd parties (including Apache projects)
> > are missing in the NOTICE file (you and I already mentioned that in a
> > previous release). We should at least mention this. I pointed Apache
> > Karaf NOTICE as example.
>
> This is the problem when people copy what other projects are doing. In
> general, it is right, but sometimes, it is not. Also, you may not
> understand why it was done in a certain way. I frequently have to point
> this out to Incubating projects. I hate to have to say to an Incubating
> project not to follow this project's example.
>
> > I propose to not block releases due to that (as it's like this for a
> > while) and propose to PR to fix that and discuss/document why the
> > change.
>
> I'm not on the PMC, so even if I did vote, it wouldn't count. I would not
> treat it as a blocker for this release, but it would be great if it could
> be fixed before the next release.
>
> Kind Regards,
> Justin

Reply via email to