Coder Social home page Coder Social logo

Licence conflict about jnr-unixsocket HOT 7 CLOSED

iikirilov avatar iikirilov commented on July 21, 2024 1
Licence conflict

from jnr-unixsocket.

Comments (7)

sarxos avatar sarxos commented on July 21, 2024

I'm not involved in this project but still I will add my few cents. I see that the jnr-posix is actually released under three license, namely EPL, GPL and LGPL. The GPL may be Apache 2 incompatible, but what with the other ones, the EPL and LGPL, respectively?

from jnr-unixsocket.

iikirilov avatar iikirilov commented on July 21, 2024

They are all incompatible. They are all copyleft which means if your project depends on GPL licensed code then it (your project) must also be GPL.

from jnr-unixsocket.

sarxos avatar sarxos commented on July 21, 2024

But you choose the license you want to use, correct? So why not choose e.g. EPL instead of GPL if there is such an option given by creators of jnr-posix? I always thought it's possible when creators offers different licenses to choose from.

from jnr-unixsocket.

iikirilov avatar iikirilov commented on July 21, 2024

EPL, GPL and LGPL are all copyleft.

Apache, MIT and Creative Commons are not.

Also, I am not a legal expert.

from jnr-unixsocket.

iikirilov avatar iikirilov commented on July 21, 2024

This is a workaround for anyone interested.

  def withoutGPLLicensed = { exclude group: 'com.github.jnr', module: 'jnr-posix' }
  implementation 'org.web3j:core', withoutGPLLicensed

from jnr-unixsocket.

sarxos avatar sarxos commented on July 21, 2024

Just FYI, this is what I found on this web page:

The Eclipse Foundation makes clear that, in their opinion, ‘merely interfacing or interoperating’ with an Eclipse plugin does not make your code a derivative work of the plugin

And:

the EPL is considered a weak copyleft license. Weak copyleft licenses requires you to disclose your source on source code, but not on binaries and therefore you can compile covered sources with others and distribute the resulting (merged) binaries under the licence of your choice. With ‘strong’ copyleft license, the GPL family, you are obligated to reuse the same licence in case of re-distribution of copies or derivatives on both source and binaries.

And:

If you redistribute a program with an EPL component, you are obligated to include the full license text and the copyrights.

Therefore it should be ok to use EPL as a license for jnr-posix and have other project licensed under Apache 2 as long as you don't modify jnr-posix itself (you use it the original form, i.e. as JAR downloaded from Maven repo) and fulfil EPL requirements simply by including respective license text in distribution if you redistribute jnr-posix in unmodified binary form along with your product.

So they may be incompatible but there should be no issue using EPL components in Apache 2 projects as long as you don't modify these EPL components and include license text in your distribution (e.g. if you redistribute dependencies as zip).

I solved similar issue in my projects by collecting all licenses from all dependencies and putting them in a separate directory in a zip file, e.g. here, regardless the fact if this is required or not.

from jnr-unixsocket.

iikirilov avatar iikirilov commented on July 21, 2024

You are right. Thanks for clarifying this.

I am currently using license-gradle-plugin and I see it is picking up all 3 licenses for jnr-posix. I will get in touch with them to see if it is configurable.

Cheers!

from jnr-unixsocket.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.