www-legal-discuss mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From SHUANG SU <sushuang0...@gmail.com>
Subject Re: License for using 3rd-party code
Date Fri, 15 Feb 2019 11:02:29 GMT
Hi Hen,

Thank you so much for your detailed check!

There is one more question about this file:



>
>
The method "quantile" is copied from ij


------------------------------
 Su Shuang (100pah)
------------------------------



On Mon, 11 Feb 2019 at 04:49, Hen <bayard@apache.org> wrote:

> On Fri, Feb 1, 2019 at 11:04 AM SHUANG SU <sushuang0322@gmail.com> wrote:
>
> >
> > Hi,
> >
> > Thanks a lot for the attention and checking.
> >
> > > > To be more specific, here are some types of files:
> > > > 1. Some part of a file (maybe several lines, or a short function) is
> > copied directly from a 3rd-party implementation, but others are
> implemented
> > by ourselves.
> > > > 2. The code is implemented by us, but the general idea or algorithm
> is
> > inspired by 3rd-party.
> >
> > > ASF policy [1] states that you should not add the standard Apache
> > License header to the top of third-party source files, and only if major
> > modifications are done then the (P)PMC should decide what to do. IMO that
> > decision would need to be documented on the mailing list. INAL but from
> > what I’ve  seen previously option 2 is generally not enough change to
> > change the 3rd party license.
> >
> > In my opinion, both the cases that a code snippet "copied from a
> > 3rd-party" or "the idea/algorithm inspired by 3rd-party"
> > need to follow the third-party license.
> >
> >
> "inspired by" and "learned from" are both, iiuc, vague concepts in
> copyright. There's no right given to learn from a piece of code or to be
> inspired by a piece of code. So the 'need to follow license' statement
> doesn't compile cleanly.
>
> What's the right thing to do for the public good here? I'll go with:
>
> * Be transparent when implementing an existing idea/algorithm.
> * Reference where that idea/algorithm came from.
> * Use standard language when doing so (we need to define standard
> language).
> * If any copyrightable expression is copied from the existing
> idea/algorithm, compare its licensing to our licensing policies and include
> licensing accordingly.
>
> In fact, in the current source code of Apache-echarts, there
> > is no case that "a code snippet need to change the origin third-party
> > license".
> >
> > But the key point we are confused and discussed here is:
> > "how to arrange the presence of the license statement in the source code
> > files
> > when some code follows the Apache License and some follows the
> third-party
> > license".
> >
> > To find a practicable way to solve this issue and guide the future
> coding,
> > I think we need to go deep into these source files:
> >
> > These source files of the release candidate of Apache-echarts 4.2.1-rc.1
> > ( https://dist.apache.org/repos/dist/dev/incubator/echarts/4.2.1-rc.1/ )
> > are questioned about the embedded third-party license:
> >
> > <1> src/util/number.js
> >
>
> This file says this:
>
>  * @see <https://github.com/mbostock/d3/blob/master/src/arrays/quantile.js
> >
>  * @see <http://en.wikipedia.org/wiki/Quantile>
>
> Assuming no code was copied, this seems fine. If code was copied from
> either, then there is licensing to include (be that BSD for d3 or CC-BY-SA
> for Quantile, the latter being a problem for us licensing wise).
>
>
> > <2> src/chart/treemap/treemapLayout.js
> >
>
> This file says this:
>
> /*
> * The treemap layout implementation references to the treemap
> * layout of d3.js (d3/src/layout/treemap.js in v3). The use of
> * the source code of this file is also subject to the terms
> * and consitions of its license (BSD-3Clause, see
> * <echarts/src/licenses/LICENSE-d3>).
> */
>
> and later:
>
>  * Layout treemap with squarify algorithm.
>  * @see
>
> https://graphics.ethz.ch/teaching/scivis_common/Literature/squarifiedTreeMaps.pdf
>  * The implementation references to the treemap layout of d3.js.
>  * See the license statement at the head of this file.
>
> The 'references to' is confusing, I don't know what that is supposed to
> mean has happened. Assuming code has been copied from d3 into echarts here,
> which is not what 'references to' means, the rest of this would look good
> to me.
>
>
> > <3> src/chart/tree/layoutHelper.js
> >
>
> This file says this:
>
> /*
> * The tree layout implementation references to d3.js
> * (https://github.com/d3/d3-hierarchy). The use of the source
> * code of this file is also subject to the terms and consitions
> * of its license (BSD-3Clause, see <echarts/src/licenses/LICENSE-d3>).
> */
>
> /**
>  * @file The layout algorithm of node-link tree diagrams. Here we using
> Reingold-Tilford algorithm to drawing
>  *       the tree.
>  * @see https://github.com/d3/d3-hierarchy
>  */
>
> My comments are the same as the previous item.
>
>
> > <4> src/chart/graph/forceHelper.js
> >
>
> Same 'references to' language. Later on it also says '// From d3' followed
> by a block of commented out code. It's not clear if that's meant to mean
> code has been copied.
>
>
> > <5> src/util/array/nest.js
> >
>
> Note that this was src/util.nest.js.  Same 'references to' issue.
>
>
> > <6> src/scale/Time.js
> >
>
> Same 'references to' issue. Also says:
>
> // Steps from d3, see the license statement at the top of this file.
>
> which seems fine.
>
>
> > <snip by bayard@>
> >
> > And about the file <5>, the whole file is modified from the previous
> > version of d3 (the version is about 3 years ago,
> >
> https://github.com/d3/d3/blob/9cc9a875e636a1dcf36cc1e07bdf77e1ad6e2c74/src/arrays/nest.js
> > ). So this file
> > probably should be under the d3 license, but not an Apache License,
> isn't?
> > If so, the Apache License header of this file is needed to be removed.
> >
>
> If it's originally a 3rd party file, then I'd encourage doing:
>
> <Original license>
>
> <Modifications by Apache eCharts provided under Apache License 2.0>
>
> Hen
>

Mime
View raw message