You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, using your component I've performed a license scan an noticed that several files in jna/native/libffi come with a GPL, either 2.0 or 3.0. See the accompanying export from the license scanner. Could these files be replaced so copyleft is not triggered for the rest of the repo when distributing?
"The libffi source distribution contains certain code that is not part
of libffi, and is only used as tooling to assist with the building and
testing of libffi. This includes the msvcc.sh script used to wrap the
Microsoft compiler with GNU compatible command-line options,
make_sunver.pl, and the libffi test code distributed in the
testsuite/libffi.bhaible directory. This code is distributed with
libffi for the purpose of convenience only, and libffi is in no way
derived from this code.
msvcc.sh an testsuite/libffi.bhaible are both distributed under the
terms of the GNU GPL version 2, as below.
"
Yes, X.java is the exception - with a bit of wiggle room interpretation-wise, certainly.
On the wording you posted: Thanks for pointing this out, I actually did overlook this. Still tricky, though. The wording doesn't cover all assets that have the GPL applied to them.
But maybe the solution lies elsewhere. I just checked the Maven package and it seems the files are not contained in there; which would make sense, as they're build tools. So the way I see it, the final artifacts don't contain the files. Meaning, the GPL would only be problematic when compiling all the source code from this Github repo here; but not when using the Maven package.
I wrote that libffi license explanation years ago when license scanners first started becoming popular. None of them could distinguish build-time software from run-time software. They probably still can't.
Related to this, however, I just submitted #1739 because the JNA binary distributions should include the libffi copyright notice.
Activity
JaredDavis22 commentedon Oct 1, 2025
Hi - Does the wording in the libffi license file for the build tools help?
https://github.com/java-native-access/jna/blob/master/native/libffi/LICENSE-BUILDTOOLS
"The libffi source distribution contains certain code that is not part
of libffi, and is only used as tooling to assist with the building and
testing of libffi. This includes the msvcc.sh script used to wrap the
Microsoft compiler with GNU compatible command-line options,
make_sunver.pl, and the libffi test code distributed in the
testsuite/libffi.bhaible directory. This code is distributed with
libffi for the purpose of convenience only, and libffi is in no way
derived from this code.
msvcc.sh an testsuite/libffi.bhaible are both distributed under the
terms of the GNU GPL version 2, as below.
"
JaredDavis22 commentedon Oct 1, 2025
I just checked the first file in the list X.java. The report given shows X.java as GPL-2.0-only. The X.java file has this text:
" * The contents of this file is dual-licensed under 2
"
ahh - but line 47 does have this...
/**
*/
I am not a lawyer...
full header below.
"/* Copyright (c) 2008 Stefan Endrullis, All Rights Reserved
*
*/"
albutzbdr commentedon Oct 1, 2025
Yes, X.java is the exception - with a bit of wiggle room interpretation-wise, certainly.
On the wording you posted: Thanks for pointing this out, I actually did overlook this. Still tricky, though. The wording doesn't cover all assets that have the GPL applied to them.
But maybe the solution lies elsewhere. I just checked the Maven package and it seems the files are not contained in there; which would make sense, as they're build tools. So the way I see it, the final artifacts don't contain the files. Meaning, the GPL would only be problematic when compiling all the source code from this Github repo here; but not when using the Maven package.
atgreen commentedon Oct 3, 2026
I wrote that libffi license explanation years ago when license scanners first started becoming popular. None of them could distinguish build-time software from run-time software. They probably still can't.
Related to this, however, I just submitted #1739 because the JNA binary distributions should include the libffi copyright notice.