A patch for SPARK-1068 needs two additional libraries (jna.jar and platform.jar) to be added. We need to have some guidelines about doing such thing. Probably those libraries should have some appropriate licensing (Apache only?).
This will be great information to know, since it will influence our direction when chosing applicable libraries…etc
In the event jna.jar / platform.jna do not fall within the guidelines (for any reason) it may be quite simple enough to code up a simple C library to install a keyboard hook and monitor key presses.
We shouldn’t use C or any other language except Java. About half year age we remove most part of native code from Spark.
For now Spark uses Apache licence. And I think it will be better to use libs with Apache licence
afew of the plugins are still using some managed C code (flashing plugin being the one that comes to mind). I believe there are some things that can easily be done via that.
Though my recommendation really was leaning towards, what can we do in the event what we want to do can’t be done with libraries available to us!
As for the jna / platform jars…I’m not sure what licensing they are under as I have not looked that up.
JNA ist LGPL: http://jna.java.net/
“This library is provided under the LGPL, version 2.1 or later.”
EDIT:
According to the German Wikipedia, it is allowed to include LGPL libraries even in proprietary/commercial code. I think we can include jna and plattfrom.jar in the Spark trunk.
SECOND EDIT:
We should not include GPL V1, V2, V3 based code as this is according to the Free Software Foundation incompatible with the Apache Licence.
According to the German Wikipedia, it is allowed to include LGPL libraries even in proprietary/commercial code. I think we can include jna and plattfrom.jar in the Spark trunk.
This doesn’t prove that Apache license allows it, and i can’t find any clear statement about that. When we find out everything, we should create a DOC about that.
Some more investigation results in a negative assesment for LGPL code. An comprehensive lsiting is here:
For Spark “Core” we should use only apache licence and we don’t use native code in the “core”.
In a plugin we can use native code and other licence, i think.
reducing reducing