Comments (7)
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.
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.
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.
EPL, GPL and LGPL are all copyleft.
Apache, MIT and Creative Commons are not.
Also, I am not a legal expert.
from jnr-unixsocket.
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.
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.
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)
- unit test BasicFunctionalityTest stalls when run with JDK 17 in M1 Mac HOT 1
- application run failed while built with native-image HOT 1
- read returns 0 for read when nonblock and no data is available HOT 1
- jnr-unixsocket v0.23 and above forces osgi.ee;filter:="(&(osgi.e e=JavaSE)(version=9.0))" HOT 3
- Read response from server, Unix Datagram socket HOT 1
- Implement sendmsg to pass control messages HOT 1
- After channel close, read and write calls were using recycled file descriptor HOT 2
- UnixServer example doesn't work on Mac with either nc or socat HOT 8
- java.lang.UnsatisfiedLinkError: ÕҲ »µ½ ָ¶¨µ HOT 6
- Null PollSelectionKey attachment causes IllegalStateException in jetty HOT 1
- Support for AIX v7.2 64-bit
- Found interface org.objectweb.asm.ClassVisitor, but class was expected HOT 2
- Smoke test fails sporadically on MacOS
- on ppc64le credentials are wrongly parsed/obtained HOT 3
- Solaris can't set socket options HOT 11
- UnixServerSocketChannel extending java.nio.channels.ServerSocketChannel
- No exception while using PrintWriter and outputstream HOT 9
- Support for M1 Mac? HOT 4
- UnixClient fails sporadically on Darwin HOT 1
- Datagram support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jnr-unixsocket.