Slashdot Mirror


Ask Slashdot: GPLed code with non-GPLed output

redhog asks this question dealing with the viral nature of the GPL: "I have a program that interprets a set of documents, and outputs text according to the commands and text in this document. The output consists partly of code hardcoded into the program. If the program is GPLed, then that part of the output would be, too. Here is where the problem arises: The program must be able to generate proprietary output from proprietary input, and it is technically impossible to separate the program and the code being output. Is it possible to GPL parts of a program? The best would be if the program (including the code that is output) was GPLed as a program, but its output not; i.e. as long as the code to be output is in the program, it is GPLed, but as soon as it is isolated, it is not (And may use a BSD-style license). Is there any way to acomplish this?" I think I can clarify this a bit. If your interested, hit the link for more.

What I think redhog is describing is similar to a situation like this: A GPL'd program is designed to take input from a macro or markup language and convert it into another macro/markup language. To facilitate this conversion, the program defines its own macros, which are included in the output to simplify matters (this is the hardcoded portion that can't be removed from the GPL'd program). Can proprietary output be built on the included GPL'd macros? Or will the viral nature of the GPL extend to the whole output violating the IP of the corporation using it?

1 of 263 comments (clear)

  1. Easy to solve by Bruce+Perens · · Score: 5
    Just preface the GPL with this explicit exception: "The output of this program is not a derivative work of this program. You may use this program to process your own programs and data without it effecting your copyright rights on those programs and data."

    Thanks

    Bruce