Supposed I have written a server in Node.js that I licensed under AGPLv3. Now, if somebody takes my code and modifies it, this is a derivative work. So far, so good.
Supposed my server has the ability to load .js
files from disk and run them, e.g. to provide something like a plug-in interface. The interface is designed in a way that the files do not require anything from the server, the binding is only the other way round: The files only contain functions that are being called by the server.
Does this make the additional .js
files a derivative work, too?
I find this question quite hard to answer because all the stativ-vs-dynamic-linking-and-binding does not apply here, because the server as well as the additional files are just .js
files laying around on disk, and their connection is only established at runtime by the Node.js engine, because the server simply calls require
on the files.
So, as said: Does this make the additional .js
files a derivative work, too?
Please note that while Does a host application's license apply to plug-ins written for it? is definitely helpful, it doesn't answer my question, since it leaves the main part of my question unanswered:
I find this question quite hard to answer because all the stativ-vs-dynamic-linking-and-binding does not apply here, because the server as well as the additional files are just .js files laying around on disk, and their connection is only established at runtime by the Node.js engine, because the server simply calls require on the files.
IMHO JavaScript and Node.js are different here, as you publish and distribute the code always only as source, never as binary. So the term linking here does not make too much sense, except at runtime (what also means that you don't really have a choice on how to link).