I was torn for a long time over whether to license under the GPL or
AGPL. I've settled on the GPL as I think it'd be quite hard to enforce
the AGPL (because of the nature of the RuneScape private server
community), and honest people would be at a disadvantage compared to
people who would ignore the additional provisions of the AGPL.
The *-natives modules are licensed under the LGPL as they are intended
to be linked with the proprietary client software, so the GPL would not
be appropriate.
I've decided to use v3 (and only v3) of the GPL. I don't like the 'or
later' clause as it means placing a great deal of trust in the FSF not
to change the overall intention of the license in future versions.
A long-term goal is to write clean room implementations of these
libraries, for several reasons:
* The original libraries are missing, so we currently have to do a fair
amount of awkward bytecode patching in the loader to use JOGL
instead.
* The original libraries were not compiled for 64-bit Linux. We might
also want to compile for new architectures (e.g. ARM or RISC-V) or
additional operating systems (e.g. the BSDs).
* I'm worried that over time the libraries will bit rot and might
eventually stop working with modern JREs - it's already been about 10
years since they were originally compiled!
I'm not too concerned about putting this in the main open-source
repository: I think it's generally believed that interfaces are not
copyrightable, and we're only copying the interface for
interoperability purposes. The native code will be original.
Furthermore, most of the jaggl interface is just a copy of the OpenGL
interface, so it's unlikely that Jagex could claim they hold the
copyright on it anyway.