Personal tools

Non-interactive Program with Affero clause

From GPLv3 Wiki

(Difference between revisions)
Revision as of 04:54, 31 March 2006
neroden (Talk | contribs)

← Previous diff
Revision as of 22:26, 29 April 2006
brett (Talk | contribs)
editorial changes
Next diff →
Line 1: Line 1:
-Simple scenario.+Suppose there's some program licensed with an Affero clause such as mentioned in (7d). Then I create a derivative work of it which is *not* an interactive program; in fact, it's a completely non-interactive program with specified output; a 'grep' or 'sed' workalike, perhaps. But there was some large chunk of code from the Affero-licensed application which I found useful for this program.
-Suppose there's some program licensed with an Affero clause such as mentioned in (7d).+How can such a program comply with a 7(d) requirement? Providing quine-like functionality when a special switch is provided (foobar --provide-source) would probably meet the letter of the requirement, but isn't practical. Could the program simply provide a URL where the source can be downloaded? Or provide instructions similar to section 3(b) of GPLv2? The current language doesn't seem to allow it.
-Suppose I then create a derivative work of it which is *not* an interactive program; in fact, it's a completely non-interactive program with specified output; a 'grep' or 'sed' workalike, perhaps. But there was some large chunk of code from the Affero-licensed application which I found useful for this program.+What if the requirement were rewritten to apply to a human (the person making the program available), rather than a restriction on the technical details of the program being written? As a human, I could easily satisfy the requirement to provide source to all the users of my program, even if it's not practical for the program to do this.
- +
-I'm screwed. There's no way to provide the feature required by the Affero clause without breaking my program's interface.+
- +
-This indicates that the Affero clauses allowed by (7d) are in fact non-free. They should be rewritten as a requirement applying to a human (the person making the program available), not a restriction on the technical details of the program being written. As a human, I could easily satisfy the requirement to provide source to all the users of my program; but my program cannot and must not satisfy that requirement.+
- +
-(Incidentally, I dual-license this text under the GPL (any version), because the current version of the GFDL has serious design flaws. All edits to this page assumed to be licensed similarly.)+

Revision as of 22:26, 29 April 2006

Suppose there's some program licensed with an Affero clause such as mentioned in (7d). Then I create a derivative work of it which is *not* an interactive program; in fact, it's a completely non-interactive program with specified output; a 'grep' or 'sed' workalike, perhaps. But there was some large chunk of code from the Affero-licensed application which I found useful for this program.

How can such a program comply with a 7(d) requirement? Providing quine-like functionality when a special switch is provided (foobar --provide-source) would probably meet the letter of the requirement, but isn't practical. Could the program simply provide a URL where the source can be downloaded? Or provide instructions similar to section 3(b) of GPLv2? The current language doesn't seem to allow it.

What if the requirement were rewritten to apply to a human (the person making the program available), rather than a restriction on the technical details of the program being written? As a human, I could easily satisfy the requirement to provide source to all the users of my program, even if it's not practical for the program to do this.