Live data from Hacker News

Twenty questions about the GPL

jacobian.org

21–30 of 83 posts

Re: Twenty questions about the GPL

#21

Earlier quoted context omitted.

Yeah, that's really the nut of the problem, isn't it. Short of finding a lawyer qualified to speak to these issues -- which I can't afford -- my only other option is to simply avoid the GPL. Which sucks.

Yeah better off sticking to those simple licenses from IBM,Oracle, SAS and MSFT - any child can understand them. Actually SAS licenses are simple - you are allowed to use the product to send SAS all your money, any other use is probably forbidden.

Nice troll; too bad that's all it is. I mean, damn all those BSD/MIT/Apache 2.0/etc licensed products, which comprise the bulk of the Python software and library ecosystem.

Re: Twenty questions about the GPL

#22
post #16
post #3

[deleted]

GNU Readline is a GPL library controlled by the FSF, that implements basic interactive line editing. For a long time it was more or less the only one. RMS believes that if you link with it in any way, even as a compile-time default-off option, your product must be GPL: http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/... As a result, for years and years , non-GPL (not just closed-source, BSD too) programs…

even as a compile-time default-off option

You're glossing over some of the complexities of this rather interesting situation.

In particular, the guy who wanted to be able to make it a compile-time option had a program that would do basically nothing without readline, and you had to enable it for the program to work. A similar issue is with two-part programs; one part non-GPL, one part GPL, which are left up to the user to link himself.

What matters is not what RMS says (nobody cares about RMS), but what the lawyers say. Apparently, the law is extremely harsh on this sort of "hack", which may seem fine to a programmer, but to a judge will be seen as an obvious attempt to work around the terms of the license and will be greatly punished.

Re: Twenty questions about the GPL

#23
Quick attempt to answer these based on my understanding of the GPL, and just a quick cursory skim of version 3. I am not a lawyer.

[Edit: It seems like my answers to the first few are a bit contentious and should really be "it depends"; see comments below.]

1. Yes, by using foo.py as a library, your bar.py must also be GPL'd. This would be different were foo.py under the Lesser GPL.

2. Not shipping foo.py does not change the answer to #1; you still depend on it, thus your work still counts as a derivative.

3. Not depending on foo.py, but using it if available does not change the answer to #1. Once your code makes use of the GPL'd library, it must also be GPL'd.

4. Yes, calling GPL'd libfoo.so via Ruby/DL requires that your code be GPL'd; the full GPL does not have library exceptions like the LGPL.

5. Separate distribution does not change the above.

6. GPL'd foo.js and proprietary bar.js can be combined into a single foobar.js and retain their respective licenses, so long as they are functionally independent. "Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate." (Last line of Section 5 of GPLv3)

7. I'm not sure of the specifics of XUL, but I'd imagine depending on a GPL'd .js file and including that in the XUL app would indeed create a derivative work, and require the XUL app to be GPL'd.

8. Sharing modified versions between internal teams does not count as conveyance, so long as those teams are within the same business entity. See http://www.fsf.org/licensing/licenses/gpl-faq.html#InternalD...

9. Unsure, but I'm learning towards distribution to a fully-owned subsidiary still counting as conveyance to an outside entity, and thus triggering the GPL. If they're different entities to the IRS, they're probably different entities to the FSF.

10. Conveyance to a majority-owned subsidiary seems like conveyance to an outside entity, and would thus trigger the GPL.

11. Price isn't a factor; the applicability of the GPL is wholly determined by the distribution counting (or not counting) as "conveyance" to an outside party.

12. As per the FSF's FAQ, conveying the work to a contractor for use off site does trigger the GPL.

13. The mechanism matters. If Jane uses the software off-site or is able to make or receive copies, then it would trigger the GPL.

14. Giving the modified Foo.exe to consultants does trigger the GPL, as per the FSF FAQ above.

15. Using a company-owned terminal with company-modified GPL app does not count as conveyance, and does not trigger the GPL.

16. Allowing outside parties to download the modified Foo.exe, even though they are on-site, does trigger the GPL; consider it akin to purchasing software from a brick and mortar point of distribution. Where you received it doesn't matter, it's the fact that you can take it home.

17. The Job Applicant is not yet an employee of Initech; if they receive the modified Foo.exe, it's been conveyed to an outside entity, and thus triggers the GPL. The means of conveyance are not important.

18. Making the modified Foo.exe freely available on a public web server clearly triggers the GPL's conveyance clause.

19. Password protecting the download of Foo.exe does not matter if an outside entity can legitimately receive it; it's still conveyance.

20. My shot at a basic principle for laypeople: "If you can walk away with the application in any form, it is conveyance."

Bonus: Jacob shouldn't have these problems since he's a Django developer; "Mere interaction with a user through a computer network, with no transfer of a copy, if not conveying." Make the Django site live in a well defined place, and make all the interaction happen in the browser. Congratulations, you've used the software-as-a-service loophole.

Re: Twenty questions about the GPL

#24
post #16
post #3

[deleted]

GNU Readline is a GPL library controlled by the FSF, that implements basic interactive line editing. For a long time it was more or less the only one. RMS believes that if you link with it in any way, even as a compile-time default-off option, your product must be GPL: http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/... As a result, for years and years , non-GPL (not just closed-source, BSD too) programs…

Using Readline with mzscheme was the first time I, as a user was made aware of the inconvenience of the GPL. It figures, LISP always shows how everything else is flawed.

Re: Twenty questions about the GPL

#25
post #3

[deleted]

Good point, the GPLv2 was very clear. The GPLv3 left me scratching my head about why, exactly, libraries, interfaces, object code, etc., were all enumerated separately, mangling the section about derivation into legalese that is very difficult to decipher.

Because corporations were using these to circumvent the GPL.

Think of it as an evolutionary process, as the attempts to use the code released under the GPL while violating the spirit of the GPL increased in sophistication the GPL evolved to counter those abuses. This made it longer (bugfixes!).

Re: Twenty questions about the GPL

#26
post #16

Earlier quoted context omitted.

GNU Readline is a GPL library controlled by the FSF, that implements basic interactive line editing. For a long time it was more or less the only one. RMS believes that if you link with it in any way, even as a compile-time default-off option, your product must be GPL: http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/doc/... As a result, for years and years , non-GPL (not just closed-source, BSD too) programs…

even as a compile-time default-off option You're glossing over some of the complexities of this rather interesting situation. In particular, the guy who wanted to be able to make it a compile-time option had a program that would do basically nothing without readline , and you had to enable it for the program to work. A similar issue is with two-part programs; one part non-GPL, one part GPL, which are left up to the u…

What if there was a proof-of-concept of a forthcoming replacement for the GPL'd part, and it happened to be vaporware? I'm not too familiar with all of this.

Re: Twenty questions about the GPL

#27
post #7
post #3

[deleted]

Well, sorry, but apparently I'm not as smart as you; even reading carefully I can't see the answer to whether a dynamic language import/require/load/whatever counts as a derivative work. > Total FUD. If you don't like the license, don't use it. See, that's my point exactly. I'd like to use GPL'd code, and I'd like to help my clients do the same. But since I can't get good answers to questions like these, I have to si…

[deleted]

Re: Twenty questions about the GPL

#28
post #19

Earlier quoted context omitted.

Another option is to operate in reasonably good faith, try to observe the "spirit" of the GPL, and hope that you will not be the target of legal action. I don't really like that solution either (it kind of defeats the purpose of having a legally binding license), but it's the current solution silently adopted by a lot of people interoperating with GPLed code using any of the techniques described in your article. In a…

"...and hope that you will not be the target of legal action." I think that's a hope that I, jacob and many others are not willing to sign up to.

I've found that most of the fear comes from the misconception that the GPL could force your code open against your wishes. In the US, that's simply not possible.

Check out this article on Groklaw ("The GPL is a License, Not a Contract, Which is Why the Sky Isn't Falling") for more: http://www.groklaw.net/article.php?story=20031214210634851

I've found it helpful to clear up that misconception, point to past infractions / events, and try to humanize the free software community. In most cases, there isn't a litigious company lurking in the shadows, and a show of good faith will go a long way. It's also quite useful to direct attention to high profile products that are safely using and modifying GPL'd code, like the Kindle.

Re: Twenty questions about the GPL

#29
post #20

Earlier quoted context omitted.

Another option is to operate in reasonably good faith, try to observe the "spirit" of the GPL, and hope that you will not be the target of legal action. I don't really like that solution either (it kind of defeats the purpose of having a legally binding license), but it's the current solution silently adopted by a lot of people interoperating with GPLed code using any of the techniques described in your article. In a…

> Another option is to operate in reasonably good faith, try to observe the "spirit" of the GPL, and hope that you will not be the target of legal action. And talk with the copyright holder of the software you're using! It's a good idea in any case, and will probably go a long ways towards getting an idea of what they're comfortable with, and what they think their rights are under that license.

If we're going to go with "spirit", why not use the less restrictive license without the potentially scary legal ramifications for large company X? That is, can you tell me why:

-- Here's this GPL licensed code. Go ahead and use it, and so long as you keep with the "spirit" of open source, I won't bother suing you. When I die, however, and the executors of my estate notice that they now control copyright on this GPL'd code that you might have used to grow your multi-billion dollar company...all bets are off.

...is better than:

-- Here's this BSD licensed code. I'm not going to require anything of you to use it, but I expect you to keep with the "spirit" of open source and contribute back to the community. If you don't I have no legal means to force your hand, but if you die and haven't contributed back, your fork dies with you.

Re: Twenty questions about the GPL

#30
post #21

Earlier quoted context omitted.

Yeah better off sticking to those simple licenses from IBM,Oracle, SAS and MSFT - any child can understand them. Actually SAS licenses are simple - you are allowed to use the product to send SAS all your money, any other use is probably forbidden.

Nice troll; too bad that's all it is. I mean, damn all those BSD/MIT/Apache 2.0/etc licensed products, which comprise the bulk of the Python software and library ecosystem.

Perhaps people choose the GPL over one of those licenses because they don't want you linking your proprietary code to their library for free.
Post reply on HN