Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
The Courts Government News

Abusing the GPL? 771

Anonymous with good reason, a reader would like to bring this important question to your collective attention: "Our (technically savvy) lawyer has advised my company that 'incidental resources' do not a work derive. For example: If I have a student's version of a development environment whose license does not allow me to distribute code compiled with it for commercial use, I am legally allowed to use the environment to create my ANSI C++ code, which, when I compile it with GCC, I am free to use to whatever commercial end I like. This seems fairly intuitive. (After all, you could have written the same thing in a text editor, and the debugging, etc, that you need the IDE for doesn't actually 'show up' in the final code). Here's the kicker: My company wants to translate this to an abuse of the GPL and has been advised 'full speed ahead!'"

"How, you may ask?

Integrate the highly useful GPL code we're eyeing into our only slightly more complex (but much more lucrative) project, thereby saving us at least 30% of the coding involved. The company then go all the way to production with it, but instead of finally compiling the actual project for distribution, they instead compile a bunch of incomprehensible gobbledygook that just happens to compile to the same bytecode. You know the game: globally replace every function name, variable name, and so on from our code with nonsensical names (or random characters), remove all of the comments, and any other form of obfuscation they can introduce. They will then GPL the obfuscated gobbledygook, which isn't much more useful to anyone than reverse-engineered bytecode would be (it is a complex project). 'Voila!' All the benefits of a huge GPL project and countless thousands of volunteer hours and unreadable, incomprehensible source tree.

For the record: I
do not think this is right yet, I have not been able to find any precedent for why the GPL should protect against this kind of abuse.

I'm not trying to snitch on my company -- or lose my job, which is why I am posting anonymously -- but hopefully some lawyers out there could point out some iron-clad
legal reason preventing this sort of thing. I've read the GPL through at least a dozen times since yesterday, and so far it looks like our lawyer is right. I have not found any relevant linkage either, as I have mentioned. Links to extended legal analyses of the GPL from a technical standpoint (if any exist) would be the most helpful. All help is appreciated."

This discussion has been archived. No new comments can be posted.

Abusing the GPL?

Comments Filter:
  • Spirit of the law (Score:3, Interesting)

    by Chardish ( 529780 ) <chardish AT gmail DOT com> on Wednesday March 06, 2002 @09:34AM (#3117733) Homepage
    Countless times in the courts have cases been overruled/thrown out because they violate the "spirit of the law" - which is a general non-loophole clause that applies to just about everything.

    So these people violate the "spirit of the GPL." Throw that at them in your court case. Cite other cases (esp. intellectual property cases) in which a decision was made based on the "spirit of the law."

    -Evan
  • by Rashkae ( 59673 ) on Wednesday March 06, 2002 @09:39AM (#3117766) Homepage

    As far as I can tell, AINL, as long as you do in fact release the source code (and all linked pieces... must be careful about this), you are in compliance with the GPL, even if the souce code has been obsufacated as much as possible. Just remember though, *everyone* will get to see this source code. They will either know that 1. You are ripping them off by 'working around' the GPL. Or 2. Think your company is staffed with the most incompetent imbecil programmers anyhwere. So my question for you is... Why would *any* company want to release something that makes them look bad??? What exactly is the advantage they think they will get from this?

  • Re:Can't do it. (Score:2, Interesting)

    by Krondor ( 306666 ) on Wednesday March 06, 2002 @09:42AM (#3117798) Homepage
    You obviously don't know lawyers. How does one define normal. It could be very well arugued that obfuscated code is a programming norm in a large percentage of the industry. Also, how do you define obfuscated, changing variables named UserTimer to UT isn't necessarily that obfuscated. When do you draw the lines. I can see how this would and could be a very very long ordeal in the courts. It's sad but business isn't immoral they are ammoral (They don't acknowledge the existance of morals).
  • by Anonymous Coward on Wednesday March 06, 2002 @09:42AM (#3117799)
    The zmodem file transfer protocol was copyrighted but the source code was released but to use it commerically you had to purchase a license. A couple fellows got the idea to rewrite it in Pascal. ``Hah hah,'' they thought. Yet the last laugh was on them. The court found that reworking it as Pascal was a copyright violation and they had to cease and disist distribution. They got bitch slapped.

    Go ahead. Try it. Make my day.

  • by Anonymous Coward on Wednesday March 06, 2002 @09:44AM (#3117808)
    Although logicaly it doesn't sound like a violation of the GPL because you still can see the source code.

    I question the motivation.

    How would this benifit your company? The source will still compile right? It still can be obtained free. right? This just seems silly. The problem people have making money off of GPL'ed software lies not in the open source code but in the fact that people can get for free what you are trying to sell. I mean when was the last time you looked at the source of a project that you just wanted to use, not develope.
  • by plague3106 ( 71849 ) on Wednesday March 06, 2002 @09:58AM (#3117888)
    Sounds to me like they are taking someone elses book, changing the names of all the characters and places (leaving the other words exactly as they were written), then including it as a part of a larger book, maybe writing the beginning and ending...with the original book in the middle...
  • by smagoun ( 546733 ) on Wednesday March 06, 2002 @09:58AM (#3117891) Homepage
    I don't believe the original poster was judging anything. He was making a statement of fact. Under US law if you know of a crime but do not act to prevent it, you are considered an accomplice to that crime. It doesn't make a difference what his personal situation is or whether or not he has a family. It matters what the law says, and the original poster is correct.

    (Of course I'm making the assumption that the original poster is governed by US law; it may be different in other countries)
  • Re:"viral license" (Score:5, Interesting)

    by Bruce Perens ( 3872 ) <bruce@perens.com> on Wednesday March 06, 2002 @10:03AM (#3117925) Homepage Journal
    Most of Microsoft's licenses give you less rights than the GPL. You aren't allowed to derive from most Microsoft products at all.

    You're a bit confused about when the GPL applies, but the original posting was confused on this point, too. If you process code with a GPL program, for example if you compile it with GCC, it does not apply the GPL to the processed code. Only in the case of linking or another means of creating a derived work, as in your example with Qt or KDE libraries, does the GPL apply.

    Microsoft's talk about the GPL is just propoganda. They have no legal case against it. Any legal case they could construct would first have to invalidate Microsoft's own, more restrictive, licenses.

    Bruce

  • by Anonymous Coward on Wednesday March 06, 2002 @10:04AM (#3117933)
    I just had an idea.

    What if they claim that the obstafacation (sp?) is part of a copy-protection plan and that anybody whom writes a program to un-do it is violating the DMCA.

    Could they sue even though the code is in fact GPL?

    -J
  • by Anonymous Coward on Wednesday March 06, 2002 @10:08AM (#3117954)
    That is a scary notion.

    It could lead to a situition where corps. co-opt open source programs, embed a password protection scheme,than obfascate. They could then outright take all the code they want and make a program to give away. Then could then make money off of selling the passwords. All will being covered by the GPL and DMCA.
  • by digitalmuse ( 147154 ) on Wednesday March 06, 2002 @10:14AM (#3117994)
    This really sounds like a slimy underhanded offensive thing to do, and my first impulse is to impale the legal-weasel who suggested that such a thing would be a "good idea" on a pike in the foyer of his office. This is an outright immoral thing to do, stealing the skull-sweat from someone who went as far as to provide his/her work to the public through the GPL. However, my personal views aside, you need to evaluate the situation and take into account the subject of this post: "Slashdot != legal advice". As I see it, you have the following options:
    1. Be a good little wage slave and grind out a perl script that does the dirty deed for your immoral employers. This necessitates living with yourself for the rest of your days knowing that you were part of this raping of another person's work and the very concept of the GPL. God help you if I ever catch you at a convention, paper-cuts from flyers will be the least of your worries.
    1. Stand up for your moral values and tell your employer why you refuse to do this criminal act for them. You should take into account that your employer is probably not all that interested in paying you for your moral integrity, so you're probably going to want to check in with your local unemployment office.
    1. Duck for cover and get in touch with the EFF [eff.org] . This is the kind of thing that really requires solid legal advice from an entity that has some muscle in the corporate world. I'm still not aware of many lawyers who are willing to take on tech (and especially GPL related) legal work where there isn't a good chance of sucking blood out of someone.

    If anyone wants to prove me wrong, please do so. We need people to stand up for the GPL and protect the hard work that so many people entrust to it's care.
  • Curious (Score:1, Interesting)

    by Anonymous Coward on Wednesday March 06, 2002 @10:56AM (#3118319)
    I'm just curious, but is the GPL actually legal? Can it be termed a legal contract? If a company took some GPLed source code and added it to their product, is there any precident that would force the company to lose a lawsuit brought against them? The GPL is just something someone made up, and no one actually signs, to use the products "protected" by it, so what legal standing does it actually have?
  • by mpe ( 36238 ) on Wednesday March 06, 2002 @11:07AM (#3118397)
    Just because something compiles does NOT mean that it is source according to the GPL. That you would not do development on the obfuscated gobbledegook clearly shows that the obfuscated version is NOT the preferred form for modification.

    Also how is the obfuscated version going to be produced. Either feeding the source through some for of obfuscating preprocessor or decompiling the object code would simply be creating a derived work anyway.
    Effectivly you'd be trying to argue that you wern't infringing copyright because you scramble and/or encrypt before you distribute. You'd need a very good lawyer to convince any judge with this kind of argument.
  • by Komodo ( 7029 ) on Wednesday March 06, 2002 @11:08AM (#3118402) Homepage
    Source code is the program 'in the preferred format for making changes'.

    Obfuscated source, as you propose to distribute, is NOT the 'preferred format for making changes', because your company sure as hell isn't going to hack the messy obfuscated byte code when they need to update their product.

    That mess that you intend to distribute may not be called 'source'. That affects how you may or may not use the GPL with respect to it, and I suspect that you probably won't be allowed to do it at all, no matter what 'incidental works' are involved. Your lawyer friend is only telling you half the story.
  • Bad Engineering (Score:3, Interesting)

    by hol ( 89786 ) on Wednesday March 06, 2002 @11:22AM (#3118495) Homepage Journal
    In all honesty, I don't think this tactic will prove to be useful for your company in the end. Here is why:

    • Obfuscation of source code is useless in the end. All one needs to do is run it though a source-code formatter, and there are lots.
    • The energy expended in developing the source code obfuscator (presumably this needs to be done in-house to be entirely effective) will need debugging not only of the obfuscator itself, but also the code it generates.
    • You can achieve the same effect simply by compiling the offending GPL code as a dll and using what you need, no legal problems, and less headache. Just publish the wrappers for it under the GPL, and you're effectively done. This is the design of the GPL anyways. Just don't make the dll export the functions you're overriding, and re-implement them in your own code. The result: less work, better code.

    I can think of a few other, better ways, to use GPL code in commercial projects without pressing everyone's ethics button so hard. Better engineering, better PR, less work. Is that so hard? Sounds to me like the lawyer wants to have a few years steady work, and your CEO is too preoccupied with being evil.
  • by Anonymous Coward on Wednesday March 06, 2002 @11:34AM (#3118563)
    Within the GPL are provisions that explicitly enable people to copy the hell out of the code, So long as as the GPL, and previous authors names are included.

    There is no sort of notion of Copy Control on GPL code.
    So, they made it more difficult to read it. Big Whoop.
    If I ever find what company does this, I'll personally put their progream back into readable mode. Then I'll find all of their customers, and give them the source to this product FOR FREE. I'll post it on my webpage, I'll start a sourceforge project, put it on freshmeat, and tell /. all about it.

    It will destroy their market, and for what reason? They decided to get all the benefits of GPL, with absolutely none of the detriments. Be a community player, or go play in your own field, I say.

    --The Misanthrope
  • by BlueUnderwear ( 73957 ) on Wednesday March 06, 2002 @11:49AM (#3118654)
    And if somebody does succeed in reverse-engineering it back to readable source: then your company has exactly no legal protection against this, as the reverse engineerer just created a derivative work which is explicitly allowed under the GPL ( under condition that the resulting source, now cleartext again, is published...)
  • by s4m7 ( 519684 ) on Wednesday March 06, 2002 @11:52AM (#3118685) Homepage
    Ever notice how you have to install Netscape for Galeon to work?

    There's an ethical workaround here that gets everybody what they want quite simply.

    Modularize the interface to the GPL code. GPL release this module: your company has just contributed to the community, and that is a good thing.

    Release your product commercially, and "bundle" with the GPL module and all appropriate GPL documentation. Make sure that during the installation process the separation of liscence is clear.

    Your company's proprietary code is Copyrightable, the GPL code stays GPL, Everyone is happy.
  • by walt-sjc ( 145127 ) on Wednesday March 06, 2002 @12:15PM (#3118819)
    Look, there IS another option.

    Without knowing the details of what GPLe'd application is involved, it's hard to give good advise, but you may be able to talk to the authors of the code to re-issue the code under an additional license. Maybe the authors would be willing to release the code under the BSD, LGPL, apache, or other license in exchange for a few bucks...

    Of course if this is really old GPL with hundreds of authors this becomes difficult. You would need approval from all the contributers.

  • by Adam J. Richter ( 17693 ) on Wednesday March 06, 2002 @12:23PM (#3118880)

    I'm not a lawyer, so don't use this as legal advice. Instead, you (the author of this slashdot article) may want to show it to your company's lawyer and suggest that he track this down.

    According to this link [ladas.com], there is a case called "Whelan" that established that duplicating the detailed structure of a program was copying of expression rather than ideas, and therefore copyright infringement.

    Also, I remember reading a very good article about ten years ago by law professor Pamela Samuelson, I think in Communications of the ACM or some other ACM publication, that talked about this decision and mentioned "detailed structure and flow", which would make the case for infringement even stronger.

    Finally, I recall reading somewhere, perhaps in that same article, that there is some common law rule that the standard of similarity by which copyright infringement should be determined is supposed to correspond to how much access the alleged infringer had to the original work. In other words, if the alleged infringer had easy access to the original work (e.g., had carefully read the original GPL'ed source), then the standard for proving infringement is supposed to be easier.

    Again, I'm just a layman. Don't use this as real legal advice.

  • by phraktle ( 528910 ) on Wednesday March 06, 2002 @01:02PM (#3119220)
    Unfortunately, it seems to me that there's a way to circumvent the "preferred form"...

    You could make the gobbledygook to be your preferred source, by creating a completely proprietary, non-GPL development environment, which provides a mapping from gobbledygook to human readable code.

    In this case, your "source" is the gobbledygook, and you just happen to use a weird IDE...

    Nonetheless, it's immoral... but possibly not illegal.
  • by killmenow ( 184444 ) on Wednesday March 06, 2002 @01:02PM (#3119223)
    And if said somebody has access to the pre-gobbledygook code, or knowledge of it, can that person legally "reverse engineer" the gobbledygook back to the more legible version legally, so long as there is no employment agreement, NDA, etc. in the way? Or for that matter, if the new project is derived from original code that is GPL, can they make an employee sign a contract that prohibits them from undo-ing the gobbledygook step?
  • by Bobzibub ( 20561 ) on Wednesday March 06, 2002 @01:19PM (#3119348)
    What benefit does a company accrue to taking someone's work, obfuscating(sp) it and then re-releasing it under GPL as one's own? Unless they are not actually intending to release as GPL..
    Well, assuming what you say is correct, the benefits are few... The chances of getting caught are moderate, but if you or one of your staff is laid off/fired/quits then the word will get out and make its way to the original authors.

    Nobody needs to "squeal" either. Say I write a lot of code for GPL's project X and this company comes out with product X' which is almost the same, but better. Their code is extremely obscure as well...
    I might out of curiosity, run one of those web-based code checking tools. These are designed to find cheating students and do not require similar variable names, etc.

    If caught the costs would be painfully high. I think most software companies would rather face a ravenous pack of lawyers than face the savage hordes of a jilted Open Source community. Every day operations would become difficult due to clogged email/phone lines, not to mention that your good corporate name would be mud.

    The B/C analysis is vastly in favour of crediting the original authors. I think your managers and your lawyers are playing dice with your company's future. If I was a share holder (let alone an OS geek or an employee like yourself) I'd be quite pissed.

    Good luck!
    -b
  • Short parade (Score:3, Interesting)

    by Mr. Fred Smoothie ( 302446 ) on Wednesday March 06, 2002 @01:58PM (#3119646)
    one must go on a fact-finding parade to measure industry practice
    Since YAAL, please explain why the answer to the question "Is the file you distributed what your engineers modify when they fix bugs or introduce features to the program" is not conclusive for the purposes of determining "preferred form" here?
  • by millwood ( 542462 ) on Wednesday March 06, 2002 @02:20PM (#3119780) Homepage
    Tell your company to just buy the damn code under a different license. In most cases this is not hard to do. If the code belongs to a college student, as you say, you'll probably get it for a *very* reasonable price.

    On more than one occasion I have written to authors of GPL code, stating outright that I am willing to pay for their code under a different license, only to be *given* written permission to use the code in a proprietary fashion.

  • by ProfessorPuke ( 318074 ) on Wednesday March 06, 2002 @05:48PM (#3121213)
    A question related to the issue of "what constitutes the preferred form for modifications?" has been bothering me for a while. Look at this continuom of ways the code for a C++ project could be delivered:
    1. C++ source, preprocessed into one long file, with some inlines and loops expanded.
    2. C++ source with identifiers changed to machine-generated symbols ("a0000", "a0001"...)
    3. C++ source with comments stripped out.
    4. "normal" C++ source code
    5. C++ code with an accompanying HTML (or texinfo, or whatever) document describing its functionality in purely human readable terms (Operator's Manual / Developer's Manual)
    6. C++ code in a CVS repository, with complete logs of all past version of the file and the reasons for each change.

    Clearly, type 4 is what normally gets distributed when someone modifies a GPL project. But arguably, type 3 or even 2 could be preferred by some people. (Especially if you neglected to modify the comments in the original code as you made your changes- it could be better to remove comments than to include untrue statements).

    However, when I work on C++ code, if type 5 or 6 is availible, then I strongly prefer to use them as I study how to make my changes. Yet many (most?) people wouldn't be comfortable exposing all the dirty, broken, wrongheaded mistakes they made over years of developement, which is what would happen if CVS revisions were included.

    All of items 2,3,5, and 6 refer to commments of one sort or another- things that make no difference when the program executes, and don't even effect the compiler, but serve just to inform interested humans. A CVS repository, a separate document file, /*comments inside code*/, even useful_and_descriptive_variable_names are all Auxiliary Documentation that is not technically part of the code.

    Where should we draw the line? Where does the law draw the line?

  • by RatFink100 ( 189508 ) on Wednesday March 06, 2002 @06:46PM (#3121625)
    Firstly I think it's not so easy to define source at all. I read some of the transcripts of the 2600 case that dealt with arguing that Code=Source=Speech. It was really revealing - defining source is a slippery issue.

    Secondly even if your definition - must be human readable - is accepted, there are humans who can read machine language, in hex (I'm sure we've all got anecdotes about our favourite guru programmer doing just that). And to be honest most programmers, with a little effort, could train themselves to do the same.

    Finally - you're assuming the obfuscated text is no longer source and that therefore there is a separate text which is the 'real source'. Let's think about how someone normally forks a GPL project, something like -

    - take original GPL'd source code
    - make modifications
    - release new code, with source, and acknowledgement of original authors

    But the GPL doesn't AFAIK require the release of the original source - only the source for your new version. Releasing the original code is the responsibility of the authors of the original project.

    So in this case, obfuscation is part of the modifications, along with inclusion of some home-grown code (the original GPL code was only 30% of the whole right?). So legally how is there a difference?

    However, these points in themselves lead to reasons why this approach would be unsuccessful. Namely,

    - if hex machine code is human-readable then obfuscated C certainly is. Plus if it's been obfuscated mechanically - it can be de-obfuscated mechanically. Partially anyway.

    - they have to acknowledge the original code's authors and therefore the original project. People can compare the obfuscated code with the original code and figure a lot of it out.

    Using a combination of these I can forsee that it would be possible to generate a completely 'plain source' version and keep it in step with the obfuscated one, with relative ease.

    To sum up - I think legally they can do this, but I doubt it will gain them much advantage.

    But I am not a lawyer.
  • by Angst Badger ( 8636 ) on Wednesday March 06, 2002 @07:43PM (#3121962)
    You may be a lawyer, but no other lawyers seem to agree with you.

    You may have somehow missed out on this, but lawyers are paid to disagree with other lawyers. No matter what your lawyer says, I guaran-goddamn-tee it that every other lawyer on earth will disagree with him if I pay them to do so.

    The question you should be asking your lawyer is not "What do you think this contract means?" but instead "Do you think you could win this case?"

    On second thought -- don't ask your lawyer if he thinks he could win the case. The other thing lawyers make money from is claiming to be able to win cases for you. Ask some other lawyer if he thinks your lawyer could win the case after making it clear that you can't afford his services.

  • by werdna ( 39029 ) on Wednesday March 06, 2002 @10:00PM (#3122525) Journal
    Any lawyer who opines upon such a scenario in the abstract is likely committing malpractice. The Devil is in the details. However, it seems apparent to me that the risk of getting such a blatant end-around probably wildly exceeds any perceived benefits derived therefrom.

    I can think of a zillion reasons why the proposition described above would not work, but there simply isn't enough information to answer the question in slam-dunk fashion. Suffice it to say, however, that I am seriously doubtful that such a trivial pretense as a byte-code or object-code copy produced by other means could avoid a claim for copyright infringement.

    Even so, to the extent that an "on the edge" defense is being prepared, the defendant had better be right. With such willfullness, a prevailing plaintiff is likely to obtain substantial statutory damages, perhaps as much as $150,000, an award of attorney fees, and an injunction against release of the product. If they made profits from the product in excess of that amount attributable to the taking, a prevailing plaintiff could elect for the greater amount.

    In short, a commercial entity that tries to do so may well be poorly advised. But once again, I don't know enough particulars to make a determination one way or the other.

    The question they have to ask themselves, "do I feel lucky?"

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...