Log in

No account? Create an account

An interesting side effect of GPL

Let's say we need to use a shell/Perl/Python script which is covered by GPL.  The script has a configuration section that it asks us to manually fill out, and let's say the section includes login information -- things like server hostname, username, password, and so on.

You know what?  If we fill out those login information fields, they may become modifications to the source code, and we may have to furnish them to whoever asks for them.

Whoa.  I mean, a malicious script writer can release such a script, track the script usage, then later go like I want your user ID and password!  XD

I wonder if there's any legal device that prevents this from happening.

Edit: Apparently this is a moot concern...  We are free to modify the source code for private use without releasing the source code or the binary compiled from it at all.  Just modifying the source code doesn't trigger the GPL -- modifying the source code and distributing the resulting program does.




1. If any script asks you to do this, don't use the script. Any well-written script would prompt you for this information.

2. The FSF would never enforce this. Although RMS is a zealot (whom I admire), and despite the fact that he hates passwords, the FSF as a whole is quite reasonable when enforcing the GPL.

Re: unlikely

#2 seems plausible, although I still don't like the idea of having to trust a third party (FSF) in order just to use some GPLed software with no practical modification.

About #1, there are actually a lot of scripts already out there that ask the user to do the same thing -- notably PHP/CGI scripts with hardcoded SQL database hostname/username/password.

Re: unlikely

I'd say raise it with the FSF and see what they say. The GPL contains a "viral" provision that states that any code linking to GPL code becomes GPLed as well, but I don't think they would consider loading and parsing a conf file "linking".

Either way, if it's something to bash the GPL with the BSD, it's misdirected.

Re: unlikely

The thing is, some scripts ask the user to modify the script file itself (usually a header section of the script) to configure it.  This isn't even linking, but a direct modification to the source file, which will probably covered by GPL.

And no thanks, I'm not trying to bash GPL in favor of BSD or anything.

Re: unlikely

And I think JJ is right saying FSF will probably never enforce GPL in this type of scenario -- I trust FSF at least to that degree.  However, what I hate is having to trust FSF.

Uh...IIRC, you only have to make available the provided code, not your own modifications. That's why Linksys only has to link to the Linux distro that they used - they don't have to include their own modifications to it. Remember - the GPL is only designed to defend the rights of the original author, not to diminish those of the people who use it. Isn't that what the whole Microsoft "viral licensing" propaganda is trying to have you believe? Using GPL code doesn't force you to make your own app public-source - it just prevents you from making the playing field uneven.

Further, the GPL only applies if you distribute work which uses said code - if it was used in the process of writing it but isn't actually distributed, then the point is moot.

Did some research about GPL.

Basically, you're free to modify the source code for private use without releasing the source code or the binary compiled from it at all.  (Actually, because of this, my original concern is moot.)

Note that at all is the key phrase here -- you never ever publish your modification , and it's fine to do so.  However, if you find the modification useful and want to release it later on (like, selling the binary for example), you're bound by the GPL -- the source code of the original GPLed program and your modification (which becomes work based on the (GPLed) Program as defined by the GPL) must be made to any third party, or absolutely everyone as the GPL FAQ puts it, at a charge no more than the actual cost of distributing the source code, like the cost of burning CD-ROMs.

So Microsoft does have a point there.  Unless you want your program to be strictly private (i.e. you don't want to release it at all), the GPL does become viral -- especially for companies that intend to sell their program.  Let's take a webmail as an example.  I can set up a webmail service -- even a paid service -- using FreeBSD and a GPLed webmail frontend.  I don't have to release the modifications that I made to the webmail frontend.  However, I do have to release the modifications, if I were ever to present the entire system as a packaged product that random companies can buy and launch their own webmail service with.

In this light, Linksys can't really dodge the GPL -- and ( they don't. )