Closed ppwwyyxx closed 6 years ago
Commenting here for interest, because I'm curious myself. Whether or not the GPL copylefts itself upon a piece of software is nuanced. System libraries, linking, fork/exec, oh my!
I dont know enough about ALE's or Stella's compile/run relationship with agents to answer confidently myself.
I'm unfortunately not able to provide any definitive guidance here, but perhaps someone else can. My understanding is that GPL 2 (which is what ALE and Stella are under) is less restrictive than GPL 3. Also, if using the FIFO or RL-Glue interfaces, your agent not be linking at all to the ALE, if that's a concern.
IANAL. First of all you should make the distinction between modifying ALE itself and using it with other software.
If you just use it, that's similar to compiling software with GCC, and you don't have to open-source, let alone GPL that software. Or perhaps it is clearer with a scripting language example: If you write Perl code for your research, you don't have to release your code, let alone GPL it, simply because Perl is GPL.
So the GPL is only relevant when you actually modify the GPLed code. And there it is only relevant when you distribute that modification. For example, if you make a new version of ALE called ALF, you can use the changes in any way you want if you use it in your research, and you don't need to open-source those changes (it may make your results harder to reproduce for other scientists, but that's not a GPL issue).
It becomes relevant only once you decide to distribute your changes. So, let's assume you make some changes to ALE and call it "atari-pie", which includes ALE. If you want to distribute that, it has to be under GPL. But if you then create something, let's call it "OpenAJ-Jim", that only uses atari-pie and distribute it, it can be under any license you like, for example an MIT one (although Richard Stallman will frown at you).
Additional disclaimer: Not only am I not a lawyer, I just used to have a colleague who was responsible for answering questions like this, things that I was wondering about myself, and asked him myself out of curiosity; the answers invariably boiled down to the above. So I may very well be misinterpreting everything; correct me if I'm wrong.
I noticed that this project is in GPL, not sure about how it works in this case. If we use this project to build our agents and/or publish results/research papers, is our work affected by GPL as well? Do we also have to open source our code in GPL? Thanks,