1

In a 2019 answer that the bot has just pumped there is an excellent description of a way I have heard how the the rules regarding copyright derivation in respect to software libraries function:

I don't know if software that imports/includes other software is considered "derivative", but legally it probably has to do with the ability of your software to use another module that performs similar functionality. If your software calls an API which is instantiated in multiple libraries, then it probably isn't derivative. If the API is unique enough to a specific library, then a court might rule it "derivative". For example, I have a program that uses either BSD-licensed Editline, or GPL-licensed GNU Readline. My understanding is that because the API that I use is the same for both, installing my software on a machine that uses Readline doesn't mean my software must be GPL. Please note that I could be wrong.

I read this to mean if Editline did not exist, and the only implementation of this API was provided by Readline, then the source code of "my software" would be a derivative product of Readline. This would require me to also distribute the source code of "my software" under the GPL if I was to distribute the binary. The very existence of Editline, even though I did not use it, removes this requirement.

My understanding is that the logic here is something like that because my source code contains text such as "get_line_buffer()", if get_line_buffer() only means the exact right thing in respect to GNU Readline then my code is a derivative of GNU Readline. If get_line_buffer() means the exact right thing in both GNU Readline and non-copyleft BSD licenced Editline then my code is not derivative of either.

Is there anything we could quote to support (or refute) this statement that is more authoritative that open source advocates saying it online? Is this based on laws as written, judgements or legal theories by respected legal scholars?

9
  • I think that you mean "derivative works" rather than "derivation works" but I am not editing the question, in case you are referring to something else with which I am not familiar.
    – ohwilleke
    Commented Jun 7 at 17:14
  • @Jen In software, when an application uses a library, the code of the application and library are combined into a single executable file (this is called linking). This executable is considered to be derived from both the application source code and the library. And since the appliction source by itself is meaningless until it's compiled and linked, it's considered effectively derived from the libraries it needs.
    – Barmar
    Commented Jun 7 at 19:03
  • But if there are multiple libraries that can be linked, it's not considered derived from any specific one of them.
    – Barmar
    Commented Jun 7 at 19:04
  • 1
    @ohwilleke I have clarified the first paragraph.
    – User65535
    Commented Jun 7 at 19:16
  • @Barmar sure, but that isn't necessarily combined in the distributed code, or in the source code, or even in the distributed binary (if linking is dynamic). I don't have any questions about the nature of code or linking. This question just isn't clear about which artifact they want examined for its derivative-ness.
    – Jen
    Commented Jun 7 at 19:27

0

You must log in to answer this question.

Browse other questions tagged .