Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change license from GPL-3.0 to a more general #2

Closed
Kcnarf opened this issue Jan 11, 2018 · 17 comments
Closed

change license from GPL-3.0 to a more general #2

Kcnarf opened this issue Jan 11, 2018 · 17 comments

Comments

@Kcnarf
Copy link
Owner

Kcnarf commented Jan 11, 2018

This issue is a continuation of a discussion initiated in the d3/d3-voronoi's issue#5.

Summary of previous discussion :
@Svmali84 - So can I make use of it (i.e. d3-voronoi-treemap) on my website free ? I see it is under GPL-3 license. So putting copyright is sufficient ?
@micahstubbs - I imagine that you can use it so long as you do not distribute it. this stackoverflow answer may help 😄 https://stackoverflow.com/a/2281266/1732222
@micahstubbs - we could also ask @Kcnarf if he would be willing to release d3-voronoi under a more liberal license, like for example the BSD-3-Clause license that d3 itself is released under or the popular MIT license

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 11, 2018

I have to admit that I'm not confident with licensing. My first though was to use the MIT license.

Except ...

Actually, before producing these plugins, I found a Javascript/JS code that produces Voronoï treemaps for D3 version 3 (cf. https://bl.ocks.org/mkedwards/759e719eefe36cf9c8ab). I've reworked it (i.e. refactored, bug-fixed, unit-tested) to make it available for D3 version 4 (cf. https://bl.ocks.org/kcnarf/15d54f4ccae6a3710cd3029546664eec). Based on this first experience, I've decided to produce this d3-voronoi-treemap plugin, as it is a more packaged and easy-to-use solution with clearly defined APIs.

Later, I realized that the JS code I've found came from another work, available in the fp-plvines-djpeter Github repository. Authors clearly state that they wanted their code to be shared and used by others. The main issue is that this JS code is not under any license, meaning that it is proprietory code.

Even later, I realized that this former Js code was based on a Java implementation (available in the power-voronoi-diagram Github repository) which is under the GPL-3.0 license. This Java implementation was written by one of the co-authors of the scientific paper which specifies the overall algorithm used for this d3-voronoi-treemap plug-in.

==> Hence, I've decided to make this d3-voronoi-treemap plugin under the GPL-3.0 license (the license of the Java implementation).

Probably that I have to ask the authors of the JS and Java implementations about this concern.

@Kcnarf Kcnarf changed the title change license from GPL-3.0 to MIT change license from GPL-3.0 to a more general Jan 11, 2018
@micahstubbs
Copy link

@Kcnarf thanks for making this issue 😄

@SSCodeChamp
Copy link

thanks @Kcnarf for considering my request. Any idea how long it will take to change the license to MIT ?

@micahstubbs - Thanks for clarification. I am not going to distribute it.

My only requirement is to use this code as is to generate weighted voronoi chart. There is no intention to modify or sell the code.The website would be available publicly.

.

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 12, 2018

@Svmali84 I can't tell you how long it will take :-(

I'm on it ...

@micahstubbs
Copy link

@Svmali84 you can probably use the GPL-3 code now with a clean conscience. without distributing the result, you should be with terms of the license.

@micahstubbs
Copy link

for other use cases, it would be nice to have a more liberal license, if the author of the Java implementation is willing to grant one (or if @Kcnarf decides that this js implementation is different enough from the Java implementation that he can just pick a new license for it himself...)

@SSCodeChamp
Copy link

@micahstubbs thanks. Yes I am not going to distribute the result.But even after reading the GPL terms ,I am not getting how to use GPLed javascript on my website.Is putting copyright notice on top of script is sufficient? Also I am not sure which copyright notice I need to put exactly.

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 15, 2018

FYI,
I've mailed the author of the Java implementation on Jan 12 2018, and the authors of the JS implementation on Jan 17 2018.

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 18, 2018

@micahstubbs do you have pointers that may help to decide if two implementations are different enough ?

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 18, 2018

As I understand GPL-3.0:

  • if your code uses a GPL-3.0 licensed code, without conveying it (e.g. without distributing your code), then there is no trouble
  • if your code uses a GPL-3.0 licensed code, and you convey your code (e.g. you distribute your code, whether gratis or for a fee), then there is 2 cases :
    • if your code and the GPL-3.0 licensed code are clearly separated (e.g. communicate through sockets or things alike), then you can apply any license to your code, while at the same time providing a way to the GPL-3.0 licensed code on demand
    • if your code and the GPL-3.0 licensed code are tangled (i.e. you can not easily replace the GPL-3.0 licensed code by another code), you can use the GPL-3.0 license code if and only if your code is under a GPL-3.0 compliant license

Useful links:

@SSCodeChamp
Copy link

@Kcnarf - Thank you.

Few questions:
"if your code uses a GPL-3.0 licensed code, without conveying it (e.g. without distributing your code), then there is no trouble"

  • In this case as they are javascripts they are available for anyone who visits the website. Does it count under the distribution ?

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 19, 2018

@SSCodeChamp - Good question :-)

On one hand, if the code is executed server side (with NodeJS), there is no trouble.

On the other hand, when the code is delivered by the server and executed client side, my opinion is that there is also no trouble: it is the way JS works. Intermediate technologies (browser, browser plugins, JS frameworks, ...) execute your code in order to produce the final result for the end user. Its obvious that intermediate technologies which are not under GPL-3.0 (notably browsers) can execute third party code under GPL-3.0 license. My opinion is that there is no entent to convey the code, there is no intent to authorize third party users to reuse your code. If someone reuse your code this way, I think it is considered a non-legal way to obtain that code (i.e. a non-legal copy of that code), without the appropriate rights to use it.

Note that minifying the delivered code can limit its steal.

@SSCodeChamp
Copy link

SSCodeChamp commented Jan 22, 2018

Thanks @Kcnarf . So what pointers (putting copyright notice etc..) I should consider while using below your JS files for generating voronoi treemap similar to https://bl.ocks.org/Kcnarf/fa95aa7b076f537c00aed614c29bb568

<script src="https://raw.githack.com/Kcnarf/d3-weighted-voronoi/master/build/d3-weighted-voronoi.js"></script> <script src="https://raw.githack.com/Kcnarf/d3-voronoi-map/master/build/d3-voronoi-map.js"></script> <script src="https://raw.githack.com/Kcnarf/d3-voronoi-treemap/master/build/d3-voronoi-treemap.js"></script>

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 23, 2018

I have very good news for the D3 community :

  • Arlind Nocaj (author of the Java implementation and co-author of the scientific paper this plugin is based on) is "fine with supporting your version to be implemented also as BSD into D3"
  • Peter Henry and Paul Vines (co-author of the JS implementation) are respectively "comfortable with whatever’s the most helpful" and have "no interest in it as proprietary content" .

Many thanks to them for sharing their work.

I will soon move the plugin under a BSD-3-clause license, as D3 is.

@SSCodeChamp
Copy link

Thanks @Kcnarf for taking this effort.

Untill the license change to use above JS files can you please answer my above questions

@Kcnarf
Copy link
Owner Author

Kcnarf commented Jan 24, 2018

The plugin is now under the BSD-3-Clause, as D3 is.

@SSCodeChamp

  • no extra pointer required :-)
  • if you're downloading the code from NPM, please consider to update to version 0.0.3 (same code as v0.0.2, but first version under the BSD-3-Clause)

@Kcnarf Kcnarf closed this as completed Jan 25, 2018
@SSCodeChamp
Copy link

Thanks @Kcnarf .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants