Fog Creek Software
Discussion Board




Software condoms?

In light of the recent discussions on the GPL: are there any sort of protective measures one can apply against your code being infected by the GPL, apart from total abstinence that is?

Lets say I have this open source library I have to use in a contract, but it is GPL'ed and I do not want my code virally GPL'ed. I write some bridge code that exposes the API as a DLL. Now the bridge is GPL'ed, which I don’t mind, but I now have a DLL entry point.
In the next step I write a very quick token implementation of the API. Now I claim that my code linking with my DLL is no longer exclusively dependent on the GPL'ed library, since (admittedly abysmal) alternatives are available. Is my code now safe?

I guess this is too simple, but is their a known containment procedure one can apply?

Just me (Sir to you)
Thursday, July 31, 2003

Is the GPL even legally sound?

GiorgioG
Thursday, July 31, 2003

The easiest way is to find a commerical library to use instead if you can't meet the licensing requirements of the GPL'd library. Either that or contact the author of the library and ask how much a commercial (non-GPL'd) licence would be.

Just like commerical software, GPL'd code has a cost - but it's not dollar based. You need to factor that into your cost/benefit analysis.

RocketJeff
Thursday, July 31, 2003

"Is the GPL even legally sound?"

The GPL has never been fully tested in court, if that's what you mean.

It _doesn't_ mean that if the GPL is invalid that suddenly everything GPL'd is available in the public domain - it's exactly the opposite. If the GPL is invalid then you _don't_ have permission from the authors to use the code (it is still covered under copyright afterall).

The GPL sets the conditions on when you can use the software/source code - if it's not there, there is no legal right to use either.

RocketJeff
Thursday, July 31, 2003

Why not ask the free software foundation to clarify?

Mike Swieton
Thursday, July 31, 2003

The GPL just sucks simply because it's never been tested.  Nobody knows what they can and can't do.  For example - If I write a piece of software that works with MySQL - can I distribute the binary of mysql without GPLing my software?  MySQL.com makes it sound like the answer is no.  And http://www.gnu.org/licenses/gpl-faq.html is absolutely useless....

GiorgioG
Thursday, July 31, 2003

If you wanted to distribute SQL Server or DB2 with your application you can be darn sure that you would be required to comply with every detail of the much more complex licenses.

Just because it's GPL'd why shouldn't you be required to comply with the licence from the comapny that produced it?

RocketJeff
Thursday, July 31, 2003

Rocket/Giorgio,
see my other (last) post in the thread on "it is NOT the Open Source that is evil". At least in Germany, the Supreme Court will soon decide whether vital aspects of GPL are valid in the light of German law.
Whatever the outcome, elements in the GPL which read "if anything in here is illegal, then applies this and that" are useless. Under German law, If certain elements of a license or contract are illegal, then the WHOLE license/contract is replaced by a general license. There is no such thing as an alternative license contained within which is applied until the outer license is declared illegal.

Johnny Bravo
Thursday, July 31, 2003

err: that should read "... which is applied when the outer license ..."

Johnny Bravo
Thursday, July 31, 2003

RocketJeff,

That's the allure of MySQL - it's "free" - SQL Server, DB2, Oracle are miles ahead of MySQL in terms of functionality (sprocs, etc)...

Since MySQL is "free", clients would be happier to use it than paying for SQL Server/DB2/etc if they're a small shop.  But I'm not going distribute a CD with my software on it and then make them go download MySQL from the web.  It's inconvenient.  Most end users can't beging to set up mysql anyway (anyone want to explain why MySQL doesn't install itself as a windows service by default?) 

Of course, if it weren't for the GPL's vagueness, I might be able to distribute MySQL + my software and make it a painless install.  Making users jump through hoops for nothing...

GiorgioG
Thursday, July 31, 2003

I'm glad you put free in quotes - GPL'd software isn't free, it has it's own costs that aren't always based on monitary costs.

In your specific case, mySQL does have a commercial license specifically for cases like yours.

RocketJeff
Thursday, July 31, 2003

Johnny,

You're right - but then if the GPL s invalid/illeagle in Germany then there is no license and no one in Germany would be able to use the software until there was a valid one applied - remember all of the software is still under copyright and using/copying/distributing it without the author's permission is illegal.

The GPL is the document that gives the user the permission to use the software - no license, no permission.

RocketJeff
Thursday, July 31, 2003

It is not that I do not want to comply with the GPL. It is more a case of whether there are known containment measures.
If not, that is fine by me. I do not even want to violate the spirit, but say if I get a commercial agreement with the original author, can I still get sued by all the hundreds of people that contributed to the thing?

Just me (Sir to you)
Thursday, July 31, 2003

As long as your program does not link (statically or dynamically), then you should be ok. There is a legal gray area if your program spawns/forks a helper process that contains the GPL code. Your helper process's code would need to be GPL'd, but I don't know if the parent process's  code must be GPL'd...?

runtime
Thursday, July 31, 2003

RocketJeff,

Actually, looking closer at the GPL faq:

"Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. "

So my guess is I *could* do that so long as I don't have any GPLed code in my software.  i.e. I create a separate installer that runs the mysql install and then runs my software's install.  If they want the source to the installer, that's fine ;-)  MySQL isn't 'part' of the app.  See, this is a gray (grey) area....

GiorgioG
Thursday, July 31, 2003

"but say if I get a commercial agreement with the original author, can I still get sued by all the hundreds of people that contributed to the thing? "

First, not very many open source projects get more then a small handful of contributors.

Second, the contributors are all authors also. Unless they've transfered their copyright to the original author (or a foundation/company/...) then they'd have to give their permission for you to use it.

This is why all official FSF projects (and a lot of non-FSF GPL'd projects) insist on getting copyright tranfers from people who want their changes merged/distributed with the original source - it makes the legal headache a lot easier.

RocketJeff
Thursday, July 31, 2003

Rocket,
nope, if the license is illegal, then it means: it's illegal, and general law applies. That general law has nothing to do with the question whether you are allowed to use it.

Let's say I write a piece of software on my own, as a private person. Under German law, I automatically hold the copyright. If I release it under the GPL, i.e. I provide some way for downloading it, and, after some 100.000 downlaods of the software, if a German court then rules that the license is invalid, the license is replaced by general law, which, for instance, reads that I am responsible - as a private person! - for any damages in any business which occur while the software is being used.

Of course, I am still the person who holds the copyright. It's not nullified by that general law. Now, if I want to stop others from continual usage of my software, I had to ask a court for a ruling which justifies this.

It's amusing to see that still many people believe that statements in licenses like "if any part of this license collides with existing laws in your country, then the license is invalid, and you are not allowed to use the software anymore" are legit. The first part of the statement might be, the second part is not. At least in Germany.

Johnny Bravo
Thursday, July 31, 2003

Also, there's a big difference between copyright and fair use rights. For instance, it's totally legal to rent a video (tape or DVD) and make a copy for your own private use. Although virtually every DVD released today that the content is protected by international laws, and that it were copyright infringement to make a copy of it, it's been ruled some 20 years ago that those license terms are not legal.

Another example from Germany: In advertisements, the small print at the bottom reads: "Subject to changes or errors". That's illegal, too. If you mistakenly advertise a car for 21.000,- Euros, while the real price is 23.000,-, you can be forced (and German courts will approve this most times) to sell it for the advertised price. Reason: an advertisement constitutes a written offer, and is part of the contract which comes into existence once you step into the shop and attempt to hand over the money.

Johnny Bravo
Thursday, July 31, 2003

Johnny,

I do not think any software publisher, open source or other, would want to be liable for any damages in any business which occur while the software is being used.
Imagine the legal insurance one would need, and how it would drive up the cost of software production.

Just me (Sir to you)
Thursday, July 31, 2003

Johnny are you sure about the renting a DVD thing?  I mean, I know that if you *own* the DVD (or CD, or book, or whatever) you have fair use rights to copy it for your own use.  But if you just rent it?  How is that different from borrowing something from a friend and copying it?  Or getting it from the library?  Or downloading it from the net?  I'm pretty sure you're wrong on this, I just can't envision the courts giving away that much of the copyright protection.  This would basically allow any copying of copyrighted material, as long as you weren't going to sell it.

Mike McNertney
Thursday, July 31, 2003

There's an interesting assembly on rulings and opinions whether GPL is legitm under German law, and on liability. For those of you who understand German:

http://www.tu-harburg.de/~et2cs/de/gpl-haftung.html

Sir,
here's the relevant part on software warranty and liability, rougly translated:

"(...) that both restrictions [in MS EULA and GPL] cannot exist. They collide with the restrictions on prohibtive terms in license agreements, as laid out in § 11 AGBG. Terms like 'no warranty in any case' are nullified by § 2 Abs. 1 Nr. 2 AGBG."

That's not even thin ice for Microsoft and OSS.

Johnny Bravo
Thursday, July 31, 2003

Mike,
I happen to live for nearly 30 years in Germany. Believe me, it's fact.
Just as of July 1st, there's been a new law here which does not prohibit those private copies, but it renders attempts to circumvene copy protections illegal. Still, you can make copies for yourself as long as you don't have to break any protection.

Johnny Bravo
Thursday, July 31, 2003

Johnny,

SO if the GPL is ruled invalid in Germany, what license is used? Sicne the GPL is what gave users the right to use the software, it look like it'll be against the law for German users to use GPL'd software (since they don't have permission to use it).

RocketJeff
Thursday, July 31, 2003

Rocket,
Actually, the right to use it does not stem from the GPL, but from the fact that the software has been made publicly available for free download and free use. Really, in German jurisdiction there is no such thing as "you automatically accept our license once you use it", but the reverse is true: "our license becomes only applicable if you consciously agree with it".
So if the GPL is nullified for a particular software which has been made available to users for free, then general law applies, which roughly says that (a) fair use is allowed for personal usage at home. Distribution is only allowed if it has been stated explicitly in the license which users accepted initially, unless ruled different by a court.
You see, no matter how much the forefathers of the GPL dreamt of a free world, they are still bound to the same laws as anyone else. Welcome to reality.

Johnny Bravo
Thursday, July 31, 2003

'If the GPL is ruled illegal'?

I've not looked at it, but I'm willing to bet it has some clause of severability...

Mike Swieton
Thursday, July 31, 2003

I am not a lawyer, but I believe courts tend to look at intent. If you came up with some clever technical measure to avoiding make a derivative which had to be GPLed, but it was derivative in intent, I imagine that might count against you.

On the other hand if some mega corp with GPL software, sued you for a derivative, unless you had the resources to fight back, you might be the loser in reality (regardless of merits of the case), even if their claims were week.

But "some mega corp with GPL software" suing you for breaking the GPL, might be not too likely... my understanding is the Linux folks (which must be millions of users and thousands of contributors) haven't taken any action against SCO or Linksys, whom they allege, are breaking the GPL. (And no I would not advise taking any risks by breaking or bending any license, just because some people might be getting any way with it).

My own conclusion, would it would be safest not to mix GPL and closed source in a project, even if they are keep distinct by a "condom".  What happens if down the road, you need to connect the 2 pieces more directly? You've erected a potential wall to future development before you even start.

S. Tanna
Thursday, July 31, 2003

In reply to the original question from Sir, I would first establish whether the library in question is covered by the GPL or by the Lesser General Public Licence (LGPL). To quote from the FSF website:

"This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs."

Second, I believe the issue as to whether the program incorporating the GPL code is being distributed is fundamental. My understanding is that if you do not distribute the program, for example if you build an application for in-house use within an organisation, then you are under no obligation to make the source code public.
There is a huge difference between deployment and distribution and it is only in the latter case, for instance if you try to sell a product incorporating a GPL library, that the 'complete with source code' effect kicks in.

Finally, being pedantic, I would also question whether the issue as posited is actually Sir's problem at all. He says:

"Let's say I have this open source library I have to use in a contract..."

If he's writing code under contract then I would anticipate that his client would require him to transfer the copyright of all code he writes to them. In such circumstances it would be the client who had the obligation under the GPL, not Sir.

David Roper
Thursday, July 31, 2003

Ah ok Johnny, I missed that you were referring to German law about copying DVDs.  I can certainly believe that would be the case there

Mike McNertney
Thursday, July 31, 2003

Actually Johnny, now you've got me curious.  Under German law are you allowed to do the other things I mentioned (ie, copy a book from the library, copy a friend's CD, download copyrighted music off the net)?  If not, how are those cases distinguished from copying a rented DVD?

Mike McNertney
Thursday, July 31, 2003

In Canada, you are legally allowed to copy someone elses original-copy of a music tape/CD to another tape/CD.  When they added the (stupid) anti-piracy tariff to blank tapes and CD's that was trade off.

Almost Anonymous
Thursday, July 31, 2003

Mike,
if you rent a DVD, you obtain the right to watch the movie at least once, so you are allowed to make a copy for that "once", because it might be in the future when you've already taken the DVD back to the video rental service. Same applies for CDs, games, books.
However, you are not allowed to give those copies to anyone you know. Plus it's not decided yet whether it's illegal to spread those copies on the internet, for two reasons: (1) you don't give it away as an action, but people pull it from you, and (2) it's anonymous, so it might be considered the same as loosing your CD on a park bench.

Johnny Bravo
Thursday, July 31, 2003

Oh, I think I get it.  So the copying of the DVD is an extension of the single-use "license" that you get by renting it.  Interesting.  So is the copy you make legally restricted?  Could you watch it once, a year after the original rental, but then not again, or can you watch it whenever you want?

Mike McNertney
Friday, August 01, 2003

Whenever you want.

Johnny Bravo
Friday, August 01, 2003

*  Recent Topics

*  Fog Creek Home