Slashdot Mirror


Abusing the GPL?

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."

661 comments

  1. Sounds wrong to me by matthew.thompson · · Score: 2, Insightful

    Obviously an IANAL comment but to me it just sounds dead wrong.

    What you should do is put it as "What would Microsoft do". If you too microsoft's code and decompiled it and then changed a few names and recompiled it would they sue?

    Would you company risk taking on Microsoft? If they would then tell them to go ahead and violate the GPL. If they wouldn't ask them why they feel they can get away with taking on someone smaller.

    If you find another job please let us know who it is is doing this.

    --
    Matt Thompson - Actuality - Insert product here.
    1. Re:Sounds wrong to me by yatest5 · · Score: 0

      What you should do is put it as "What would Microsoft do". If you too microsoft's code and decompiled it and then changed a few names and recompiled it would they sue?

      Would you company risk taking on Microsoft? If they would then tell them to go ahead and violate the GPL. If they wouldn't ask them why they feel they can get away with taking on someone smaller.


      Er, this sounds wrong to me too. Why do you people have to drag MS into everything. And the fact is, YES, MS would kick their ass. But cos this is open-source code, their is no-one with the financial backing to sue their ass, plus they are unlikely to find out in the first place.

      --
      • Mod parent up! [a] by Anonymous Coward (Score:5) Thurs, June 31, @13:37
    2. Re:Sounds wrong to me by Bios_Hakr · · Score: 1, Flamebait

      Who is goint to sue $Big_Comp if they reuse your code? You? Not likely. The FSF? Maybe.

      No, more than likely, you'd get a misspelled writeup on /. with mangled facts and links that are 502. The community would rally, for an hour or so. Then they would be onto the next big thing.

      A few months would go by and you would see a 3 line summary about how $Big_Comp killed you with 50 lawyers and some purchaced politicians.

      --
      I'd rather you do it wrong, than for me to have to do it at all.
    3. Re:Sounds wrong to me by plague3106 · · Score: 2, Interesting

      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...

    4. Re:Sounds wrong to me by Bloater · · Score: 1

      For the GPL'ed work they're including, they have to leave it non-obfuscated. But they can obfuscate their own code if they want... It's their code after all, it'll be as if they were just really bad at style.

    5. Re:Sounds wrong to me by Stary · · Score: 2
      For the GPL'ed work they're including, they have to leave it non-obfuscated

      Why? If I take, say, KWord... and I obfuscate the shit outta it... isn't that a derivate work? Never heard of the part of the GPL that said you couldn't alter the code, that'd make it all kinda pointless.

      --
      Tomorrow will be cancelled due to lack of interest
    6. Re:Sounds wrong to me by lunky · · Score: 1

      Why? If I take, say, KWord... and I obfuscate the shit outta it... isn't that a derivate work? Never heard of the part of the GPL that said you couldn't alter the code, that'd make it all kinda pointless.

      huh? iirc the purpose of the GPL is to legaly guarantee the right to alter the code and create any derivive program you want. WTF good is the GPL if you cannot modify code? You must be thinking of selling a derivitive work as a non GPL product.

      --
      lunky> c++; lunky> do{;}
    7. Re:Sounds wrong to me by dfreed · · Score: 1

      to achieve the status of derivative work you must ad something significant to the code. Keyword significant.

    8. Re:Sounds wrong to me by doob · · Score: 1

      What you should do is put it as "What would Microsoft do". If you too microsoft's code and decompiled it and then changed a few names and recompiled it would they sue?


      Hmm... but whose to say it isn't M$ doing this? I for one would not be too surprised.

      --
      In the spoon, there is no Soviet Russia!
    9. Re:Sounds wrong to me by gimpboy · · Score: 1

      if they do add something significant and obfuscate everything at the same time, then wouldnt they have complied with the gpl?

      --
      -- john
    10. Re:Sounds wrong to me by Anonymous Coward · · Score: 0

      Using obfuscated source to sidestep the GPL has been done before. However, it is not in the 'spirit' of the GPL to do that. So, depending on the country you are in, and the quality of your lawyer, it may or may not be OK. In Canada, you should probably not try that, since the judges may use their discretion, so if the FSF would sue a Canadian company publishing obfuscated code to circumvent the GPL, the FSF just might win the case...

    11. Re:Sounds wrong to me by TheCarp · · Score: 5, Informative
      Because the GPL says you have to redistribute the source, modified or original, as source. You can do it as binary too, but you have to distribute the source to any person that you distribute a binary to that wants it. This obfustcated text is NOT source code... it is a preprocessed intermediate bytecode.

      Now, the fact that this intermediate bytecode is legal C or whatever other language the original was written in doesn't make it source. It just means that that is the internal syntax of this intermediate stage. This is because the defining characteristic of source code is that it is human readable. It is what the developer wrote and would use to modify it himself. WHen you preprocess this in such a way that it is no longer suitable for human reading and maintaining, it ceases to be source...and ceases to meet the GPL source requirement.

      I highly recomend that anyone who is going to talk about this actually READ the GPL

      From the GPL:

      The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.


      -Steve
      --
      "I opened my eyes, and everything went dark again"
    12. Re:Sounds wrong to me by SegFault · · Score: 1

      IANAL, but this seems easy. Source code is defined as, "The preferred human-readable and human-modifiable form of the program." (The Jargon file, aka New Hacker's Dictionary) Therefore, this company's byte-code obfuscation is not source code, and does not fulfill the requirements of the GPL.

    13. Re:Sounds wrong to me by SerpentMage · · Score: 2

      Folks you are missing the point. Lets take a GPL project integrate into our own. At that point the entire code is obfuscated REALLY badly. For example a function calls ten other functions. The GPL original sources are distributed alongside with the REALLY obfuscated code. The obfuscated code compiles fine and creates a program that RUNS REALLY SLOW...

      However, the company has an executable optimizer that happens to clear out all of the slowness. Well the optimizer is company propriatary and is not part of the GPL distribution because the application still works sources and all. It is just that the sources and all are useless...

      Interesting concept... I guess people are using the GPL...

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    14. Re:Sounds wrong to me by wickidpisa · · Score: 2

      Where on earth are you pulling this scenario from? Just about every GPL violation I have seen on /. has been resolved in favor of the GPL. Do you remember one that hasn't?

    15. Re:Sounds wrong to me by Anonymous Coward · · Score: 0

      Technicalities aside, its pretty obvious even to a layman that trying to 'work around' the GPL with e.g. obfuscated code violates the spirit of the GPL, and would be shot down in court quickly.

    16. Re:Sounds wrong to me by dfreed · · Score: 1

      Yes, I believe they would.

    17. Re:Sounds wrong to me by Anonymous Coward · · Score: 0

      What I don't get is why this someone wouldn't take their 70% of the code and translate them char arrays containing the object code and call that their "source" code.

  2. Cut and dried Copyright violation by Fulcrum+of+Evil · · Score: 3, Insightful

    If you take some code and switch out all the variable names and change the spacing around, it's still the same code. If your lawyer is advising you differently, I'd be very suspicious of his motiviations.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    1. Re:Cut and dried Copyright violation by pyramid+termite · · Score: 3, Insightful

      If you take some code and switch out all the variable names and change the spacing around, it's still the same code.

      Afraid not - the GPL gives you the right to change the code as long as you release the changes; the fact that it's changed to code that won't make any sense without a truckload of aspirin and coffee doesn't matter. It's not very sporting of them to do this, but I have a feeling it'll even out in the end - they'll lose the comprehesible copy of this, they'll want to come out with a new version and be faced with the awful task of trying to remember what the hell they did.

    2. Re:Cut and dried Copyright violation by earlytime · · Score: 3, Insightful
      I agree. The way I see it, the two things GPL requires you to do above all else are:

      1. maintain the GNU licensing that was there when you got it.

      2. if you (re)distribute changes, you must at least distribute those changes as source code.

      I understand that their actions make the source "unfriendly" but if it compiles, then I can fire up (g)cc and recreate the same binary that you have. Maybe even compile on a different platform. I don't see how this violates the spirit of the GPL, since there are no provisions in it for the quality or readibility of code. It's primarily designed to protect the openness of the code, not to protect the usability of it.

      --

    3. Re:Cut and dried Copyright violation by thaigan · · Score: 1

      It's not very open, if it's not understandable.

      --

      42
    4. Re:Cut and dried Copyright violation by jaseuk · · Score: 1

      I don't mean to point out the obvious, but they will still have access to the originial un-obfusciated code.

      J

    5. Re:Cut and dried Copyright violation by cduffy · · Score: 2, Insightful

      He's not talking about changing the original source. He's talking about compiling the source to bytecode, then decompiling it to their obfuscated language, then releasing the source post-decompiler. They still have the source they sent to the bytecode compiler -- and under the GPL they're obligated to release it (as the "preferred form" for changing the program).

    6. Re:Cut and dried Copyright violation by jgerman · · Score: 3, Insightful
      That's actually not going to be very difficult. Their clean version is in some source repository somewhere, they make changes on the original code and only run an obfuscator on the source before the compile, it could be built in to their make process.


      I guess the chances of this AC blowing the whistle are slim, and if he/she doesn't do it, it's likely that this place will get away with this bullcrap. There are times to stand up for your principles, and while I don't fault him/her for not wanting to lose a job, I hope that if I'm ever in that situation I'll be strong enough to do the right thing.

      --
      I'm the big fish in the big pond bitch.
    7. Re:Cut and dried Copyright violation by Surak · · Score: 2, Insightful

      No, it's not the same. RTFA.

      They're not saying that they're taking someone else's GPL code and changing and redistributing it.

      They're saying that they're taking THEIR OWN CODE, linking it with GPL code, making THEIR OWN CODE unreadable, and then GPLing their own code.

      IANAL, but this sounds legal.

    8. Re:Cut and dried Copyright violation by tbf · · Score: 2, Insightful

      Ha! You exactly hit the point: Since we still have the original source it would be quite easy to build a translation table to reextract the original names...

      Well. But the question is why the $company wastes it's resources with obfiscating the GPLed code just 'cause they don't want to publish their own code. Wouldn't it make more sense to modify the GPLed code (under respect of the GPL) to support plugins or offer an command line/streaming interface and then to infect the GPLed program by closed source plugins or let the propritary program use the GPLed program by pipes? Wouldn't those efforts be more valueable for the $company simply since they give the $company some reputation in the community (for contributing some fsking code) instead of ruining the reputiation for abusing the GPL?

      Guess if your $company really plans such things the management should be fired for burning money instead of earning some. Did you try to inform your $company's shareholders?

    9. Re:Cut and dried Copyright violation by renehollan · · Score: 4, Informative
      if you (re)distribute changes, you must at least distribute those changes as source code.

      The GPL does address the issue of what constitutes "source code" at some length. From section 3:

      The source code for a work means the preferred form of the work for making modifications to it.

      I'd hardly think that obfuscated source would qualify as "the preferred form of the work for making modifications to it."

      --
      You could've hired me.
    10. Re:Cut and dried Copyright violation by Anonymous Coward · · Score: 0

      That would make the obfuscated code not "the preferred form for editing", thuis violating section three of the GPL.

    11. Re:Cut and dried Copyright violation by mpe · · Score: 2

      Afraid not - the GPL gives you the right to change the code as long as you release the changes;

      IIRC it also requires you to clearly indicate where you have made changes, which this would not appear to do. They can do this with the code which they actually wrote, (though there is nothing stopping anyone changing this back to more readable code) but not with someone elses they have taken and modified.

    12. Re:Cut and dried Copyright violation by dinotrac · · Score: 2

      You're making the right point, but drawing the wrong conclusion.

      The real problem with this scheme is not that it violates the GPL, but that it is wasting the company's time without giving the protection they think they are getting.

      Copyright law treats an arbitrary translation of the sort a code obfuscator would generate as being the equivalent of the original,very much like translating books from one language to another.

      Therefore, your lovely GPL'd code could be de-obfuscated and distributed because it's GPL'd. Your company might fight it, but, in the end, that would be a second round of resources wasted for no good purpose.

      Your company needs a better lawyer.

    13. Re:Cut and dried Copyright violation by dinotrac · · Score: 2

      Oops!
      You're not the original poster.

      It's HIS (or her) company that needs the better lawyer.
      ;0)

    14. Re:Cut and dried Copyright violation by Fulcrum+of+Evil · · Score: 1

      It is the same. RTFA yourself

      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.

      The incomprehensible gobbledygook referred to is their code with GPLed code comprising 30%. According to the GPL, this is probably a violation, unless this incomprehensible crap is what they intend to actually maintain.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    15. Re:Cut and dried Copyright violation by PhilHibbs · · Score: 2

      I did RTFA, and came to the same conclusion as the OP. The reason they're GPL'ing it is that it is a derivative work of the original GPL'd code.

    16. Re:Cut and dried Copyright violation by MerlinTheGreen · · Score: 1

      Regardless of the legality/illegality issue (and I have read the later comment *and* the GPL) I don't see what advantage this would buy the posters company.

      The poster says they intend to release the obfusicated source code under the GPL. In this case the first person to buy the product has the right to obtain the source, re-compile it and re-distribute it. The fact the source is obfusicated does not prevent anyone from re-compiling and distributing it.

    17. Re:Cut and dried Copyright violation by Munk · · Score: 1

      "If you take some code and switch out all the variable names and change the spacing around, it's still the same code"

      Yeah...in school they called this cheating :)

    18. Re:Cut and dried Copyright violation by Surak · · Score: 2

      They're *linking* the GPLed code ... as long as they only change *their* code to the gobbeldygook, I still don't think they're violating GPL. It doesn't say that the source code that they GPL has to be human readable or maintable.

    19. Re:Cut and dried Copyright violation by egreB · · Score: 1

      Now, that's a cool .sig. The answer to the question of the universe.. and all. (-8

    20. Re:Cut and dried Copyright violation by bark76 · · Score: 1

      Yeah, the way I see it is that if I were to take a novel like "To Kill a Mockingbird", replace all the names of people and places with new names and call it "To Get Rid of a Mockingbird", I'm pretty sure it would still be a copyright violation. So technically the code with changed labels is still a copyright violation.

    21. Re:Cut and dried Copyright violation by Anonymous Coward · · Score: 1, Insightful

      > Regardless of the legality/illegality issue (and I have read the later comment *and* the GPL) I don't see what advantage this would buy the posters company.
      > The poster says they intend to release the obfusicated source code under the GPL. In this case the first person to buy the product has the right to obtain the source, re-compile it and re-distribute it. The fact the source is obfusicated does not prevent anyone from re-compiling and distributing it.

      True, but anyone who tries to use that obfuscated source for ongoing development or maintenance (or trying to build a better competing product) would have a Hell of a time; better to just contract with the company and not go to all that trouble, yes? At least, that's what I'd expect the company's sales force to say when asked about this issue.

    22. Re:Cut and dried Copyright violation by Cryptosporidium · · Score: 1

      That is the key, though. You are claiming, correctly, that it would be a copyright violation since both works are the same except for minor changes. The company in the article is claiming the same thing. They are required, under the GPL, to release the source code. And they are, because both "works" are the same except for minor changes -- in the case, the relabeling of function names, variables, etc.

    23. Re:Cut and dried Copyright violation by JimmytheGeek · · Score: 0, Offtopic

      Mod this up - it's the only answer mentioned so far.

    24. Re:Cut and dried Copyright violation by wmaheriv · · Score: 1

      response to sig.:

      "I like you, Stuart, you're not like the other people, here, in the trailer park..."

      --
      ~wmaheriv
      "Shema Yisroel- Adonai Elohenu, Adonai Echad!"
    25. Re:Cut and dried Copyright violation by osu-neko · · Score: 2, Informative
      IIRC it also requires you to clearly indicate where you have made changes, which this would not appear to do.

      You do not recall correctly, see the GPL.

      However, note this from the GPL: The source code for a work means the preferred form of the work for making modifications to it.

      If the company intends to keep a non-obfuscated version, this would be "the preferred form", and their lawyer is dead wrong...

      --
      "Convictions are more dangerous enemies of truth than lies."
    26. Re:Cut and dried Copyright violation by clone304 · · Score: 1


      Uhh, no. He's talking about doing global find replace on the original source in order to make it hard to understand. It will still compile the same, and they can release it under the GPL.

      .

    27. Re:Cut and dried Copyright violation by Anonymous Coward · · Score: 0

      God, finally someone who makes some fucking sense around here. Quick, mod him down!

    28. Re:Cut and dried Copyright violation by Anonymous Coward · · Score: 0

      As other people on this thread of noted, the GPL requires that the source code has to be "the preferred form of the work for making modifications."

      Unless they maintain it as gobbeldygook, then they're not making available the source in its preferred form for making modifications.

      In other words, you clearly are quite ignorant of the actual issues involve, yet you post anyway, oblivious to your idiocy. You epitomize slashdot.

    29. Re:Cut and dried Copyright violation by cduffy · · Score: 1

      The "he" I was referring to was the original poster (whom the article refers to). I now realize you were referring to the originator of this thread. Oops.

      Anyhow, if they keep the original (pre-search-and-replace) code, which they'd have to do to make it possible for them to hack on it themselves, then that's the preferred format, hence the post-search-and-replace stuff isn't source by the GPL's definition.

    30. Re:Cut and dried Copyright violation by clone304 · · Score: 1


      I think I was referring to the situation described in the Ask Slashdot question, but whatever.

      I agree with you. From the terms of the GPL, specifically the preferred clause, I would think that the company shouldn't be able to get away with doing what they are tryng to do. That doesn't mean that they won't, however. It sounds to me like there is enough ambiguity for a judge to call it either way according to his own preference. Even though to a programmer, this should be not at all ambigous.

      .

  3. No Ethics == Outathere by horse · · Score: 2, Informative

    Speaking only for myself, here. I would resign immediately, and report the abuse to the FSF.

    Life is too short to work for lowlife scum.

    1. Re:No Ethics == Outathere by Anonymous Coward · · Score: 0

      I doubt that's going to happen. It seems to me that he's probably in charge of this himself; and what better place to cover all his bases on the GPL than Slashdot?

    2. Re:No Ethics == Outathere by Anonymous Coward · · Score: 1, Insightful
      Taking the moral high-ground in something like this is hard to do. Lets say he resigns and notifies the FSF.

      1) Based off of his first sentence, it kinda seems either he hasn't slept in a long time or he isn't a native speaker. Either he is in another country. So what can the FSF do. That would be VERY costly to go after then in court in another country.
      2) He is now out of a job. He held up his beliefs and can be proud of that while waiting in the un-employment line. Given the state of the economy. What if he can't find a decent job for months. I wouldn't doubt he would wish he kept his trap shut in the past.

      I'm not saying what the company did was right, but taking the moral high-ground can be fairly costly and not always easy to do.

    3. Re:No Ethics == Outathere by bleckywelcky · · Score: 1


      Um.

      Based off of his first sentence, it kinda seems either he hasn't slept in a long time or he isn't a native speaker.

      There's nothing wrong with this person's first sentence.

      Our (technically savvy) lawyer has advised my company that 'incidental resources' do not a work derive.

      It is a not-uncommon practice in writing to place a verb (derive) after a noun (a work) to provide emphasis. I'm not exactly sure if this would work within a sentence, but I see this sort of use at the end of sentences quite often. Although, it does increase the chances of people becoming confused, as you just have demonstrated, heh. So, it is usually not used in news reporting, or journal articles, etc - but rather as a sort of cliche statement just to provide emphasis and to make sure the reader is paying attention.

      In fact, there are several common phrases that use this setup. I can't remember any exactly, but one went along the order of "Something and something do not a something make." lol, how's that for generality?

      I'm not sure if it is exactly proper english, but it for sure is useable english, and quite acceptable for daily use - not necessarily indicative of foreign background.

    4. Re:No Ethics == Outathere by CorwinOfAmber · · Score: 1
      I can't remember any exactly, but one went along the order of "Something and something do not a something make." lol, how's that for generality?

      "Stone walls do not a prison make ..."

      --
      My future's determined by Thieves, thugs, and vermin -- The Offspring
    5. Re:No Ethics == Outathere by scumdamn · · Score: 2
    6. Re:No Ethics == Outathere by anthony_dipierro · · Score: 2

      Speaking only for myself, here. I would resign immediately, and report the abuse to the FSF.

      Would resign immediately and notify the BSA if your boss violated the copyright on Windows software?

    7. Re:No Ethics == Outathere by Anonymous Coward · · Score: 0

      1) Based off of his first sentence, it kinda seems either he hasn't slept in a long time or he isn't a native speaker. Either he is in another country. So what can the FSF do.

      His first sentence is quite correct and in fact well written; your first is ungrammatical, and your second and third aren't even sentences. I'd say he has a much better grasp of English than you do.

    8. Re:No Ethics == Outathere by Anonymous Coward · · Score: 0

      Would [you] resign immediately and notify the BSA if your boss violated the copyright on Windows software?

      I think this is a different issue. The GPL exists to make sure software is "free" (as in freedom), "open", and available to anyone. The Windows EULA exists to make sure Microsoft gets paid. I would argue, as may others, that the GPL is a more noble cause to resign over than an agreement which exists to make the world's richest corporation even richer. YMMV.

    9. Re:No Ethics == Outathere by anthony_dipierro · · Score: 2

      I would argue, as may others, that the GPL is a more noble cause to resign over than an agreement which exists to make the world's richest corporation even richer.

      I don't find it morally wrong to modify someone else's software and sell it to others without releasing the source code. As such I would encourage my employer to break all copyright laws (if it weren't for the fact that that was illegal). I certainly wouldn't discourage it.

      Here we have a case where someone is willing to make enhancements to GPLed software and release it for free (beer) for everyone to use. But the GPL proposes that that is illegal. That's ridiculous IMHO, just as ridiculous as Microsoft's EULA. In fact, it's even more ridiculous, because the motive isn't even one of profit, it's over some stupid concept of "software is not free unless you have source code".

      If you share RMS's goals, that is, if you want the government to force all programmers to release source code with all software they write, then fine. But I want the government to have less power over programmers, not more.

    10. Re:No Ethics == Outathere by TuxGrep · · Score: 1

      Anyone else reminds this form of... Shakespeare ?

      Or am I way off base ?

  4. Source code = preferred form for modification by phr2 · · Score: 5, Informative
    The GPL explicitly defines source code as the preferred form of a program for modifying it.

    To find out whether the gobbletygook you distribute is source code or not is simple: if you normally add features to the program by editing the gobbletygook, it's source. If you instead edit the stuff that you compiled to gobbletygook and then recompile it, then the stuff you distributed isn't source and it's a clear-cut GPL violation.

    1. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      ...or if you come across this product and see the source code is gobbledygook - then the company is basically saying: Hello! We're breaking the GPL!

    2. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      Hmm... If this were the case, half the projects on sourceforge would be in violation...

    3. Re:Source code = preferred form for modification by kubrick · · Score: 4, Funny
      The GPL explicitly defines source code as the preferred form of a program for modifying it.

      To find out whether the gobbletygook you distribute is source code or not is simple: if you normally add features to the program by editing the gobbletygook, it's source.


      Maybe if that gobbledegook were legalese?

      Herewith, the party of the first part, being the variable heretofore known as 'x', and the party of the second part, being the value henceforth known as '1', do legally contract a valid and binding agreement to...


      Etc.

      At least then it would be the preferred form for someone -- the lawyers :)

      (NB: Zealots, I'm only kidding. I do think this is an ethically dubious act, and possibly an illegal one too. I guess it depends on whether this company thinks that their lawyer(s) are better than some of the ones that could get brought to bear against them...)
      --
      deus does not exist but if he does
    4. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      However - his company can take the gpl code, add hooks to it which are lgpl'd, and write their code to use those hooks, allowing them a legal, clean alternative to providing source at all.

    5. Re:Source code = preferred form for modification by TeamSPAM · · Score: 1

      I think we have a candiate for an April's Fools language. Shortly there after we will have a compiler for it. :-)

      --
      Brought to you by Team SPAM! where we believe: "Information in the noise!"
    6. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      heheh ;) They're mostly still on phase 1, PLANNING!

    7. Re:Source code = preferred form for modification by StringBlade · · Score: 1

      IANAL but I wish I had the language of legalese internalized so I could write an obfuscator that does just that.

      Naturally, it wouldn't be very useful for obfuscating code, but it would be great entertainment writing and I'm sure more than a few people would enjoy running it just to see the results.
      Thanks for a great idea!

      see you in the funny papers

      --
      ...and that's the way the cookie crumbles.
    8. Re:Source code = preferred form for modification by BlueUnderwear · · Score: 2
      However - his company can take the gpl code, add hooks to it which are lgpl'd, and write their code to use those hooks, allowing them a legal, clean alternative to providing source at all.

      Would that actually be legally ok? Think about it. Why differentiate between GPL and LGPL at all, if anybody can trivially transform a GPL'ed piece of code into an LGPL'ed one by creating a derivative work of it and slap the LGPL on it? Remember: the "derivation" may be as trivial as adding the comment /* Yippie, this is now LGPL'ed */ to one of the source files...

      What your suggesting may be ok if you keep the executables separate... i.e. have the open code and the proprietary code exchange information via a pipe, socket or whatever, rather than linking them into a same binary. But in that case, the LGPL would not enter the picture at all.

      --
      Say no to software patents.
    9. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      I'd love to present DeCSS in legalese... :-)

    10. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      That would be shocking.

      Everybody knows that Open Source programs aren't planned. They're coded.

    11. Re:Source code = preferred form for modification by ajs · · Score: 2

      I do think this is an ethically dubious act, and possibly an illegal one too.

      Let's be clear here (just as we are when talking about the RIAA): violating the GPL is not illegal. What's illegal is copyright violation, which is what you're committing if you distribute someone's copyrighted work without a license. Since you have no license that allows you this sort of distribution, you are in violation of copyright law.

      Yeah, I agree with the comments on prefered version of source. It seems to me that the pre-processed version is the output of a compilation stage, and is not suitable as source code. Thus, it is not the prefered version. This would be a much stronger stance than simply not distributing source at all, but ultimately seems flawed.

      It's funny that perhaps the most elegant hack to ever come out of the FSF was a legal document....

    12. Re:Source code = preferred form for modification by kubrick · · Score: 2

      Let's be clear here (just as we are when talking about the RIAA): violating the GPL is not illegal. What's illegal is copyright violation, which is what you're committing if you distribute someone's copyrighted work without a license. Since you have no license that allows you this sort of distribution, you are in violation of copyright law.

      I have to admit I didn't bother expanding that out, but I thought it would have been obvious to the casual reader...

      The only time the GPL imposes any obligations on you is when you distribute derivative works -- and it's because this act of distribution is governed by copyright law as well that the GPL gets its teeth.

      (Much like any software license, if you use software licensed to you in manners not allowed by the license, that license is revoked and you are in contravention of copyright law if you continue to use it. The GPL grants you additional rights and additional responsibilities as well).

      It's funny that perhaps the most elegant hack to ever come out of the FSF was a legal document....

      It's one of those realms that requires true wizardry to hack successfully, given all the forces arrayed against the humble hacker. :)

      --
      deus does not exist but if he does
    13. Re:Source code = preferred form for modification by WhiteKnight07 · · Score: 1

      Hahaha!! I have GOT to write my homework programs for C++ like that and turn then in as such. I can't wait to see the look on my professor's face. Hehe, grat idea.

      --


      We're going to make information free Mr. Anderson, whether you like it, or not.
    14. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      Phase 1, PLANNING is really just Sourceforge code for "Developer likes to think they can write code, but all they do is talk about things they don't understand"

      Luckily, most of these projects never leave Phase 1, PLANNING.

    15. Re:Source code = preferred form for modification by DavidTC · · Score: 1
      Doesn't work that way. While is is trivial to add a file to a GPL'd project that is itself under the LGPL, or BSD, or whatever license, or, hell, even public domain, the product itself has to abide by the 'harshest' license, and hence the entire thing is GPL. Yes, you can take the LGPL file out and use it like an LGPL file, but while it's being compiled into a GPL project it's GPL.

      And you cannot use GPL 'hooks' from a non-GPL project.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    16. Re:Source code = preferred form for modification by fishebulb · · Score: 2

      my prof would give me a big fat F, the assignment specifically says it must use intuitive names etc.

      I guess he doesnt believe in the maxim, it was hard to write, it should be hard to read

    17. Re:Source code = preferred form for modification by Anonymous Coward · · Score: 0

      Aha! Someone should submit a DeCSS version written in legalese...

  5. It's clear. by Eric+Sharkey · · Score: 3, Redundant
    The GPL states:

    The source code for a work means the preferred form of the work for making modifications to it.


    If this isn't the form your company prefers for doing their own internal modifications, then this isn't the source code!
    1. Re:It's clear. by ankit · · Score: 1

      What if... (hypothetically),
      the company does not make any modifications to the code after releasing it? Or makes trivial changes in the obfuscated code only? What then?

      --
      Don't Panic
    2. Re:It's clear. by cduffy · · Score: 1

      The question is not what they use, but what the preferred form for modifications is. Even if they use the bytecode themselves, they won't be able to stand up in court and claim that it's the easiest form to modify without being shot down horribly.

    3. Re:It's clear. by Chris+Burke · · Score: 2

      Nothing. Making a small change (or no changes!) would not demonstrate that the obfuscated code is the preferred form for making changes. The developer's own development pattern -- almost always on non-obfuscated, once or zero times on obfuscated -- would make it apparent which is "preferred".

      The fact is it should be very easy for a lawyer to prove that the release of intentionally obfuscated code violates that section of the GPL. , using the above logic and some expert testimony. Whether that would be enough to get an injunction or damages or a court order to release their non-obfuscated code, I don't know.

      --

      The enemies of Democracy are
    4. Re:It's clear. by dillon_rinker · · Score: 2

      Then the product dies. Software development is an iterative process. No software product is perfect, and it is a relatively simple matter to reverse engineer ANY software product and improve it (look at this on the timescale of human life rather than the next financial quarter).

      If the product is ordersof magnitude better than anything else out there, then it may not be necessary to improve it. Merely sell/support it until the author is independently wealthy and then quit - why work when you can live off the interest? Most businesses/businessmen don't have this philosophy, though, and most software products ARE improved - that's the business plan. Produce something that works - barely - and sell the patches that make it work better. Thus Word 1.0, 2.0, 6.0 95, 97, 2000, XP, etc.

    5. Re:It's clear. by Bloater · · Score: 1

      That would make it illegal to release C++ programs under the GPL, because python is better :)

    6. Re:It's clear. by cduffy · · Score: 1

      hehhehhheh. :)

      Well, if they have both C++ and Python ports, that's absolutely right. The license just asks for the "preferred" format (ie. of those available), though, not the "perfect" one.

  6. Your lawyer is a fucking retard by mosch · · Score: 1, Insightful
    If you start with the code, remove comments, change variable names and whitespace... it's still the same code, AND it's a derivative work, subject to the restrictions on the GPL.

    I think what your lawyer meant to say was 'you probably won't get caught, and if you do those damned GPL hippies can't afford lawyers anyway'.

    By not being willing to put public pressure on your employer to stop this, you're as culpable as they are. The crime is being commited with your full knowledge of the action and the fact that it's illegal. Failure to report your company could leave you personally liable in the future.

    1. Re:Your lawyer is a fucking retard by Krondor · · Score: 1

      Who are you to judge? Are you so pure that when faced with loss of a job in a country reluctant to hire you wouldn't bow down. What if he has a family to support. I don't know how you can make such a personal attack without knowing someone.

    2. Re:Your lawyer is a fucking retard by evil_one · · Score: 2

      It's only a copyright violation if the code is re-released. That's not /his/ responsibility, that's the company's.

      ALSO - he's not talking about removing comments variablenames & whitespace in the gpl'd source, but his company's.

      --
      Desperation is a stinky cologne
    3. Re:Your lawyer is a fucking retard by smagoun · · Score: 2, Interesting

      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)

    4. Re:Your lawyer is a fucking retard by PhilHibbs · · Score: 2
      Who are you to judge?He isn't "judging" in the moral sense, but as I understand it, offering an opinion on culpability. Which I suppose could be described as "judging", but not in the sense that I understood you to be using it.
    5. Re:Your lawyer is a fucking retard by IPFreely · · Score: 5, Insightful
      If you start with the code, remove comments, change variable names and whitespace... it's still the same code, AND it's a derivative work, subject to the restrictions on the GPL.

      From my reading, that is not the problem. It appeared that the company did release the code with source as GPL along with their product. They just obfuscated it before releasing it. That is not directly a GPL violation.

      There have been cases before of obfuscated GPL code (Some video drivers in the Linux Kernel I believe) but those were original source from the manufacturer.

      This article is about taking someone elses GPL code, obfusacting it, then re-releasing it with GPL intact.

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    6. Re:Your lawyer is a fucking retard by cduffy · · Score: 2

      It would be a civil violation, not a criminal one -- I'm quite sure it'd only be his company liable, not him.

      (IANAL, though).

    7. Re:Your lawyer is a fucking retard by 87C751 · · Score: 2, Informative
      ALSO - he's not talking about removing comments variablenames & whitespace in the gpl'd source, but his company's.
      Error 666: FTRTFA

      What the author said was:

      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.
      So, yes, they are intending to munge the GPL source they've incorporated, along with their own source, into a final, monolithically obfuscated product.
      --
      Mail? Put "slashdot" in the subject to pass the spam filters.
    8. Re:Your lawyer is a fucking retard by Afty0r · · Score: 1

      Are we talking about criminal law here, or civil law?

      'Breaking' the GPL would seem to be a civil, not criminal offence, would it not?

    9. Re:Your lawyer is a fucking retard by Bloater · · Score: 1

      At least in the UK, copyright violations are not criminal acts. That's why you have to sue, rather than the CPS bringing a case.

    10. Re:Your lawyer is a fucking retard by Anonymous Coward · · Score: 0, Informative

      There have been cases before of obfuscated GPL code (Some video drivers in the Linux Kernel I believe) but those were original source from the manufacturer.

      I think you are thinking about the nvidia drivers, developers of Beos drivers were always complaining they could make no to little sense of the released source. Not a violation in my opinion, everyone could see what de drivers where doing, it was just to complex to learn from looking at the code anyway (instead of real documentation). I still think someone should licence the geforce line of chips, build boards based on the reference design like all other vendors but release real open drivers based on the documentation they got along with the chip licence. These may not have the speed of oficial nvidia detonator drivers but with an opensource developers community they could a least be tweaked for the os(and subsequently be ported to other operating systems, and maybe even architectures(quake 3 on alpha anyone ;-))

      To bad nvidia will never let this heapen, they should really be more forthcoming with help if they want to get more succesfull in the chipset arena.(nForce)

    11. Re:Your lawyer is a fucking retard by pgilman · · Score: 0, Offtopic


      Your lawyer is a fucking retard&nbsp (Score: -1, Redundant)

      ;-)

      --
      if i'm a grammar nazi, you're an illiteracy nazi.
    12. Re:Your lawyer is a fucking retard by PhipleTroenix · · Score: 1

      Under US law if you know of a crime but do not act to prevent it, you are considered an accomplice to that crime.

      Are you sure? I believe this is a civil matter, not a criminal matter.

      Do I need to be on my cell phone calling in plate numbers of speeders every time I get on the highway?

      --
      When VPNs are outlawed, only outlaws have VPNs.
    13. Re:Your lawyer is a fucking retard by Overzeetop · · Score: 1

      As for his moral obligation, I believe he has done the right thing at this point. We can't all just up and quit our jobs when a _proposal_ for a business practice doesn't seem kosher. By airing it here at /. and providing potential (negative) exposure to the company this whole issue may be headed off. For all we know this is a great firm and a great potential product, and some leech in management thought he might get that second cottage in Aspen if he could wring some hours out of his manpower budget.

      With the resources of /. he's got a real reason why this won't work, and maybe an anonymous suggestion or two to the proper brass at the company will scuttle this plan. If not, then we're all on the lookout now, and when it does surface the GPL community will silently cut their throats while they sleep ;-)

      --
      Is it just my observation, or are there way too many stupid people in the world?
    14. Re:Your lawyer is a fucking retard by James+McP · · Score: 1

      By not being willing to put public pressure on your employer to stop this, you're as culpable as they are.

      That's a little harsh, don't you think? This guy's (gal?) post implied they knew it was a violation of the GPL in spirit but couldn't find it in the letter of the GPL. They were asking for advice to counteract a stupid lawyer.

      And, no offense, but there's no way I'd publicize the company at this point; they haven't DONE anything wrong. Other than hire a shyster, that is.

      The crime is being commited with your full knowledge of the action and the fact that it's illegal. Failure to report your company could leave you personally liable in the future.

      IANAL, but this is a GPL violation. L=License=Contract. They may not be legal, but they aren't CRIMINAL. They are CIVIL violations. They could be fined, but not not jailed.

      And, as a non-expert, I doubt they could be held responsible. By stating their interpretation of the license they have put the onus on the executives and the legal department. Matter of fact, the executives are EXPECTED to ignore the programmer's legal advice in favor of that given by the licensed, certified expert they hired.

      --
      I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.
    15. Re:Your lawyer is a fucking retard by Anonymous Coward · · Score: 0

      Actually it would be both a civil AND criminal violation. Once you violate the terms of the contract, you no longer have a license to sell copies of the copyrighted work. Selling that copyrighted work without a license is a criminal violation in the U.S. Of course there's no chance that the Justice department would prosecute - the FSF isn't a big campaign-contributing corporation after all.

    16. Re:Your lawyer is a fucking retard by cpt+kangarooski · · Score: 2

      Really? I never heard of this. So you're saying that, if, say, someone rapes me, and the state has a strict liability standard for rape, where I'm not required to resist in order for the rapist to be criminally liable, I'm guilty of my own rape? (because aiding and abetting prior or during the commission of a crime makes one a principal to the crime, liable just as much as the 'main' perpatrator)

      Or perhaps a simpler explanation is that you have no idea of what the hell you're talking about. Civilly and criminally, totally innocent bystanders have NO RESPONSIBILITY. Only if you've somehow acted, or have acquired a duty to act which you ignore, are you liable.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    17. Re:Your lawyer is a fucking retard by anthony_dipierro · · Score: 2

      'Breaking' the GPL would seem to be a civil, not criminal offence, would it not?

      Not if you break it willfully for "purposes of commercial advantage or private financial gain". Willfully would be hard to prove in this instance though, since a lawyer in good faith advised the company that what it was doing was not illegal.

    18. Re:Your lawyer is a fucking retard by smagoun · · Score: 1

      Right, I should have had another cup of coffee before posting. US law doesn't require innocent bystanders to do anything (remember Kitty Genovese in New York City?). Several states have enacted laws to that effect, though. These laws aren't to be confused with the laws that protect Good Samaritans from liability.

      Additionally, there are a few laws kicking around to get rid of organized crime that are designed to get at people who look the other way when crimes occur, but I'm too lazy to look them up.

      In any case, as someone else pointed out this is (most likely) a civil issue, not a criminal one. I'm not sure what the civil statutes say, but it's easier to get a civil conviction than a criminal one (OJ Simpson....) so the author might want to watch out in any case.

      Bleh. More coffee.....

    19. Re:Your lawyer is a fucking retard by seek31337 · · Score: 1
      Unless the source is Python or PHP, there is likely to be a code beautification program that will make this 'munged' code compilable.

      I don't like the GPL, but I like lawyers who d this kind of business to be more annoying than the GPL.

      --
      No SIG for you!
    20. Re:Your lawyer is a fucking retard by mosch · · Score: 2
      To use your fuckwitted analogy , the person asking the question isn't an innocent bystander. They're holding the legs down because a lawyer is saying 'that's not rape, you just happened to give a free ankle massage to the person, while they were being raped'.

      Enough with your rape fantasy though, why can't anybody on slashdot hold a conversation without comparing apples to volvos?

    21. Re:Your lawyer is a fucking retard by Wumpus · · Score: 1
      why can't anybody on slashdot hold a conversation without comparing apples to volvos?

      Ah! An easy one! That's because Volvos are the best cars ever made, and nothing compares to them. So, they make a nice extreme data points to compare things against.

      Volvos are so spiffy, in fact, that I suspect that even you won't be able to wreck one.

      No, wait - I take that back...

    22. Re:Your lawyer is a fucking retard by cpt+kangarooski · · Score: 2

      Nevertheless, the original poster said: Under US law if you know of a crime but do not act to prevent it, you are considered an accomplice to that crime. This is a _very_ broad statement; it is not one that is limited to the GPL situation we've been discussing here.

      And in fact, if you'd bothered to note the identity of the other respondant to my post, it was at least partially retracted! Smagoun agreed that there is no such general rule. At most, a government can pass a law that imposes a duty on a class of individuals, but of course, people outside of that class are exempted.

      And the rule in the vast, vast majority of cases is one of no liability for an innocent bystander. I can watch people murder, rape, or steal with impunity if I do nothing to help. (generally -- there's some finer matters involved as well) Likewise, I can watch people die, or be crippled by grevious injury, or suffer mental trauma, and not raise a finger, and that too is acceptable.

      After all, much as our initial inclination to require that aid be given beckons to us, there are better reasons to let it alone. For example, one is 'where does it end?' If someone suffers a heart attack on a busy sidewalk, does everyone in the world owe him a duty to perform CPR? What if there's more than one person -- is the 2nd guy to arrive liable for not beating the first to help? Are people on the other side of the street liable? People on the next block? In cars? In buildings? Who are already occupied with other pressing duties?

      HOWEVER, I never made the claim that accessories weren't usually civilly or criminally liable! You're bitching at me for something I never said! Your complaints are, I'm afraid, all in your head. What posessed you to post about a total non-issue, I cannot even imagine.

      And from someone with a three digit ID... Tsk tsk.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    23. Re:Your lawyer is a fucking retard by ComputerSlicer23 · · Score: 1

      Actually, XFree86 has some "obfusicated drivers", the Linux kernel license technically isn't the GPL, it the GPL with a binary module exception (sometimes referred to as the Linus Exception if I remember correctly) license. That is to say, you can write a set of code and compile it up, then write a wrapper around that that is open source and give out the binary objects with no code, plus the wrapper to make it work with the current version of the kernel. Then ship it as a module. Linus wouldn't let obfusicated code into the main source tree.

  7. I don't think this tactic will help your company by jrifkin · · Score: 1

    because

    (1) Although the source is obfuscated, it is still
    GPL which means its freely available and freely
    compilable.

    2) If folks know from which original obfuscated
    code the GPL derives, it may be possible to
    write some program that separates it from the
    new code and then the new (but obfuscated) code
    can be examined and possibly cleaned up, then voila new GPL code.

    So your company produces code that must be distrubuted freely - how can they benifit?

  8. From the GPL by Procrasti · · Score: 1
    The GPL quite clearly states:
    The source code for a work means the preferred form of the work for making modifications to it.

    Your company is breaking the law... enough said.

    1. Re:From the GPL by Anonymous Coward · · Score: 0

      they are not braking the law, they are breaking the license.
      dont forget that the next time you click-through some eula.

    2. Re:From the GPL by Procrasti · · Score: 2, Insightful

      Damn, you have to be fast to not be redundant... Guess that's why they call it internet time. Was a pretty obvious answer really. I shouldn't have spent so long formatting it.

      Oh well, go ahead, Mod me to hell -- I never had any karma to begin with :(

    3. Re:From the GPL by Snootch · · Score: 1, Flamebait

      they are not braking the law, they are breaking the license.

      First, learn to spell. Secondly, if you break a legal licence, you're not breaking the licence, you're breaking copyright law. Under normal copyright law, you have no right to redistribute the code. The GPL is an exception to ordinary copyright law - "I waive these bits of copyright law only if you fulfil these conditions". If you don't fulfil those conditions, copyright law is in full effect, and you're breaking it.

    4. Re:From the GPL by Anonymous Coward · · Score: 0

      and it wasnt even my fault, its these windows keys that hinder my movement. [qwer] isnt reachable without lifting the left hand or the start menue pops up.
      damn logitech keyboards...

    5. Re:From the GPL by Anonymous Coward · · Score: 0

      *sigh* since when has the word "preferred" been synonymous with the word "easiest"?

    6. Re:From the GPL by Procrasti · · Score: 1
      *sigh* indeed...

      If they are editing the obfuscated version and they prefer to make their modifications to their source in that form, then that is by definition the preferred form of the work for making modifications. However, it looks like they are editing the source in one form and releasing an obfuscated version of that. Therefore, they are not releasing the preferred form of the work for making modifications.

      Hence, they are breaking their contract...

      It has nothing whatsoever to do with easy/easier/easiest. Where did you get this idea from?

  9. Still must compile. by Penguinoflight · · Score: 0

    If the unsaid company would generate their project GPL'd, at least the product would be free. I agree that messing up the code like that is really bad. If it can't be compiled, I think they will be sued.

    INAL

    --
    "And we have seen and do testify that the Father sent the Son to be the Savior of the World"
    1 John 4:14
  10. Legal Loopholes by Kombat · · Score: 3, Insightful
    You did say they still plan on releasing the resulting, obfuscated code under the GPL, right? So, under the terms of the GPL, there is no violation. The GPL says you can change the code all you want (including obfuscation), as long as you release the resulting work under the same license.

    Nowhere does it say that that code has to be non-obfuscated. Nor do I think it should. Do we really want to try and formalize that gray area between "obfuscation" and just plain "sloppy code?"

    Not all of the code released under the GPL is what we would consider "good code." By that, I mean people release all sorts of toy projects and junk code under the GPL, for learning purposes. They use bad variable names and inefficient algorithms, but when do we start to consider code "obfuscated?" And more importantly, do we want to leave it to a lawyer to make that decision for us?

    I say if you're really concerned about it, then leave the company. Otherwise, just write it off as mean-spirited. There's no law against being mean. :(

    --
    Like woodworking? Build your own picture frames.
    1. Re:Legal Loopholes by Cruciform · · Score: 2

      True enough, and with the proper amount of obfuscation you can get your product to market before anyone takes the time to translate your gobbledygook code back into something THEY can modify and market :)

      It's underhanded, but then again, it's business.

      As long as they're not actually screwing anyone over in the end, it doesn't sound as bad as some might make it out to be.

    2. Re:Legal Loopholes by cduffy · · Score: 2

      Nowhere does it say that that code has to be non-obfuscated. Nor do I think it should.

      Actually, it does.

      When it says you need to provide source, it specifies that source is the preferred form of the work for making changes. An obfuscated version isn't preferred by anyone. Sloppy code, on the other hand, is totally different -- after all, it's not like you have both a sloppy and a clean version of the same thing; when you have sloppy code, it's all you have, so releasing it isn't a problem. When you have obfuscated code, you generated it from your clean code, so you have the other (preferred) form but aren't releasing it. That's where you have the problem.

      Once again: If you write sloppy (obfuscated?) code to start with, you have no other (better, clean) form, so there's no other form you could otherwise prefer. It only applies to folks who deliberately obfuscate their code, keep the clean version and distribute the unreadable one -- and it certainly should apply to them.

  11. Total obfuscation is not possible by jsmyth · · Score: 4, Insightful
    Previous article: On the (Im)Possibility of obfuscating programs.

    Pretty boring stuff, but the overall point is that once the end product is GPL'd, it won't take long for someone in the bazaar to figure out a meaning for "asdfgh", and do a s/asdfgh/meaningfulName/g through the whole thing. Or even figure a way to diff it with the original source.

    As long as it's GPL'd, the source will be available, and it'll be figured. You're wasting a lot of your time (and the rest of the community's) for very little reason.

    No matter how complex your obfuscation, it's likely much less complex than, say, CSS or DES was.

    --
    jer

    We may be human, but we're still animals
    - Steve Vai
    1. Re:Total obfuscation is not possible by Anonymous Coward · · Score: 0, Informative

      maybe you want to take over the xfree 3.3.6 nvidia opengl driver. that is.. the preprocessor output that nvidia released. and no, it isnt in a working state since 2 years or so.

    2. Re:Total obfuscation is not possible by mpe · · Score: 2

      Pretty boring stuff, but the overall point is that once the end product is GPL'd, it won't take long for someone in the bazaar to figure out a meaning for "asdfgh", and do a s/asdfgh/meaningfulName/g through the whole thing. Or even figure a way to diff it with the original source.

      If it's a mechanical process then they can probbably work out fairly easily what is going on even in the bits of the source which arn't derived from someone elses code. Effectivly it's cryptoanalysis where a substantial portion of the cleartext is known.

    3. Re:Total obfuscation is not possible by Anonymous Coward · · Score: 0

      Pretty boring stuff, but the overall point is that once the end product is GPL'd, it won't take long for someone in the bazaar to figure out a meaning for "asdfgh", and do a s/asdfgh/meaningfulName/g through the whole thing.

      But that makes the source code clause of the GPL meaningless. What is binary code, other than obfuscated, compressed, source code?

    4. Re:Total obfuscation is not possible by EggplantMan · · Score: 1

      Good point, besides, there are many experts that can be called upon.

      --

      ?-|||-----x<*))))><
    5. Re:Total obfuscation is not possible by sparkz · · Score: 2

      It'd be a significant challenge - to automatically obfuscate code the the point where indent and a few sed's can't deobfuscate it... in many cases, unless you're taking something huge like the whole of GNOME, it'd be easier (=cheaper) to write your own alternative.

      --
      Author, Shell Scripting : Expert Re
  12. Maybe not legal, but what about PR? by Rashkae · · Score: 3, Interesting

    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?

    1. Re:Maybe not legal, but what about PR? by KrisWithAK · · Score: 1

      Although I wouldn't personally promote doing this... I can think of a possible advantage from abusing the GPL in this fashion:

      The poster didn't state what the project was, or why or how much the project was lucrative. The project doesn't necessarily have to be some mainstream application that we'd all expect to see advertised for our desktops. The program could be some niche app whose users don't know nor care about the redistribution provided in the GPL. Correct me if I'm wrong, but the source code distribution requirement only kicks in for those you distribute the binary to... So for example if the end-user of your "customer" is simply some clueless admin who installs it on their server, then chances are the company in question might not even have to worry about anyone actually looking at their source code.

      The advantage is... they get lots of code for free, plus the actual chances of having a PR disaster is nil.

    2. Re:Maybe not legal, but what about PR? by Thing+1 · · Score: 2
      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?

      One word: Publicity.

      How many more people know about Lindows because of Microsoft's uproar over their name?

      There's a saying in marketing: no publicity is bad publicity. (Yes, there are exceptions.)

      --
      I feel fantastic, and I'm still alive.
  13. Why are you asking this here? by Jucius+Maximus · · Score: 1
    You will just get a bunch of "IANAL..." responses.

    You were right in talking to your lawyer.

  14. What a bunch of jokers by dachshund · · Score: 1
    Unfortunately, the only requirements I can see in the GPL regarding source code is that it be "machine-readable". There's a vague statement that "source code for a work means the preferred form of the work for making modifications to it", which could potentially spell trouble for your bosses... As the crap they intend to give out seems to be less than the preferred form for doing anything. But that's a slim chance.

    I would imagine this'd be something to think about for the next version of the GPL.

  15. Obfuscated source code is not GPLable..... by AndyS · · Score: 2, Redundant

    This doesn't seem too hard, although the part is limited. To quote from the GPL

    "The source code for a work means the preferred form of the work for making modifications to it."

    In this case - obfuscated code is not the preferred form of the work for making modifications to it - your company isn't going to be making the modifications to the obfuscated version - they're going to use an internal version and make modifications to that instead. In which case they would be in violation of the GPL. A bit of an arse to litigate I would guess.

    1. Re:Obfuscated source code is not GPLable..... by Anonymous Coward · · Score: 0
      Quote: " In this case - obfuscated code is not the preferred form of the work for making modifications to it - your company isn't going to be making the modifications to the obfuscated version - they're going to use an internal version and make modifications to that instead."

      But they could get around this by, fpr example, storing a table with the names of the original variables and the name s of the obfuscated variables, then modifying the obfuscated version so that it is as similar to the original as makes no odds - and that would be the way that the company would prefer to modify the code, and they could do it so long as they went through this procedure every time they released a version.

    2. Re:Obfuscated source code is not GPLable..... by StringBlade · · Score: 1

      But it doesn't matter so much how the company prefers to modify the code. If the method of modification that the company uses is privatized and the GPL'd "code" is unreadable/unusuable, then it violates the GPL since developers outside of the company cannot modify the code in a preferred manner.

      Essentially, you can't GPL something that's unreadable just because you have the only secret decoder ring, it's readable to you, and you prefer to read the code using your ring.

      --
      ...and that's the way the cookie crumbles.
    3. Re:Obfuscated source code is not GPLable..... by Atrahasis · · Score: 1
      In that case the table becomes part of the preferred form of the source.

    4. Re:Obfuscated source code is not GPLable..... by Saib0t · · Score: 1
      A bit of an arse to litigate I would guess.

      Especially since you have to prove they're not using that form to develop... Which is very hard to do if you're not someone from that company.

      --

      One shall speak only if what one has to say is more beautiful than silence
    5. Re:Obfuscated source code is not GPLable..... by DavidTC · · Score: 1
      It's a lawsuit, you simply force the developers to appear and testify.

      If they lie, you make ask them to make any modifications to the program, and they will fail.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    6. Re:Obfuscated source code is not GPLable..... by Winged · · Score: 1

      Actually, this is what 'discovery' is for. As soon as a lawsuit is slapped on, the lawyers get to go through a process where -everything- to do with the company's practices (including, but not limited to: the source code repository as of the date the lawsuit happened, as well as up to the date of the trial; any internal memos; any internal emails; any emails on developers' personal machines at home; any projected revenue statements; -anything- that at all has to do with the case at hand) regarding what they're charged with violating must be handed over.

      Any company that is shown, in open court, to -not- be using at the very least CVS and more likely one of the larger source code revision tools will suddenly become the laughingstock of whatever industry they're trying to market software to... because what happens when old versions have bugs found, and need fixes without upgrading to the newest, slowest version? It also opens them up to lawsuits from shareholders, for not taking reasonable precautions (not performing due diligence) to maintain and grow the value of the stock in the shareholders' hands. Therefore, most companies won't have a lack of a development tree for revision control.

  16. Breach of copyright by juju2112 · · Score: 1, Redundant

    The way I understand it, if you distribute GPL'd code to the public, you must also distribute the source code. It doesn't matter how much you modify it -- if you fail to release the source code then you are breaking copyright and can be sued.

  17. This violates the GPL by Make · · Score: 1

    GPLv2 says:

    "The source code for a work means the preferred form of the work for making modifications to it."

    Obfuscated source code is obviously not "the preferred form of the work for making modifications to it". 'Nuff said.

  18. Wait a sec by NitsujTPU · · Score: 1, Redundant

    Are we talking about just compilation and use of an IDE? I we talking about compiling against libraries?

    We're not talking about including source files.

    It all sounds fine to me. I don't pay a royalty to Sun Microsystems just because I compiled under Forte. What am I missing here that you're doing?

  19. Seems to me the bytecode is not the "source code". by Anonymous Coward · · Score: 0

    Certainly it would be tough to argue that the bytecode is the "source code" used for a project. How could bugs be fixed in such code? The GPL requires that source be included. Certainly if it got to court you'd have a tough time telling a judge that the obfuscated code was the source, and trying to present that in response to a subpoena would probably get you jailed for contempt. The GPL is not a machine, and the company involved looks to me to be getting bad advice. You could do the workaround IF you actually planned to use only the obfuscated code, but then your maintenance costs would skyrocket.

  20. One other issue by Xentax · · Score: 2

    While the code MAY be obfuscated, you're still releasing it under the GPL.

    And while it's true that it's "Almost" as useless as reverse-engineered bytecode, it's not necessarily. Someone with the patience and, say, economic motivation, could still retrieve your full codebase, and be perfectly within their rights to do anything with it, including compete directly against the company.

    If you really want to stop this, that's a tack you could take -- try to convince management that there IS a security risk in releasing even the obfuscated code.

    I don't see companies like Microsoft or Cisco releasing even obfuscated source to code they consider valuable.

    Xentax

    --
    You shouldn't verb words.
    1. Re:One other issue by gilroy · · Score: 2
      Blockquoth the poster:

      If you really want to stop this, that's a tack you could take -- try to convince management that there IS a security risk in releasing even the obfuscated code.
      I don't see companies like Microsoft or Cisco releasing even obfuscated source to code they consider valuable.

      But then, as I understand it, they could not use the GPL'd stuff they want to use, since use of GPL stuff mandates making the source code available.
    2. Re:One other issue by Xentax · · Score: 2

      Precisely. TANSTAAFL.

      The "real" problem, of course, is his company's attempt to obey the letter of the GPL but spitting in the face of its spirit. That sounds a bit dogmatic, I know.

      It would be nice if he took a stand on the real issue, but I suspect then he'll have to choose between the ideal and his job. That's what I call a "sticky situation".

      Xentax

      --
      You shouldn't verb words.
  21. defacing of code by gerf · · Score: 0
    there should be a clause about defacing code until it's unrecognizable. this is not cool, it's simply horrifying.

    i can see this being used in bigger cases, such as if aol actually buys some open source o/s, then manipulates it to a disgusting end like this

  22. Using GPL software means submitting the changes by mst · · Score: 1

    Isn't youd company obliged (under the GPL license) to publish any modifications they make, under the GPL license? That would have interesting implications on their plans.

    1. Re:Using GPL software means submitting the changes by Anonymous Coward · · Score: 0

      It all depends on if they're planning to tell anybody outside the company that it was GPL code they started with.

      Many programmers bury GPL'd code within their projects. There's no reason to assume anybody will ever find out. Compiled code is compiled code. Depending on what C compiler it's built with, it can be completely different from what the GPL advocates are looking for.

  23. Free (as in beer) by bringert · · Score: 1

    However unreadable the mess will be, it will still be possible to compile it to the working product.

    This means that you cannot stop people from distributing the product) freely.

    Sure, nobody can modify you program, but they can still use it without paying you.

    1. Re:Free (as in beer) by Anonymous Coward · · Score: 0

      A perfect example of this would be the current Morpheus situation. Morpheus is going to put advertisements into the GPL'd software, and nothing is keeping someone from simply stepping in and releasing a forked version which has all the ads stripped out.

      An obfuscated release of the Morpheus client would make the task more difficult.

    2. Re:Free (as in beer) by spitzak · · Score: 2
      Most likely they can "use the product without paying" by copying the binary.

      You seem to have missed what the point of the source code is. It is not to make the program have zero cost, there are much more effective ways to do that.

  24. From the GPL by BeBoxer · · Score: 1, Redundant

    The source code for a work means the preferred form of the work for making modifications to it.

    If anybody from your firm states in court that the obfuscated version of the code meets this definition, they will be perjuring themselves. Your company is not going to be having the developers maintain the obfuscated code. Any claim that the obfuscated code is actually the "source code" is a lie. Claiming that it is isn't any more true than claiming that your intermediate .s files are the source code.

    Tell your company they should hire better lawyers. And find another job, because your employers appear to be a bunch of dishonest pricks.

  25. GPLing obfuscated code is no good. by cryptic · · Score: 1
    Quote from the GPL:

    The source code for a work means the preferred form of the work for making modifications to it.

    So I guess, this is not going to work. Then again, IANAL, and I don't want to be one.

  26. Do it man. by sinserve · · Score: 2, Funny

    Do the fucking thing your boss says, as long as you
    are not in power, follow orders.

    But as soon as you follow the wrong orders, and
    break the law, you are instantly in power.

    Do your job, get paid, and fucking report them if
    they ever fire you.

    It is a win-win situation for you.

    --

    1. Re:Do it man. by sporktoast · · Score: 2

      Unless, of course, someone else reports your company first. Then you go down along with the rest of of the folks responsible for the project.

      Game Theory.

      It's a matter of which snitch rolls over first.

      --
      In a related story, the IRS has recently ruled that the cost of Windows upgrades can NOT be deducted as a gambling loss.
    2. Re:Do it man. by Anonymous Coward · · Score: 0

      One guy can scrub out all references to the GPL in the original code.

      Nobody else on the team has to know it was GPL'd code to start with.

      Business works like this all the time.

    3. Re:Do it man. by Anonymous Coward · · Score: 0
      One guy can scrub out all references to the GPL in the original code.
      Nobody else on the team has to know it was GPL'd code to start with.
      Then why go to all the trouble to obfuscate the source code?
  27. Three points by theCoder · · Score: 1

    1) Java code is almost inherently open source. You can always decompile the .class code into .java files. There are obfuscators out there that change the names of the variables, etc, but you still have the basic logic of the code (it's just harder to figure out). If your company thinks a competitor wouldn't be able use this, they're probably mistaken.

    2) The obfuscation process, if applied to the source code is essentially another compiliation. IANAL, but I think a lawyer could successfully argue that the obfuscated code is an intermediate step in the compiling process being used and doesn't constitue the original source code.

    3) If the company wants to license the GPL'd code, they should comply with the restrictions and GPL their modifications or derivative works to it. Or, they can simply not license the GPL'd work!. There's a cost involved with everything, this is that cost.

    --
    "Save the whales, feed the hungry, free the mallocs" -- author unknown
    1. Re:Three points by Atrahasis · · Score: 1

      I was about to offer point 2 myself - I would imagine that they are going to automate the process of renaming the various identifiers in the code, and I would have no problem with calling that compiling, and therefore the result would not be source (source == where you start from, not a checkpoitn on the way). Trying to argue that automatically changing code outputs source is like trying to say that compiler outputs source, and would lead to the logical conclusion that if I rename a binary, I can claim it as my own.

  28. the case of the zmodem source code by Anonymous Coward · · Score: 1, Interesting
    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.

  29. What about Assembler? by raynet · · Score: 2

    IMHO you're allowed to port a GPL project to another programming language, eg. C to Pascal. But what if you port it to Assembler? Are you still complying GPL because you distribute the software with .ASM-files created with GCC or some other compiler? Or just dump your executables through de-assembler and claim that those are the source code.

    --
    - Raynet --> .
    1. Re:What about Assembler? by sporktoast · · Score: 2

      Or just dump your executables through de-assembler and claim that those are the source code
      Then spend a bunch of man-hours creating enough fake evidence (work logs, code snapshots, programmers who know ASM on the payroll [and who are willing to perjor themselves], etc.) so that you might have a reasonable chance of proving in court that the .ASM is the code you are actually maintaining.

      "Claim" is one thing, prove is another.

      --
      In a related story, the IRS has recently ruled that the cost of Windows upgrades can NOT be deducted as a gambling loss.
    2. Re:What about Assembler? by Znork · · Score: 2

      If it's the preferred form for modifying the source, you're ok. If you modify the code in another language and then give out .ASM files, you're not ok.

    3. Re:What about Assembler? by IIH · · Score: 2

      IMHO you're allowed to port a GPL project to another programming language, eg. C to Pascal. But what if you port it to Assembler?

      Question: What happens if you port a GPL product from 'C' to language 'I' where 'I' is an internal, never released language. The source in now in 'I', which is the preferred source for editing, but no one else can actually compile it, because there is no available 'I' compiler'. What happens then? Are they required to release the source to 'I' as well?

      Or what if your source contains scripts for internal tools, without which you can't compile the GPL code into the binary? Or if you have to use a certain compiler to get the exact binary as shipped. Would releasing a GPL program compiled with a non-free C compiler cause any issues?

      Anyone care to guess?

      --
      Exigo spamos et dona ferentes
  30. Interesting by mazdak_rezvani · · Score: 0

    This is an interesting dilemma. However, I do not think chaning function names and variables, etc. is a very professional way of going about doing things... sounds like a bunch of university students who want to hand in the same programming project!!! if the savings are only 30%, then you should go ahead and write your code from scratch.

  31. GPL abuses by Anonymous Coward · · Score: 0

    This is another type of abuse:

    I once went to a job interview and when they were describing the product they told: "look at this piece of code, it was taken from tool X - a GPLed highly known tool". Of course their product was not free source.

    It seems to me that this type of abuse if very hard to detect.

  32. Dirty Pool! But also confusing. by Anonymous Coward · · Score: 1, Interesting

    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.

    1. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      They get the benifits of thousands of hours of development for free. What's not to like?

      -J

    2. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      Yes, but people can still get there product for free and it seems to me that the community if willing could un-cloud there code.

    3. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      I see what you are saying. It almost seems like they are getting all of the drawbacks of opensource without any of the benifits.

      Wouldn't there codebase just be made better if people could hack on it?

      -J

    4. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 5, Interesting

      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

    5. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 4, Interesting

      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.

    6. Re:Dirty Pool! But also confusing. by AndyChrist · · Score: 2

      If it is very special-purpose software, it might require alteration to be useful to another organization. If it is unreadable, it would be difficult to alter. So no one would have any reason to copy it.

      Even if that's not the case here, it could happen.

    7. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      Interesting.

      Although, they wouldn't have to recompile every time they could have a bunch, say 100, precompiled and queued up and then just make more when the ran low.

    8. Re:Dirty Pool! But also confusing. by j-pimp · · Score: 2, Insightful

      A lawer could make the argument that the obfuscated source code is not source code as defined by the GPL. It it pretty well stated by the GNU project that the source code of a program is the most understandable and modifyable form of the program. You company is "compiling" this GPL code into a non readable format.

      --
      --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
    9. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 1, Interesting

      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

    10. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      I don't think the passwords are good enough.

      Hot damn, Stallman's gonna be posting on this.

      A note to everyone who thinks that this is the "end of the GPL" -- this incident doesn't really matter. The FSF can upgrade the GPL at will -- remember, when you release something under the GPL, you hand over control of your code to the FSF (something most people don't consider). They fix the license and issue a new version of the GPL. Then you just relicense the code under the next version of the GPL, and everything's good. Yeah, old code can be snatched by companies, but no new stuff.

    11. Re:Dirty Pool! But also confusing. by TrentC · · Score: 2
      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?

      I don't trhink it'll work; you're allowed to create and defend an access-control mechanism that is being used to keep people from accessing your work, not other people from their work.

      Jay (=
      (IANAL, of course)
    12. Re:Dirty Pool! But also confusing. by Anonymous Coward · · Score: 0

      Why? I thought that the GPL was a license and not a document describing language/naming conventions. As such I am under the impression that such a case would be very hard to prove.

      Hell I could write the most obfuscated code in the world and release it under the GPL and you couldn't touch me. Or have I misunderstood your entire reasoning?

    13. Re:Dirty Pool! But also confusing. by rabidcow · · Score: 2

      The GPL explicitly gives permission to modify the source code and redistribute it. If a company claimed to be encrypting the code, they're still explicitly giving you permission to modify it. That includes removing any "copy-prevention" they want to add. (assuming you aquired the source under the GPL, which may not necessarily be the case even if it's available under the GPL)

      (ianal, just a smart ass)

    14. Re:Dirty Pool! But also confusing. by sparkz · · Score: 2
      hen you release something under the GPL, you hand over control of your code to the FSF

      This is not true. The FSF recommend handing the (c) over to them, since that would enable their lawyers to prosecute in event of a violation, instead of you having to fork out your own cash for lawyers. The standard lettering of the GPL license says:

      This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
      (my emphasis)
      So the GPL-abusing company could use it under whatever version of the license they wanted.
      --
      Author, Shell Scripting : Expert Re
    15. Re:Dirty Pool! But also confusing. by WiredPaul · · Score: 1

      The point is not copy-control but run-control. The uneditable/unreadable embedded passwords provide the distributor a means to control just who can run the program. And since you can't extract the password (DMCA) you are forced to pay for it.

      --
      Communication is about content not presentation.
    16. Re:Dirty Pool! But also confusing. by WiredPaul · · Score: 1

      I just came up with an example:

      It is relativly easy (and possible legal for personal use but IANAL) to copy an encrypted DVD. But when you try to make tools to play (decrypt) that DVD without the proper authorization the law gets involved. Given the theory in the above postings, a similar situation could occur when it comes to "Co-opted" GPL'd software.

      --
      Communication is about content not presentation.
    17. Re:Dirty Pool! But also confusing. by WiredPaul · · Score: 1

      But in IANAL theory, once you modify the code it becomes partly yours. At least that's what I always figured about the code that I've added to projects.

      Could that allow for some DMCA shenanigans?

      --
      Communication is about content not presentation.
    18. Re:Dirty Pool! But also confusing. by TheCarp · · Score: 3, Insightful

      The GPL is a license that, when I apply it to my code, says that you may take my code, modify it (or not) and redistribute it. However it places the restriction that you MUST also distribute or offer to distribute the source code for anything you compile my code into.

      This is why the GPL defines what source code is. And source code is HUMAN READABLE. Thast the point of source code. Code that has been preprocessed in some way, even if it is not a machine readable binary, is NOT source code unless it is in a human readable and inteligable language.

      I do believe that this issue is specifically addressed in the GPL (along with a few other situations, which is why the GPL is so damned long).

      This is definitly a violation of both the letter and the spirit of the GPL, and I urge the person who asked this question, or anyone else working for this corperation to blow the whistle on this project. It is a direct attempt to subvert the free software community.

      -Steve

      --
      "I opened my eyes, and everything went dark again"
    19. Re:Dirty Pool! But also confusing. by Spy+Hunter · · Score: 2

      Doesn't the GPL say something about the "Preferred form for modification" of the work? This obfuscated source code would most definitely not be the preferred form for making modifications to the program. I don't see how this case is much different from somebody saying "Well you can get the source to our program by disassembling it, its easy!" Since assembler is not the preferred form for making modification to the program, this argument doesn't work.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    20. Re:Dirty Pool! But also confusing. by SerpentMage · · Score: 2

      While you are determined, I somehow doubt it. Lets say that the project is Linux. The Linux code becomes totally obfuscated, etc, etc. Maybe even there is a pass compiler developed internal to the company that cleans up the code. Would you really go through line by line to simplify the code? If so then no compiled code is safe from you. But I doubt many would actually go through this. Code is only valuable when you can read it and compile it cleanly. The GPL does not cover this situation. The GPL does not say it needs to compile or needs to be readable. Hence I could twist GPL code and mine and give them to you!! Interesting concept nonetheless... So I guess people are starting to get interested in Open Source.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    21. Re:Dirty Pool! But also confusing. by ahde · · Score: 2

      That is a ridiculous ploy on the Free Software Foundation's part, if true. Their lawyers could just as easily defend you pro-bono (or the FSF could agree to pay your lawyers'
      bill)

    22. Re:Dirty Pool! But also confusing. by wickidpisa · · Score: 3, Insightful

      It's not a ploy, it's an assurance. Before the FSF is going to commit money and resources to defending a project, they want some proof that the author is truely commited to Free Software. Authors have refused to persue GPL violations in the past, and the FSF doesn't want to let authors pick and choose who can violate the GPL. They also do not want to defend a project that could potentially change it's liscence and become proprietary software sometime in the future. As long as the FSF holds the copyright that can't happen.

      So while you are right, they could defend people without assigning copyright to them, they are trying to protect the interests of Free Software, and protect hemselves from being abused.

    23. Re:Dirty Pool! But also confusing. by ttyRazor · · Score: 2

      Does thier obfuscation remove the GPL notices and author names? From the sounds of it this guy's company plans on stripping out all comments, although I suppose it would be trivial for them to leave only that part intact.

    24. Re:Dirty Pool! But also confusing. by thomas.galvin · · Score: 1

      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.

      I don't think so...they do not own the copyright to the original source, so they cannot apply the DMCA to it.

    25. Re:Dirty Pool! But also confusing. by Rares+Marian · · Score: 1

      I don't have a problem making money off GPLd code (neither does stallman - FSF sells any GPLd code compiled to any cpu and os for $5000 as will fit a CD).

      I have a problem not being able to fix it.

      That's what most people care about in an age where every word processor seems more and more like a copycat of the last one.

      --
      The message on the other side of this sig is false.
    26. Re:Dirty Pool! But also confusing. by roju · · Score: 1
      And source code is HUMAN READABLE

      lol so are you saying perl code can't be licensed under the GPL?

      good point though. pretty much answers his question.

    27. Re:Dirty Pool! But also confusing. by RLWatkins · · Score: 1

      I like this! The claim that code reformatters violate the DCMA gives us another crowbar with which to overturn the Evil Edifice.

  33. There may indeed be an oversight in the GPL by BadDoggie · · Score: 2
    After looking through the GPL, I can't find any requirement to leave author comments and other information in the source, nor anything that forbids obfuscation.

    My guess is that Section 2a is the only thing that may help here:

    2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    This may allow someone to at least track down what the code was before obfuscation, but I see no requirement to name the source of the original code.

    Worse, Section 3 -- which allows distribution in binary -- only requires the source to be "machine readable". Again, nothing against obfuscation. Section 1 only says you have to keep the copyright notices and references to such as well as the disclaimers in your code.

    I'd like to see what the FSF has to say on this.

    woof.

    Source without comments is like a joke without the punchline.

    1. Re:There may indeed be an oversight in the GPL by Bruce+Perens · · Score: 2
      50 other posts cited the GPL language regarding obfuscation. You aren't allowed to do it. What's left is whether or not you are required to write readable code. If you could prove, during the court discovery process, that you really wrote it that way and that you don't keep comments or a function-name-map in a separate document, you can get away with writing unreadable code. But then you have to maintain it :-)

      Bruce

    2. Re:There may indeed be an oversight in the GPL by Anonymous Coward · · Score: 0

      The burden of proof is on the GPL advocates.

      Any smart developer is just gonna never make one mention of any GPL'd code that's inside his product. The GPL notices can be scrubbed out in a few minutes, then new meaningful label elements substituted, and some of the trivial functionality replaced globally.

      Even other members of the development team don't need to know where the code originated.

      I mean, get real.

  34. Well I would you steal a commercial programs code? by JohnBE · · Score: 2

    For me this is a huge inditement of Microsofts shared source and commercial licenses for code. Why? Well, if you rip of GPL'led code the authors while annoyed if they knew, are not going to be saddened by the loss of income. The bulk of them make money on the packaging, sponsorship, their day jobs or consulting related to the product.

    Now 'shared source', and companies that provide Perl/PHP/JSP code with a commercial license *would* loose income! They don't have any more magic reverse engineering tools than the open source community.

    What you're company is doing is morally very wrong but I don't think it'll kill the GPL as a license but it could have an impact on other ideas such as 'Shared Source'.

    --
    e4 e5
  35. i can sell it to your customers by Anonymous Coward · · Score: 0

    "They will then GPL the obfuscated gobbledygook"

    So once they GPL the obsfucated code - I can then grab a copy, compile it, and sell it to your own customers for less money than you can?!

    Cool :o)

    1. Re:i can sell it to your customers by Anonymous Coward · · Score: 0

      Sure.. but marketing, finding customers and packaging isn't something remarkably instant and easy.
      Anyhow, though, while someone couldn't maintain this crap they produce without running it back through a deobfuscator, it seems like you could still compile it.

  36. Semantics... by gillbates · · Score: 2
    This is little different from those students in my CS classes who would copy code from each other and use a global search and replace to change the variable names...

    When it comes down to it, this is a really sticky question. There are certain algorithms which can only be done efficiently in one way. If I code a linked list in C++, and the optimizing compiler boils it down into the same object code as Microsoft's linked list class, do I owe Microsoft royalties? The source code is different, but it is very possible that the object code would be identical. If object code can be copyrighted, then this would place many open source projects in jeopardy, as they frequently borrow algorithms from the proprietary UNIXes.

    I think a better approach for your company would be to have an analyst read through and analyze the GPL code, and then create something new based on the knowledge gained. Copy the algorithms, but not the code. This "black box" approach would take only marginally longer, and there would be no possibility that all of your code could be forced into open source status. Since the design is already proven with this approach, the only thing you would have left to do is the coding and testing (which should be about 8% of the total project cost.)

    Is your software Complete? If it doesn't come with the source code, it's Incomplete Software .

    --
    The society for a thought-free internet welcomes you.
    1. Re:Semantics... by Anonymous Coward · · Score: 0

      Re-implementing based upon source code review does not free one from IP rights. That is: if one reads a GPL (BSD, MSEULA) source program, and writes new source with the same algorithm, it can be claimed as a derivitive work.


      The same applies to reverse-/de-compiling a binary. Otherwise, one would expect the WINE team (for example) to be wholly obsessed with de-compiling KERNEL.DLL and rewriting it from the decompiled version.

    2. Re:Semantics... by Anonymous Coward · · Score: 0

      There's a difference between code that does the same thing, and code that does something different but achieves the same result. Suppose I want to add five numbers. There are lots of ways to do that. For example:

      for(sum=0,i=0;i5;i++) sum+=array[i];
      for(sum=0,i=5;i--;) sum+=array[i];
      for(sum=0,ptr=array;ptr!=&array[5] ;) sum+=*(ptr++);
      sum=array[0]+array[1]+array[2]+arr ay[3]+array[4]+a rray[5];

      All give the same answer. But some of the above are more efficient than others. That's where the programmer's understanding of the code comes into play. Changing variable names doesn't change the algorithm.

      for(sum=0,i=0;i5;i++) sum+=array[i];
      is the same as
      for(total=0,x=0;x5;x++) total+=numbers[x];
      just with different names.

  37. Let 'em try by Mattygfunk · · Score: 2
    Ok so this isn't the spirit of the GPL. I am fine with it though because despite their best efforts to obfuscate it can be modified back to readable very easily. If their code is worthwhile having for the general community it will get cleaned up and OSS will have a little bit more than they had before. Let 'em try.

    What could they possibly be working on that capable programmers couldn't write themselves? I don't think that this companies attempted theft is really that well thought through.

  38. Don't be so sure. by Anonymous Coward · · Score: 1

    I mean the code is still GPL, just obfuscated. No where in the GPL does it say you can't obfuscate the code. It just says you have to make it avalable.

    1. Re:Don't be so sure. by Znork · · Score: 5, Insightful

      Yes, it does:

      'The source code for a work means the preferred form of the work for making modifications to it.'

      Incomprehensible gobbledygook does not the preferred form make, any more than machine code.

      What a lot of people appear to miss a lot of the time is that the GPL is _not_ one of those 'thrown together in a week' opensource licenses. It was developed over several years, and reviewed and rereviewed by the FSF legal counsel. It doesnt have holes like this.

      Newbie lawyers looking at it for a few hours always misinterpret it. They dont have the technical savvy, nor the persistence to grasp the actual meaning and how thorough the GPL actually is when it comes to accomplishing its task.

      The current MySQL AB/Nusphere legal issue isnt the first court case on the GPL because nobody has tried to violate the GPL before. It's because everyone else has realized they dont have a chance in court, and have given up rather than trying to persue a case which their lawyers have eventually realized they will lose.

    2. Re:Don't be so sure. by kb · · Score: 1
      The current MySQL AB/Nusphere legal issue isnt the first court case on the GPL because nobody has tried to violate the GPL before. It's because everyone else has realized they dont have a chance in court, and have given up rather than trying to persue a case which their lawyers have eventually realized they will lose.
      Yeah, sure. The few thousand non-GPLed programs using parts of GPLed source codes in a way that nobody notices it surely don't count :)

      kb
    3. Re:Don't be so sure. by Anonymous+Brave+Guy · · Score: 2
      What a lot of people appear to miss a lot of the time is that the GPL is _not_ one of those 'thrown together in a week' opensource licenses. It was developed over several years, and reviewed and rereviewed by the FSF legal counsel. It doesnt have holes like this.

      Your faith in an untested document is touching, particularly given the number of informally expressed opinions from lawyers who don't seem to agree with you. (There are even one or two such postings further down this thread, if you care to look.)

      The current MySQL AB/Nusphere legal issue isnt the first court case on the GPL because nobody has tried to violate the GPL before.

      Sure. And no-one from any world security organisation is reading this post, or your e-mail, either. Don't mistake for "not doing it" what is in reality "not getting caught".

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    4. Re:Don't be so sure. by Znork · · Score: 2
      There have been several instances of people and/or companies 'getting caught'. No company or their lawyers have, in more than a decade of GPL enforcement, seen fit to challenge it in court.

      For some good info on how GPL enforcement is usually done by the FSF, read this article.

      'Look, at how many people all over the world are pressuring me to enforce the GPL in court, just to prove I can. I really need to make an example of someone. Would you like to volunteer?' - Professor Eben Moglen - FSF General Counsel

    5. Re:Don't be so sure. by Anonymous Coward · · Score: 0

      Yeah, sure. The few thousand non-GPLed programs using parts of GPLed source codes in a way that nobody notices it surely don't count :)

      They count to the extent that it further demonstrates his point. The GPL is almost certainly legally sound, at least against simple attacks. Of course you can violate it secretly and get away with it, just like if you don't get caught shoplifting you'll get away with that, or if nobody realises that you committed a string of murders you'll get away with that. What he was saying, rather clearly I thought, was that people have failed to sustain legal challenges to the GPL because their legal advice tends to be that they are likely to lose.

      Pointing out that on-going violations tend to be kept secret is entirely consistent with that.

  39. Why did it take so many posts? by fizbin · · Score: 5, Informative

    Why did it take so many posts for someone to point this out? Do people not read the GPL?



    What a day to be without moderator points...



    For those too lazy to read the whole thing, read section three, point #3 very carefully. 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. I would be highly suspicious that your lawyer is insufficiently anal when reading contracts if they missed this.



    As for precedent, can anyone find a discussion of GPL'ed yacc/bison grammars? This would fit exactly the case above - the original source that must be distributed is the .y file, not the result of compiling the .y to a .c file. Unfortunately, I don't think that anyone has ever been tempted to rip off a GPL'ed grammar.

    1. Re:Why did it take so many posts? by asobala · · Score: 5, Funny

      I would be highly suspicious that your lawyer is insufficiently anal when reading contracts if they missed this. Am Not A Lawyer? :-P

    2. Re:Why did it take so many posts? by Sir+Robin · · Score: 5, Informative

      Section 3 also mentions: The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. [Emphasis mine.]

      So, not only do that have to release the unobfuscated code, but they have to release the scripts that obfuscated it. What fun! :)

      --
      My /. ID is only 5,210 away from Bruce Perens's.
    3. Re:Why did it take so many posts? by cheese_wallet · · Score: 1

      Preferred source is sufficiently vague that it could be easily argued against in court, and probably successfully to.

      On a side note, what makes people thing GPL is any more binding than an EULA? I'm asking this in all seriousness.

    4. Re:Why did it take so many posts? by FatAlb3rt · · Score: 1

      It looks like you're in a precarious situation.

      Now you've got a reason why your company should not do this. I assume you'll approach The Man and let him know why this is a "bad idea." With the multitude of arguments that are presented here, it shouldn't be too hard to get him to see your point.

      However, do you have a plan in the case that they still continue full speed ahead? Resign? Notify the FSF? Post anon here again divulging the details?

      Good luck.

    5. Re:Why did it take so many posts? by mpe · · Score: 5, Interesting

      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.

    6. Re:Why did it take so many posts? by PugMajere · · Score: 2, Insightful

      The GPL is "probably" more binding than an EULA, because it is not a software *usage* license, it is a license to distribute something. (i.e, a Copyright license).

      There is nothing other than the GPL (ignoring dual licensed situations here) that allows you to distribute the code and/or binary that resulted from creating a derived work from a GPLed source, so by distributing that code, you must be agreeing to the GPL. If you don't agree to the GPL and still distribute that derived work, you are violating the copyright owner's rights to control distribution.

      That's the argument, and from my point of view (IANAL), it has nothing to do with EULA's. Even companies with paid lawyers manage to get that wrong, in that they sometimes display the GPL as if it were a EULA (i.e, click to "Accept" during the installation or first run of a program...)

    7. Re:Why did it take so many posts? by hconnellan · · Score: 1

      The GLP gives you rights that you would not normally have. i.e. You would not normally be able to take someones source code and modify it to use for your own purposes (copyright infringement).

      EULA takes rights away from you.

    8. Re:Why did it take so many posts? by Eccles · · Score: 1

      On a side note, what makes people thing GPL is any more binding than an EULA? I'm asking this in all seriousness.

      The GPL allows you to do things with the code that you are not legally entitled to do. If you do not accept the GPL, then you have all normal legal rights to the code (which do not including modifying and redistributing it.)

      EULAs, on the other hand, generally try to prevent you from doing things that, sans EULA, you are legally entitled to do. They do not give you an "ignore the EULA and continue as usual" option.

      One is a gift with conditions (that you don't have to take), one is a post-purchase restriction. Very different beasts.

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
    9. Re:Why did it take so many posts? by Anonymous Coward · · Score: 0

      Here's an interesting side question:

      All kinds of anti-IP people here seem to clamor for the day when copyright is reduced to, say 7 years after a work is released. After that the work becomes public domain.

      Does this mean, since the GPL relies on copyright law, that GPL'd work would become public domain, i.e. no longer subject to ANY of the rules of the GPL, after seven years?

      Cool! Shoot yourselves in the foot, geeks.

    10. Re:Why did it take so many posts? by PurpleBob · · Score: 2

      If you're the same AC, you've trolled this before.

      The point of the GPL is that it has the same force as copyright yet the opposite effect. If copyright were limited to 7 years, there wouldn't be as much of a need for the GPL, so there would be no problem with the fact that the GPLed code would have a limited duration.

      Open-source coders would get proprietary code after 7 years; proprietary coders would get open-source code after 7 years. Where does the "shooting yourself in the foot" come in?

      (Incidentally, I think 7 years is too short. 14 years with one optional renewal, as it once was, is reasonable.)

      --
      Win dain a lotica, en vai tu ri silota
    11. Re:Why did it take so many posts? by Joe+Rumsey · · Score: 3, Insightful

      As for precedent, can anyone find a discussion of GPL'ed yacc/bison grammars? This would fit exactly the case above - the original source that must be distributed is the .y file, not the result of compiling the .y to a .c file. Unfortunately, I don't think that anyone has ever been tempted to rip off a GPL'ed grammar.


      Yacc has a BSD license, not GPL, and so this was never an issue at all for yacc. You can do whatever you want with BSD licensed code.

      Bison makes a specific exception to the GPL for the code that it includes in your parser. You can compile your .y file with bison and still use it in a closed source product. This didn't used to be the case, but it is now. Before that happened, everyone who needed to do that just used yacc (or should have!)

    12. Re:Why did it take so many posts? by fizbin · · Score: 1

      I wasn't talking about the licenses on yacc or bison; I'm aware of the Bison licensing exception.

      I was talking about this case:

      Alice produces a .y file describing the rather complicated configuration language to her GPL'ed program. The .y file is itself GPL'ed.

      Bob then comes along and wishes to use a similar configuration scheme in his program, so he "borrows" Alice's .y file, makes a few modifications, and releases his product under the GPL, but, and this is the kicker, doesn't release his version of the .y file, only the .c file produced by Bison or yacc.

      I can't come up with a scheme of motivations that would cause Bob to do this, however, and that may be why there's no precedent of this form.

    13. Re:Why did it take so many posts? by anthony_dipierro · · Score: 2

      On a side note, what makes people thing GPL is any more binding than an EULA?

      The GPL is an EULA.

    14. Re:Why did it take so many posts? by a_n_d_e_r_s · · Score: 1

      Sorry but open source coders would not get the propriatory code in 7 years since there is nothing in the law that says they have to disclose the propriatory source code.

      On the other hand the open source source code can be used by the priopriatory software developers as they please since they will be able to get hold of the code...

      Making the copyright period too short will actually be counter-productive for open source code.

      GPL are dependent on copyright - many seam to miss that.

      --
      Just saying it like it are.
    15. Re:Why did it take so many posts? by GSloop · · Score: 1

      a_n_d_e_r_s is dependant on too few brain cells - and he seams to miss that...

      Your grammer and spelling suck. How about opening up your word processor and spell checking at least a few of those larger words BEFORE posting.

      Reading it before posting too...

      I'm guilty of my share of typo's etc. but this is ridiculous.

      Now, on to a bit ofre on topic stuff.

      >Sorry but open source coders would not get the propriatory code in 7 years

      True, but in seven years, you couldn't continue to use copyright to protect your exclusive right to sell the program. If someone leaked the code, the company wouldn't have any recourse etc. Sure, we might not get source, but that's fine. The basic principal, is that it forces the creator's of works to continue to be creative. Not sit idlely by and milk their one good idea. That might not help OSS, but it sure does help the rest of the world.

      Finally, you would reverse compile the software (provided I don't know how useful this might be...) and the ex-copyright holder again would have no recourse.

      Cheers!

    16. Re:Why did it take so many posts? by cramped+bowels · · Score: 1

      Unless the co. plans to make all modifications for maintainence, etc. to the objufusated code, the unobjufusated code is the preferred form. It is not "preferred source", but rather "Source is defined as the preferred form ...".

    17. Re:Why did it take so many posts? by sh_mmer · · Score: 1


      Your grammer and spelling suck.

      your argument would have been better if you had written 'grammar'.

      --
      Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
    18. Re:Why did it take so many posts? by DavidTC · · Score: 1
      If copyright was set up correctly OSS developers would get the full source code.

      To copyright something, you used to have to submit the entire thing. It wouldn't be that hard to write a law saying when you copyrighted something, nowdays, you had to submit the entire thing. (Now, I can see just making some part of it public, we don't want the library of congress to turn into a way to steal code from everyone. OTOH, if everyone was required to turn over all their code, then there would be a lot less code stealing in the first place.)

      But, anyway, it doesn't matter. 14 year old code is not that useful, as almost none of it is unique. If commercial software hasn't been able to reinvent certain code in 14 years, then I feel pretty sorry for them, and I'll let them have the code.

      Actaully, I think the best way would be to impliment my first idea, require all software distributed whatsoever to have all source code at the copyright office, and all of it dumped into the public domain every three years. Yes, three years, that's all the time you get from writing software.

      But 14 years is a reasonable middle group, and is the shortest I want to go unless commerical software gets the source code dumped into the public domain, not just the binaries.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    19. Re:Why did it take so many posts? by GSloop · · Score: 2

      Oops...

      Pot, meet Kettle!
      [Grin]

      Thanks!

      Cheers!

    20. Re:Why did it take so many posts? by Ryan+Amos · · Score: 2, Insightful

      Nah, you don't need a good lawyer, just a non-tech savvy judge.

    21. Re:Why did it take so many posts? by fishebulb · · Score: 2

      no optional renewel, because its not an option, its a standard, who wouldnt renew it, (yeah a few wouldnt but the vast majority would renew it)

      then there would be renewel laws that allow for a second one etc etc

    22. Re:Why did it take so many posts? by Nathaniel · · Score: 2
      "However, do you have a plan in the case that they still continue full speed ahead? Resign? Notify the FSF? Post anon here again divulging the details?"

      Or allow them to continue with their plans, then help insure they eventually have to release the non-obfuscated code for the entire product, as required by the GPL.

    23. Re:Why did it take so many posts? by cheese_wallet · · Score: 1

      I don't think I've posted that before, and I wasn't trolling. I don't understand trolls.

    24. Re:Why did it take so many posts? by madigan · · Score: 1

      What if the company does not ever modify or work on the _distributed_ version? GPL section 3(a) says that if the company releases a binary version of a GPLd code, the company has to release the "corresponding source code".

      What if, when the company has the code ready to release, they keep a working copy of the source code. Then they add a couple of dummy methods to each source file, obfuscate the crap out of it and then sell that version? The obfuscated version is the preferred form of the _distributed_ version (because the company never intends to modify it.

      Instead, when they need to make modifications, they use the source code one step back in the source tree (without dummy methods)... Ethically dubious, but does not literally violate GPL methinks.

    25. Re:Why did it take so many posts? by Fjord · · Score: 2

      Yeah, and "seems" instead of "seams".
      And "more" instead of "ofre".

      --
      -no broken link
    26. Re:Why did it take so many posts? by sh_mmer · · Score: 1


      Not to mention:

      dependant -> dependent
      typo's -> typos
      principal -> principle
      creator's -> creators
      idlely -> idly

      That would be 8 typos in a post criticizing typos. I think there is a name for people like that, as in people who make some accusation of others before somebody can make it of them. not 'hypocrite' but like a psychological disorder. What the hell is it?

      --
      Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
    27. Re:Why did it take so many posts? by Fjord · · Score: 1

      Slashdot regular?

      --
      -no broken link
  40. Maintainance by Anonymous Coward · · Score: 0

    How are they expecting to maintain the source ?
    If they're going to start off the clean code base
    after releasing the mangled version, then that
    would be a way more easy argument to sue them
    (they could argue that the original cleaned
    source got mangled, but they surely could not
    argue that they needed to get the previous clean
    version, I guess).

  41. There is no loophole by joshv · · Score: 2

    Verbatim from the GPL:
    "The source code for a work means the preferred form of the work for making modifications to it. "

    This gooble-de-gook is by no means the 'preferred form' for making modification, thus it is not source code under the GPL.

    Get another job, this company is going down.

    -josh

    1. Re:There is no loophole by Anonymous Coward · · Score: 0

      Get another job, this company is going down.

      Clearly, the company doesn't subscribe to the OSS model, or any of the precepts that the dot.bombs followed.

      They're in deep shit. Hell, they're probably about to suffer the same fate as IBM, ComputerAssociataes, and Symantec.

      Better bail, dude.

    2. Re:There is no loophole by Anonymous Coward · · Score: 0

      That's a matter of opinion. The lawyer could argue that his company has a great disgust for comments and don't use them, or that employee's "prefer" the random function names and variables, it gives them a challenge and promotes team-building (?).

  42. Oh, you're obfuscating existing code...Gotcha(n/t) by NitsujTPU · · Score: 1

    No Text

  43. Doesn't look legal by D_Gr8_BoB · · Score: 2

    From the GPL:
    The source code for a work means the preferred form of the work for making modifications to it.

    While this obsfucated form of the source is indeed machine-readable, you're going to have a hard time passing it off as the preferred form for making modifications. Seems fairly open and shut to me.

  44. Here's a possibility by PhilHibbs · · Score: 2
    They will then GPL the obfuscated gobbledygook,
    Doesn't the GPL forbid this? (re-reads GPL) Um... it appears not, it doesn't even require that the original copyright notices be included! (or at least, I could not find the requirement)
    1. Re:Here's a possibility by PhilHibbs · · Score: 1

      Okay, I missed the "perferred form" clause.

    2. Re:Here's a possibility by cduffy · · Score: 2

      The GPL requires "appropriate" copyright notices. If you put in copyright notices that claim ownership of someone else's code, they're not appropriate (and also violate criminal law); if you remove them, you're not meeting that GPL requirement and still violating criminal law.

  45. IANAL... by crc32 · · Score: 1

    and so this is NOT legal advice. But here's how the GPL works:

    1. every contributer to the code has a copyright in their seperate piece

    2. everyone who wishes to use the code is bound by the GPL to release their "new version" under the GPL

    3. if you don't do this, or you place more restrictions on the code than expressly authorized by the GPL, the licence becomes void

    4. then you are open to copyright violoation, and the statutory damages that apply.

    Now, what this company is about to do may not feel right, but obsfucation does not seem to violate the GPL. BUT, they will have to go about that obsfucation carefully, and they must release their software under the GPL too. Because of that, I have a feeling that the community will react to decompile their code and rebuild it so that there is a readable version out there.

    Lesson of the day: we need to update the GPL!

    --
    "In order to make an apple pie from scratch, you must first create the universe." -- Carl Sagan, Cosmos
    1. Re:IANAL... by crc32 · · Score: 1

      Ok, the "prefered form" posts appeared while I was typing my comment. The "prefered form" requirement is substantial, but it is definitly something that could go to litigation, with all the less-than-desirable results that will ensue. But it may be the way to prevent this obsfucation abuse.

      --
      "In order to make an apple pie from scratch, you must first create the universe." -- Carl Sagan, Cosmos
    2. Re:IANAL... by spitzak · · Score: 2

      #2: it is not "use" of the code that requires them to release the new version, it is *distribution* of the code. You can take any GPL program and write your own in-house variation with your own proprietery additions, and NEVER release the code, as long as the resulting program is used in-house.

  46. Dirty Pool! But also confusing. by Anonymous Coward · · Score: 3, Insightful

    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.

  47. preferred form for making modifications by babychess · · Score: 0
    The source code for a work means the preferred form of the work for making modifications to it.

    That is from the GPL. Obvious "incomprehensible gobbledygook" is not the preferred form of the work for making modifications to it. It is not source, because it is never modified. Admitted, the GPL is not very clear about what excatly constitutes "source," but this company asserting their obfuscated code is their source which they make changes to shouln't hold in court, in the case if the copyright holders want to pursue this firm. I wonder if the software in question is copyrigted by the FSF.

  48. You company does not have permission by Jamie+Lokier · · Score: 4, Informative

    (BTW, I am not a legal advisor. This is my understanding of the GPL).

    If you are including other people's GPL'd source code in a program which you distribute, then you must abide by the terms of that license. Section 3 of the GPL is precise enough to disallow scrambling the source code:

    1. You must provide the source code of the whole GPL program to your customers, as defined in clauses 3a, 3b and 3c.
    2. The provided source must correspond exactly with the binary that you give your customers. So it must include your modifications, for exactly that version.
    3. The provided source must be in the "preferred form of the work for making modifications to it". That means the source code must be what you actually load into your editor to develop the software. In other words, you must distribute the useful source code.

    There is nothing to stop you changing all the variable names, or the style of someone else's code. However, if you distribute a GPL'd binary then the source you distribute with it must be the source that you prefer to use for modifying the program yourself. You may be called upon to prove this in a dispute.

    For reference, section 3:

    3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

    The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

    If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

    1. Re:You company does not have permission by Anonymous Coward · · Score: 0

      I don't believe that this is the correct interpretation of section 3.

      The purpose of section 3 is to make a distinction between the Program and the Source, to prevent people from releasing the Program (or a set of .o's) as the "Source".

      As such, the phrase "the source code for a work means..." is intended as a definition of the phrase "source code", and it is phrased in terms such that it cannot be misinterpreted as the Program.

      The idea that the source code must literally be in "the preferred form of the work for making modifications to it" is a dangerous one. For instance, if someone creates an application under an IDE, then the preferred method of maintaining that application will be to fire up the IDE, and let the IDE find the appropriate source code files. Under the strict interpretation of the GPL people are proposing here, it would not be sufficient to simply release the source code to this application - all the associated project files that the IDE manages would also have to be released, as they form "the preferred method of making modifications". These files have no functional affect on the application itself, only to the maintenance environment.

      This reading could also be applied to code generators. I could, for instance, wish to maintain a family of device drivers for various operating system, some of which are GPL'd and some of which are proprietary. In order to reduce the maintenance overhead, I could put certain information (such as register locations and widths) into a data file. I could then run a series of code generators to construct target source code for the various supported architectures. My intention would be to not hide or obfuscate anything, so that the output from the code generator would be very human readable. If someone wanted to, the generated code *could* be maintained from the generated source code, and it would be no more difficult than maintaining any human-produced device driver. It would not, however, be *my* preferred method of maintaining the files. I would prefer to modify my data files, since I would be producing more than just the GPL'd drivers. The strict interpretation of the GPL would require me to not simply release the source code, but to also release the data files, and the proprietary tools used to generate the source from them.

      In this case, such an interpretation of the GPL is a tad draconian, and really does nothing to further the cause of GPL'd software. A person in that position would either not mention that the code was generated (a deliberate "violation" of the GPL), or would not release under the GPL.

    2. Re:You company does not have permission by dirk · · Score: 2

      If you are including other people's GPL'd source code in a program which you distribute, then you must abide by the terms of that license. Section 3 of the GPL is precise enough to disallow scrambling the source code:

      You must provide the source code of the whole GPL program to your customers, as defined in clauses 3a, 3b and 3c.
      The provided source must correspond exactly with the binary that you give your customers. So it must include your modifications, for exactly that version.
      The provided source must be in the "preferred form of the work for making modifications to it". That means the source code must be what you actually load into your editor to develop the software. In other words, you must distribute the useful source code.


      It seems like section 2 and 3 can easily come into conflict. In what they are doing, the obfuscated code is the binary given to customers. But they prefer to work (I assume) on the non-obfuscated code. I wonder which section would take precedence? It seems that depending on which section they believe (or is finally determined by lawyers) to take precedence, they can either release the obfuscated code, and keep with section 2, or release the original and keep with section 3, but there is no way to keep with both sections in this case.

      --

      "Information wants to be expensive" - Stewart Brand, the same guy who said "Information wants to be free"
    3. Re:You company does not have permission by Anonymous Coward · · Score: 0
      The idea that the source code must literally be in "the preferred form of the work for making modifications to it" is a dangerous one. For instance, if someone creates an application under an IDE, then the preferred method of maintaining that application will be to fire up the IDE, and let the IDE find the appropriate source code files.

      Yes, but mostly to those who intend to abuse it.

      Under the strict interpretation of the GPL people are proposing here, it would not be sufficient to simply release the source code to this application - all the associated project files that the IDE manages would also have to be released, as they form "the preferred method of making modifications".

      If they are necessary to build the application, yes - note the inclusion of makefiles & build scripts.

      If they are incidental to the particular method of building the application, and/or are generated by the IDE in the process of building the application, then no.

      These files have no functional affect on the application itself, only to the maintenance environment.

      The goal of the GPL, and the requirement in the GPL, is not that you publish source code so that people can see how you implemented the application. The goal is that you publish usable source code & everything needed to build it, so that people can repair, enhance, and rebuild & redistribute the application.

      This reading could also be applied to code generators. I could, for instance, wish to maintain a family of device drivers for various operating system, some of which are GPL'd and some of which are proprietary. In order to reduce the maintenance overhead, I could put certain information (such as register locations and widths) into a data file. I could then run a series of code generators to construct target source code for the various supported architectures. My intention would be to not hide or obfuscate anything, so that the output from the code generator would be very human readable. If someone wanted to, the generated code *could* be maintained from the generated source code, and it would be no more difficult than maintaining any human-produced device driver. It would not, however, be *my* preferred method of maintaining the files. I would prefer to modify my data files, since I would be producing more than just the GPL'd drivers. The strict interpretation of the GPL would require me to not simply release the source code, but to also release the data files, and the proprietary tools used to generate the source from them.

      In this case, you would also need to release your source files before "code generation", and if the code generator is not widely available, you'll need to release it, too. This is precisely the contention with the yacc/bison issue - you have to release the _source_, not the generated file, and notice the specific exception granted is only for the compiler & its normally associated files.

      Like the GPL says (section 5): We're not making you play in our marble game, you're perfectly welcome to take your marbles and go home, but you can't take _our_ marbles and go home.

      If you link to & redistribute GPL code, you must release your _source_code_, including tools to build it, in "the preferred form of the work for making modifications to it". That is the only condition upon which you have rights to redistribute that GPL software.

    4. Re:You company does not have permission by Anonymous Coward · · Score: 0


      It seems like section 2 and 3 can easily come into conflict. In what they are doing, the obfuscated code is the binary given to customers. But they prefer to work (I assume) on the non-obfuscated code. I wonder which section would take precedence? It seems that depending on which section they believe (or is finally determined by lawyers) to take precedence, they can either release the obfuscated code, and keep with section 2, or release the original and keep with section 3, but there is no way to keep with both sections in this case.


      No - there is no conflict.

      The source code is the source code. The build process consists of:
      obfuscate
      compile

      GPL section 3 requires "preferred form for making modifications" and release of source code, scripts that control compilation & installation unless they're part of the OS/compiler:

      The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source
      code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control
      compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is
      normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on
      which the executable runs, unless that component itself accompanies the executable.


      So, they must release the source code and the tools needed to obfuscate it, unless they are normally distributed with the major components of the operating system on which the executable runs.

      No problem.

  49. Nothing to do with GPL. by Anonymous Coward · · Score: 0

    It's illegal to do that with any form of copyrighted work unless the copyright provisions specifically allow that, AFAIK.

  50. My two cents by Dodger_ · · Score: 1

    Okay, this company would be violating the "spirit" of the license, but that's not illegal, so they could probably get away with this. However, there is one thing they do have to be careful with and that's the 30% of the GPL'd code they haven't written but plan on using. If they obfuscate this code and then attempt to claim copyright of it, there could be some big consequences. This is clearly illegal and doesn't involve the GPL at all. I'm also not sure how the system would work if they obfuscated the original 30% GPL'd code but the attributed copyright to the original owner. I'd assume that they'd still get in trouble because the copyright owner of that code did not produce the obfuscated mess. Might be slander or defamation of character(or one of those goofy legal terms).

    But regardless, I think this company is going about things the wrong way. To the original Anon poster of the story, please, let us know when this code is released, I love a challenge and would be happy to go through and un-obfuscate this code.

    --
    Dodger_
    1. Re:My two cents by mpe · · Score: 2

      However, there is one thing they do have to be careful with and that's the 30% of the GPL'd code they haven't written but plan on using. If they obfuscate this code and then attempt to claim copyright of it, there could be some big consequences. This is clearly illegal and doesn't involve the GPL at all.

      It involves the GPL in so much as the GPL is the only thing allowing them to distribute their resulting product in the first place.

      I'm also not sure how the system would work if they obfuscated the original 30% GPL'd code but the attributed copyright to the original owner. I'd assume that they'd still get in trouble because the copyright owner of that code did not produce the obfuscated mess. Might be slander or defamation of character(or one of those goofy legal terms).

      Copyright infringment (the obfuscated version is a "derived work") and fraud would appear to come into matters as well.

  51. Obfuscation -is- a derivative work by mccalli · · Score: 2
    To obfuscate source, one must have source to start with. It follows that result of obfuscation is simply the next version of that source in your particular development tree.

    By obsfuscating all you've done is create v+0.0.1 of whatever you started with in, but in your own fork. That means this alteration is covered by the GPL.

    Standard not-a-lawyer stuff applies.

    Cheers,
    Ian

    1. Re:Obfuscation -is- a derivative work by Anonymous Coward · · Score: 0

      Only problem is, if you want to make any changes to it, you have to work on the obfuscated version from then on, otherwise you're violating the GPL (because then you're obviously not providing what you consider to be the "preferred method" of modifying the work). So the programmer would be in for a tough time if he actually wanted to change anything, which I presume he/she would, because otherwise the resultant product would be identical to an existing opensource product.

  52. A bit shortsighted?? by HiQ · · Score: 2

    So you've either got an obfuscated sourcetree to maintain & bug fix, or you've got two sourcetrees, the internal one and the external one. In either case it's slowing development down, and the change of errors creeping in is increasing. All in all, not a good idea.

    1. Re:A bit shortsighted?? by Thrun · · Score: 1

      Suppose the obfuscated comments and variable names were encryptions of the original ones. Then you could have an editor that allowed you to modify the source code easily, while still storing it in an obfuscated manner.

      Section 3 of the GPL requires you to include the source as well as any tools necessary to install the software but NOT THE EDITOR.

  53. Scum by SkyLeach · · Score: 1

    IANAL comment. This poster is probably just someone making this up (unless he works for the Mafia). Gimme a break: what you are talking about here is just plain scummy.

    And what's the point anyhow? Take the GPL code and compile it as shared libraries. You don't have to open-source your project just because it links to open code.

    It sounds like you just want to start a Llama lynching party.

    --
    My $0.02 will always be worth more than your â0.02, so :-p
    1. Re:Scum by An+Onerous+Coward · · Score: 1

      There should be no difference between linking statically and linking at runtime. If a piece of code cannot function without being linked to GPL'ed (not LGPL'ed) code, then it's insane to claim that the result is not a derivative work of the GPL'ed code.

      That's precisely why the LGPL was created, and why some people choose it instead of the GPL. Were this not the case, the LGPL would never have been written.

      Also insane is claiming that the author is trying to start a lynch mob, when the author didn't bother to tell us who to lynch. Sure, what his employer is doing is scummy, but it's also perfectly plausible.

      --

      You want the truthiness? You can't handle the truthiness!

  54. They may not be doing it for the income by phr2 · · Score: 1
    As a GPL code author I've given up a ton of potential income to spend time writing GPL'd code and contribute to a free codebase. The reward I got was not financial but I valued it just as much--in fact I valued it more, since I chose it in preference to the income. If someone rips off the GPL'd code I wrote, they take that away from me, so it's ridiculous to say I haven't lost anything just because there was no actual cash involved.

    Ripping off GPL'd code is a copyright infringement just like ripping off Microsoft code. I assigned my copyrights to the FSF and I will vigorously assist the FSF in any way necessary in prosecuting GPL infringers of stuff I wrote.

    Keep in mind that if someone willfully infringes a copyright, they can be liable not only for actual damages (the amount of income they cost the copyright owner) but also for statutory damages of up to $100,000 per infringement (i.e. they can have to pay $100K per infringement even if they didn't actually cost the owner anything). So don't do it.

    1. Re:They may not be doing it for the income by JohnBE · · Score: 2

      I'm also a GPL author, GPL has provided me with the cheapest way of imposing intellectual rights and stamping my name on some original ideas without having to set up a company and market it!

      I'm not suggesting that people rip of other peoples code, that is wrong any time. What I am saying is that Free software (note not OpenSource) has lot less to lose than the companies that rely solely on the IP rights of their products and the ensuing protectionism.

      Have you any idea how much legal fees are? My solicitor charges about 10 times what my dentist charges, and thats saying something ;-).

      --
      e4 e5
  55. And then what? by IPFreely · · Score: 3, Informative
    So he reports it to FSF. Then what?

    The primary question of the article was "Is this legal or actionable with respect to the GPL?"
    Even if the FSF knew about it, what could they do? There has to be a clear violation of the wording of the GPL, not just some gut reaction.

    So the question stands: What can be done about this type of situation given what we know?

    If there is something that can be done, then talk about reporting them.

    FWIW: The BSD advertising clause would require at least one comment remain in the code, the original authors name. That would at least give someone a hint as to where the code came from when trying to interpret the "garbage" source.

    --
    There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    1. Re:And then what? by arkanes · · Score: 2

      they'd have to leave the copyright comments in the obfuscated code, too. thats not going to be real helpful, though.

  56. It's a GPL violation, and more by Bruce+Perens · · Score: 5, Informative
    Obligatory disclaimer: This is not legal advice, get another lawyer than the one you've already heard from to give you that.

    The GPL states:

    The source code of a work means the preferred form of the work for making modifications to it.
    That term was written to prevent exactly the sort of obfuscation the attorney is proposing. Obfuscated code is demonstrably not the preferred version for creating modifications. So, what is being proposed is a GPL violation, and your company's attorney missed that part of the license. The talk about incidental resources isn't germane, it actually seems to be intended to confuse, because what is being proposed clearly is a derivative work, and the company attorney is acknowledging that when he suggests that the obfuscated code be GPL-ed.

    But there are simpler remedies than legal ones. If the free software developer community hears about a product using obfuscated code to circumvent the GPL, they will retaliate by creating a non-obfuscated version and using it to compete with your company's product. They are experienced at reverse-engineering, they have excellent tools for code reformatting and analysis, and there are a many programmers who will be angry enough to work on this.

    If your employer wants to unashamedly take advantage, they are simply buying a lawsuit. The free software community does have the resources to bring one - it would probably be brought by law professor Eben Moglen of Columbia University. He wants more legal tests of the GPL, and would love to make an example of your employer. Don't go there.

    Bruce

    1. Re:It's a GPL violation, and more by Anonymous Coward · · Score: 0

      "The talk about incidental resources isn't germane, it actually seems to be intended to confuse."

      ... Which is not a good quality in *any* legal advice, non? Different products, different licenses, different legal principles involved. I can't figure out if the poster is confused, or if the lawyer has just latched onto an idee fixe. At first, I thought that the poster was going to say that his company plans to do a functional description of the GPL'd code, then rewrite it; a practice that is more defensible on a legal, if not ethical, basis.

      In any event, it's a bad sign when a company starts looking for loopholes to avoid paying for basic software tools like IDEs. If they get rid of the coffee makers, run :-) .

    2. Re:It's a GPL violation, and more by rbright · · Score: 1

      But there are simpler remedies than legal ones. If the free software developer community hears about a product using obfuscated code to circumvent the GPL, they will retaliate by creating a non-obfuscated version and using it to compete with your company's product.

      Isn't there an even simpler remedy once the original developer and copyright holder hears about this? As I understand it, under basic copyright law, no one has a right to use the code at all without permission and the GPL stands as a universal license to grant additional rights with certain limitations.

      So, simply revoke the company's license. The developer is still the copyright holder and has complete control over who is allowed to use the code. Revoke the license for this one company only and then they have no rights to the code whatsoever.

    3. Re:It's a GPL violation, and more by Thalaric · · Score: 1

      This is not possible. Once the author releases source code under the GPL, everyone automatically gets a license to use that code (unless they violated the GPL).

      From the GPL FAQ:

      The GPL says that modified versions, if released, must be "licensed ... to all third parties." Who are these third parties?
      Section 2 says that modified versions you distribute must be licensed to all third parties under the GPL. "All third parties" means absolutely everyone--but this does not require you to *do* anything physically for them. It only means they have a license from you, under the GPL, for your version.

    4. Re:It's a GPL violation, and more by Shiny+Metal+S. · · Score: 2
      But there are simpler remedies than legal ones. If the free software developer community hears about a product using obfuscated code to circumvent the GPL, they will retaliate by creating a non-obfuscated version and using it to compete with your company's product.
      Even if that company releasing their code under the GPL would legally and technically make the code perfectly obfuscated (which of course is impossible, as even the IOCCC winning entries are not even near that goal) they have to tell their customers, that they can legally copy and resell it however they want. I don't think that company would love such an idea...
      --

      ~shiny
      WILL HACK FOR $$$

  57. This is an excellent idea. by Lord+Hugh+Toppingham · · Score: 0
    It will either prove once and for all that the GPL is not worth the paper it is written on, OR it will demonstrate to big corporations that they cannot ride roughshod over the open source community.


    I say, keep quiet, let your corportation take the legal flak. At least we can then resolve the legal status of the GPL ONCE AND FOR ALL and then move on.


    Personally its issues like this that make the BSD license seem so much more "free" than the rather more restrictive and viral GPL

  58. I dont think this will work by indecision · · Score: 1
    Few points here:

    Its still GPL'd so I can take your company's product and distribute it for free. Where are you making your money?

    The structure of the code remains the same (else why would it produce the same program), so some sort of pattern matching could be used to compare the code against the body of GPL code out there (it may well be obvious what its based on), and then "factorise out" the GPL code, leaving just the gobbledygooked novel code. Which may, given effort, be de-gobbledygooked, and made public (distributed under the GPL as a derived work). You are left with having no IPR distinguishing your company from the next guy.

    Lesson: Trusting lawyers is dodgy to begin with (there are some ideas for legal rebuttals in the comments already), but dont underestimate the technical solutions either.

  59. CONGRATULATIONS! ... by MartinG · · Score: 1, Funny

    .. on being the one millionth poster to point out the "preferred form" clause! You have won a "Score -1 redundant" moderation. Your prize will be delivered shortly.

    :)

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  60. Let the FSF know by Anonymous Coward · · Score: 0

    If there is FSF copyrighted code for which your company is violating the GPL (duh, yes, this is a violation), let the FSF know. Otherwise, let the copyright holder know and point them to the FSF. There's a reason the GPL has never ('till MySQL v. Nusphere) gone to court, and that's the FSF's skills.

  61. Seems shortsighted by GCU+Friendly+Fire · · Score: 1
    I think I've understood: your company intend to make their own proprietary source for a project, which they will then obfuscate into a form which they will then release under the GPL. Because this is a GPL'd product, it can be freely distributed with source and, more important, can rely on other GPL'd products.

    I see three possibilities here:

    1. They don't intend to maintain on support the software--in which case I think it would be difficult to argue that the obfuscated source they release is "the preferred form of the work for making modifications to it," simply because the company will not have performed any modifications on the gobbledygook code, but undoubtedly will have done so with the original, discarded, clear source.
    2. They do intend to maintain and support the software by modifying the fair source and producing new gobbledygook. In this case they breache the GPL unless they release the source they worked on.
    3. They intend to maintain and support the gobbledygook without ever modifying the original clear code. I think we can assume that they are not so shortsighted, but you never know!
  62. West Law != Law of the West by Anonymous Coward · · Score: 0

    Ask that lawyer if he can sell versions of law books which he has translated into foreign languages without getting approval from the copyright holders. I'll be surprised if his answer does not begin with "Of course not...".

    There also are protections for translated code. Just because your company can easily produce an assembly language translation of MS-Office code does not mean that you can use it.

    1. Re:West Law != Law of the West by fishebulb · · Score: 2

      good point, i like that example. but the MS one could be debateable, if you are actually rewriting it in assembly, could be a bit different, but who knows about other restrictions on viewing the code in the first place

    2. Re:West Law != Law of the West by cpt+kangarooski · · Score: 1

      Although it is worth noting that government works, such as statutes, regulations, and opinions are uncopyrightable.

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
  63. Selling GPL Software by Anonymous Coward · · Score: 1, Informative

    Lets just look at the resulting software and ignore the mentioned source code issues.

    The end software product binary is GPL licensed.
    This means 1 person can buy it, and give it away to everyone else, as he is entitled to under the GPL.

    Since you are giving away no cost software, what do you expect to gain from hiding the source.

  64. Look to the Tactics by ptrourke · · Score: 2

    Your company's tactics are clearly intended to violate the spirit of the GPL: to make the code unusuable. Usually when there's a violation of the spirit there's also a violation of the letter.

    Incorporating code is NOT incidental use, by the way. Frankly, I don't see how the license of any tool can enforce a license on code (or text) that was created with it as a tool (e.g., a license on emacs couldn't force you to copyleft a novel you wrote on it), because the created code/text doesn't incorporate copyrighted intellectual property of the creator of the tool. But in your scenario, you ARE incorporating someone else's IP in your project, creating a derivative work, and so are guilty of violating the copyright on that IP - unless you follow the license.

    Compare it to a translation: you are reproducing the meaning of the GPLed code with different words, which after all is what translation is. A translation of a copyrighted work must be licensed by the holder of the work's copyright.

    If you (note that I said you, not your company: the moral responsibility here is the programmers', not the suits') do not want to follow the spirit of the GPL, I'd suggest looking for similar code that isn't GPLed but has a license that does not "contaminate" derivative works. If you can't find any, then you should take the 30% hit and write your own code. If it's such a lucrative project, and if the distribution of clear source code would represent a threat to your profit stream from the product, I would think you would be willing to accept such an expense to protect your own intellectual property - because if you violate the GPL and get caught, you could lose it all in court.

    I am not an attorney, and the above does not constitute legal advice. You might want to ask an attorney of your own for advice, as you may find yourself caught in a situation in which you will be making yourself liable for the actions of your company.

  65. I think you should... by TrebleJunkie · · Score: 1

    ... name your company. The unsuing bad press will put a stop to that right away.

    --

    Ed R.Zahurak

    You know, oblivion keeps looking better every day.

    1. Re:I think you should... by TrebleJunkie · · Score: 1

      Uh... "ensuing," even. (And that's probably spelled wrong, too.)

      --

      Ed R.Zahurak

      You know, oblivion keeps looking better every day.

  66. Obfuscated code isn't source code anymore by marsvin · · Score: 1

    Surely obfuscated code is equivalent to object code: it's only useful to the computer, not to programmers. (In ye olde days, obuscated code was actually used to distribute code that couldn't easily be reverse engineered, but still could be easily used on different platforms.)

    The GPL requires you to make the source code available. Surely distributing obfuscated code is not good enough. You should definitely notify the FSF - if they know, then this won't go unpunished.

  67. read though cowardly by Anonymous Coward · · Score: 0

    isn't this what apple did with X?
    software should not cost more than hardware and
    we are seeing that logical proposition being played out. No one likes computer programers anyways, they now know that they bitch about coding. C'm onm peeps can't you see that software's run is almost over? It's so much harder to steal hardware. Logically from the beging, it should cost more than harfware. There's no GPLing my cellphone! We've won. We did it. Long live hardware! Yes! I can't belive it.

  68. I believe it's a violation by Anonymous Coward · · Score: 0

    I can't remember exactly where (can't find it in the GPL FAQ right now) but Stallman said that the code you distribute has to be the code that compiles to the binary you distribute. If you can't feed the code directly to a compiler then you are violating the GPL.

  69. Obfuscation Is A Red Flag by Anonymous Coward · · Score: 1, Insightful

    Of course, now every Slashdot reader knows what is happening if they get obfuscated source code of a GPL program. Obfuscated source code is an announcement that they are violating the GPL, so they'll be caught quickly.

    1. Re:Obfuscation Is A Red Flag by h2odragon · · Score: 2
      Caught, drawn, quartered, boiled, diced, ... and the chunks jumped up and down on until they say "sorry".

      Or possibly the code in question will never have another public release. Fork 'em all.

  70. Re:The truth about windows by Anonymous Coward · · Score: 0
    Well, YOU CAN'T DO that in "Windows 2000 based on NT technology". Two programs can't access the same file! You have to wait until all of the file is downloaded and THEN play it.

    Of course you can you dork! What the hell were you doing?

  71. You don't understand the spirit then. by Chris+Burke · · Score: 5, Insightful

    I don't see how this violates the spirit of the GPL, since there are no provisions in it for the quality or readibility of code.

    The "spirit" of the GPL is about being able to make modifications to the code. That is one of the rights that the GPL is trying to preserve. It isn't just about being able to get a free copy of the code you can compile (and if you're lucky for different platforms).

    As at least a dozen other posts under this article have already said, there is language in the GPL providing for quality -- or at least editability. The source must be in the "preferred form" for editing. Because releasing a .asm file that is just the disassembly of your binary isn't very useful for preserving the right to modify the program. Neither is deliberately and cleverly obfuscated source.

    The authors of the GPL understood that "openess" depended on at least the level of usability that was present when the code was written. Hopefully we've cleared this up (and this guy's company lawyer has been sacked).

    --

    The enemies of Democracy are
    1. Re:You don't understand the spirit then. by KGIS · · Score: 2, Informative

      But who gets to decide what the preferred form is? Wouldn't that be open to some interpretation? It is obviously the form that the company in question would prefer you to have.
      I know that this is not the same but if I want to edit your GPL program in APL (my preferred form) but it is only available in C does that mean that you are violating the GPL? Does the original author always get to decide what the preferred form for all future uses of the code is? In some ways that doesn't seem very open to me.

    2. Re:You don't understand the spirit then. by earlytime · · Score: 4, Insightful

      from the GPL:

      "The source code for a work means the preferred form of the work for
      making modifications to it. For an executable work, complete source
      code means all the source code for all modules it contains, plus any
      associated interface definition files, plus the scripts used to
      control compilation and installation of the executable. However, as a
      special exception, the source code distributed need not include
      anything that is normally distributed (in either source or binary
      form) with the major components (compiler, kernel, and so on) of the
      operating system on which the executable runs, unless that component
      itself accompanies the executable."

      I interpret this to mean something equivalent to ASCII, depending on platform. Or the form of source that is usually sent to the compiler, or the form of source that the (original) developer is accustomed to working on. In other words, C source code, not XORed EBCDIC, nor a JPEG of the ASCII source, nor a stereogram, nor a t-shirt with a poetic interpretation of the algorithm used(ala DeCSS).

      IANAL, so it's really up to a judge to decude what exactly this means. But i think that obfuscated source is just as good as well-documented cleanly formatted code for satisfying the GPL. Obviously the clean source is preferred, but not required.

      --

    3. Re:You don't understand the spirit then. by angel'o'sphere · · Score: 1

      Well,

      look at the situation from this side:

      The company takes GPLed code, lets call it BASE.
      The company adds a hughe amount of code, lets call it ADDITION.

      BASE and ADDITON is compiled and obfuscated.

      BASE and ADDITION is released as binary and obfuscated source under GPL.

      Where is the problem to deobfuscate BASE and all references in ADDITION to BASE also? The original BASE code is still available, a simple pattern match will do it.

      Then only the true additions in ADDITION remain obfuscated.

      This is still not in the spirit of the GPL, but ... can you point out some companies producing code which are living from the code they create?

      Except cygwin I don't know any. (RedHat, VA Linux -- now VA Software -- and others all provide service or 'sell' code they have mainly not produced themselves)

      The GPL is simply not suitable to encaurage commercial code production, it only is able to encaurage service and related usages.

      If you like to see BASE in commercial applications release it under LGPL. If you like to prevent the obfuscation, you need to add an anti obfuscation clause to the GPL.

      Regards,
      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:You don't understand the spirit then. by Chris+Burke · · Score: 2, Insightful

      Wouldn't that be open to some interpretation? It is obviously the form that the company in question would prefer you to have.

      No, it's the form that the company in question would prefer itself to have. What is preferred is demonstrable by their programming practices.

      I know that this is not the same but if I want to edit your GPL program in APL (my preferred form) but it is only available in C does that mean that you are violating the GPL? Does the original author always get to decide what the preferred form for all future uses of the code is? In some ways that doesn't seem very open to me.

      Good question. I think the answer is -- if the author wrote it in C, he can distribute it in C. If you convert it to APL, your can redistribute it in APL.

      --

      The enemies of Democracy are
    5. Re:You don't understand the spirit then. by Chris+Burke · · Score: 2, Informative

      Obviously the clean source is preferred, but not required.

      But preferred is what the GPL requires.

      There can be some interpretation, but the clause states preferred form for modificaton, not compilation. Obfuscated source will still make the compiler happy, but not anyone who has to change the code. That the -company itself- would not make modifications to the code in obfuscated form would clearly indicate what the "preferred" form is.

      --

      The enemies of Democracy are
    6. Re:You don't understand the spirit then. by earlytime · · Score: 2

      oh shut up ;-)

      that's 2 different definitions of "preferred" in one conversation. The first preferred is in the license, referring to the form, but not the style.

      the second is my own preferred, referring to the "preferred style" of code, in it's required form.

      --

    7. Re:You don't understand the spirit then. by Chris+Burke · · Score: 2

      No, -you- shut up!

      *little girl walks into room* Why dont you... both shut up !

      Anyway, I'm not sure that the two "preferred"s are actually different. I believe that in the license, it can very well refer to the style. As I said, it's preferred for modification, which implies human use. So what would a human prefer?

      It can be argued either way (what can't, when it's lawyers doing the arguing?), but I think there is a good case for obfuscation being a violation.

      --

      The enemies of Democracy are
    8. Re:You don't understand the spirit then. by Ioldanach · · Score: 1

      (from gpl)the preferred form of the work for making modifications to it

      Obviously the clean source is preferred, but not required.

      No, what's required is the form of the code the programmers prefer to use. If this goes to court, the question will be "Do your programmers work with the obfuscated code or the non-obfuscated code?", and the answer will make all the difference.

    9. Re:You don't understand the spirit then. by earlytime · · Score: 2
      yeah, it definitely comes down to the definition of "preferred" in the GPL. Generally contract law comes down to the applicable definition of a word. I'm sure RMS and Eben Moglen would have alot to say on this subject. ;-)

      --

    10. Re:You don't understand the spirit then. by Anonymous Coward · · Score: 0

      MySQL

    11. Re:You don't understand the spirit then. by Anonymous Coward · · Score: 0

      "Spirit" don't mean shit without the words in the license and the law to back it up.

    12. Re:You don't understand the spirit then. by Chris+Burke · · Score: 2

      The GPL has the words. The whole thing is words designed to protect the ability to modify programs.

      Law it doesn't have, because of a lack of precident. That could go either way, and as you uninsightfuly observered, is rather important.

      --

      The enemies of Democracy are
    13. Re:You don't understand the spirit then. by SerpentMage · · Score: 2

      Here is the sentence from the GPL...

      >>The source code for a work means the preferred form of the work for making modifications to it.>For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

      My source code is source code A transformed into B. A is not a script, nor an IDL, it is a transformation. Hence I am not required to distribute the originals. I am only required to distribute the transformation results.

      I think there are loopholes...

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    14. Re:You don't understand the spirit then. by Chris+Burke · · Score: 2

      My source code is source code A transformed into B. A is not a script, nor an IDL, it is a transformation. Hence I am not required to distribute the originals. I am only required to distribute the transformation results.

      I'm pretty sure I don't understand what you're saying here. A is a transformation, but it is transformed into B? How do you transform a transformation? More to the point -- what do you edit, when you're changing your code?

      --

      The enemies of Democracy are
    15. Re:You don't understand the spirit then. by UncleFluffy · · Score: 1

      My source code is source code A transformed into B. A is not a script, nor an IDL, it is a transformation. Hence I am not required to distribute the originals. I am only required to distribute the transformation results.

      If the transformation is an automatic process (e.g. an obfuscator) then the "source" is the input to the obfuscator, even if there are other tools (compiler etc) further down the chain.

      "Source" equals "the bits that the humans generate"

      --

      What would Lemmy do?

  72. You Won't Ever Work In This Bazaar Again! by Anonymous Coward · · Score: 0

    "I see on your resume that you were a programmer for Obfuscanium Unlimited. I've seen the gobbletygook code which you write, and I'm not interested in hiring anyone who writes such junk."

    1. Re:You Won't Ever Work In This Bazaar Again! by Anonymous Coward · · Score: 0

      Who cares? Nobody is paid in the Bazaar anyway.

      It's all just a meritocracy. And who's ever been able to buy a sack of groceries with merit?

  73. No infraction until release by cduffy · · Score: 3, Informative

    Until they actually release this code, there's nothing the FSF (or anyone else) can do. Talking about copyright violations isn't a crime, and there's a good chance management will come to their senses. As long as these people don't do anything immoral, I don't see anything wrong with working for them.

    Threatening mass resignations from engineering, btw, is one tactic I'm currently seeing used to prevent a GPL violation at another company. Buyer's market though engineering talent may be right now, I expect it'll be effective -- turnover is just too expensive. Quitting right away (as soon as idea is raised) -- simply put, why?

    1. Re:No infraction until release by Glytch · · Score: 2

      Talking about copyright violations isn't a crime, and there's a good chance management will come to their senses.

      Might not this whole mess be considered a conspiracy? IANAL, of course.

    2. Re:No infraction until release by cduffy · · Score: 2

      You can only conspire to commit a crime. What they're proposing is a civil infraction rather than a criminal one. Hence, conspiracy charges are inappropriate. (IANAL either).

    3. Re:No infraction until release by anthony_dipierro · · Score: 2

      What they're proposing is a civil infraction rather than a criminal one.

      Copyright violation can be a criminal offense. The chances of actually getting prosecuted are next to nothing, but it is theoretically possible.

    4. Re:No infraction until release by Anonymous Coward · · Score: 0

      Wow. "Conspiracy to commit copyright violation." Holy cow.

  74. So... obfuscate the compiler by anti-snot · · Score: 1

    1) Take a copy of gcc 2) Use your power of the source to fiddle with it, so that it isn't *quite* ANSI C compatible anymore. 3) Port the GPL'ed code you want to 'steal' to the new, gonzo implementation of the compiler. 4) Compile it, release the code and source together as per the GPL. Document nothing. ...at this point, you are not bound to release the code for your modifications to GCC unless you release a binary of the compiler yourself. Or does my logic have a hole here?

  75. Maintenance issues by Alien54 · · Score: 2
    Who around here would want to do code maintenance or . debugging, etc on a complex code project that is as described.

    The documentation just to track down the actual use of the variables, etc etc etc will be insanely complex.

    Never mind the poor sod who has to go through it after and figure out what it does.

    They have saved money on development issues, and transferred them out to Tech support isssues, thereby multiplying the costs.

    Of course, to gain all of the legal benefits, they would probably have to erase all of the connections to the source as it was.

    --
    "It is a greater offense to steal men's labor, than their clothes"
    1. Re:Maintenance issues by gorillasoft · · Score: 2

      Who around here would want to do code maintenance or . debugging, etc on a complex code project that is as described.

      You do the maintanence on the code that is not obfuscated, then you obfuscate it when you actually publish it. You just permanently save the clear code (which you wrote in the first place) for doing your mods, while only compiling and releasing the obfuscated mess. You don't ever even need to look at the obfuscated code - you only use it for compiling and public release.

    2. Re:Maintenance issues by Alien54 · · Score: 3, Insightful
      You do the maintanence on the code that is not obfuscated, then you obfuscate it when you actually publish it. You just permanently save the clear code (which you wrote in the first place) for doing your mods, while only compiling and releasing the obfuscated mess. You don't ever even need to look at the obfuscated code - you only use it for compiling and public release.

      I recall a friend of mine who worked on a project that was designed obfuscated in the first place. Var names like vEh45c01, etc.

      all proprietary, all aobscure, god forbid if the guy who designed it were to have an accident.

      That said, would keeping the clear code represent a legal obligation? Since after all, the clear code is really the source, not the obfuscated stuff that you compile from.

      --
      "It is a greater offense to steal men's labor, than their clothes"
  76. Newbie question by Bish.dk · · Score: 1

    Who is actually responsible for making sure that someone who abuses the GPL is punished?? Is it the original creator? How complicated would it be to prosecute a violation? What about salaries for lawyers if that is needed??

    Henrik

  77. wow, what a great way to justify STEALING by jp_fielding · · Score: 1

    i'm going to go down to my local electronics store, grab a dvd player, scratch out and replace the serial number and explain to security guard on the way out why it is now mine. if he doesn't understand, i'll direct him to your company lawyer.

    i can see your dilema, if you have any other recourse for ethics violations, i would definately attempt that route. it looks like you have two choices, protest and get fired, or go under with the company WHEN it loses the impending lawsuit.

    it's bad enough to steal from a faceless profiteering corporation, but from GPL. You might as be out kicking homeless people and stealing from little children.

    i hope when this is all over all that is left of your company (if they continue) is your two weeks notice and it's burning cinders.

    good luck

  78. Wistleblow by Martin+S. · · Score: 2

    I'm not trying to snitch on my company

    Well perhaps you should! If they are prepared to use such extrodinary lengths to f**k somebody over for their own profit, do you really want to work for them ?

  79. BS by eean · · Score: 1

    This is the GPL, not some Microsoft shared-source crap. Usablity is a big part of it.

    What the company is doing goes againist the spirit of the GPL, IANAL so I don't if it goes againist the letter. Since they are distributing the code they are compiling it looks OK, but they are not distributing the code they are using. Also, GPL usually has a provision to let FSF update the license if it wants to. It would be hard to write an anti-obsucation clause I imagine. Perhaps a provision againist a private version and a public version of the code?

    Also, if obsucation of code really worked, I imagine we would see it a lot more since there are advantages of source code. Companies wouldn't have to go through the hassle of providing many versions of a binary if they didn't have to. Granted, this line of "not yet done, so it can't be done" thinking is often flawed.

  80. Couple of points... by Noryungi · · Score: 4, Insightful

    IANAL, etc... etc... yadda, yadda, yadda.

    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.


    Here is my take:
    • Doing this would be a sure-fire way to royally anger every sane-minded person out there. No legal action possible, of course, but a lot of ill-will, screams, flames and gnashing of teeth, especially if said GPL'd code includes volunteer work (which you seem to imply). Boycott of the company's product seems a logical conclusion.
    • What can be done in one way, can be done in the other way. If the project is interesting, and if volunteers are angry enough, they may well go through the code with a fine comb, clean it, insert understandable variable names, comment and generally un-obfuscate. Not an easy task, but one which is possible if motivation is high. See previous comment.

    Other things to take into account:
    • Never understimate the power of UNIX text-processing tools. Perl, awk, Python and sed are your friends in this kind of GPL obfuscation. Again: if the motivation is here, and the project justifies it, the code will get cleaned-up. Even if the obfuscation reaches magnificent levels of deviousness and evil, the "Open Source" community will provide an alternative.
    • If the code is un-obfuscated (or an alternative is provided), I am sure a lot of companies and institutions who care about GPL would gladly host the project. Add a storm of negative comments and, bingo! code fork and instant (open/GPLed) competition... Your business is cooked and your revenue stream is dead,a nd I mean dead, since people will make a point of boycotting your products. Think SSH/OpenSSH. And (here is the nice part) there is nothing your company can do about it anyway... It's GPL code, remember?

    Conclusion?
    Bad idea. VERY bad idea. Release code under GPL, play nice, and nobody gets hurt... (wink! wink!) ;)

    IMHO, any company who tries that kind of stunt is going to end up on the trash-pit of dot-coms faster than you can say "GNU General Public License".
    --
    The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
    1. Re:Couple of points... by Asic+Eng · · Score: 1
      Never understimate the power of UNIX text-processing tools.

      Well, they would presumably use some sort of lossy obfuscation, i.e. naming all their variables x0, x1, x2... xn, removing all comments etc. Since that info is lost, it can't be extracted with any sort of text processing anymore.

      It's possible though, that some damage of obfuscation might be removable.

    2. Re:Couple of points... by Anonymous Coward · · Score: 0

      Well, they would presumably use some sort of lossy obfuscation, i.e. naming all their variables x0, x1, x2... xn, removing all comments etc.

      Or they could just use the easiest method of obfuscation. Write. Compile. Decompile. You might as well have the binary, at that point.

  81. slashdot != legal advice by digitalmuse · · Score: 2, Interesting
    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 . 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.
    --
    "If I wanted your input on my pet project, I'd stick my hand up your ass and use you like a sock-puppet." - Muse
  82. Re:The truth about windows by invenustus · · Score: 1

    Correction: you can't do that in Windows Media Player.

    Winamp and any other quality Windows application will be happy to play a file as it downloads.

    --
    grep -ri 'should work' /usr/src/linux | wc -l
  83. Whistleblowers, form a line here by Anonymous Coward · · Score: 0

    If the company sells a copy to, or someone gives a recompiled copy of their work to, the federal government...does the Whistleblower law apply, so employees can sue their own company? Or does violating a copyright-connected license qualify as a Whistleblower-enabling violation in itself?

  84. Re:The truth about windows by Anonymous Coward · · Score: 0

    Correction: you CAN do that in Windows Media Player!

  85. +1 Funny on the MQR standard by MarkusQ · · Score: 2

    asobala writes: I would be highly suspicious that your lawyer is insufficiently anal when reading contracts if they missed this.

    Am Not A Lawyer? :-P

    *laugh* I'd mod you up if I had points.

    -- MarkusQ

  86. Yes, I know about legal fees by phr2 · · Score: 1
    That's why I assigned copyright to the FSF, which has more resources than I do to prosecute infringers, plus they have good legal representation already--good enough that they haven't yet had to sue anyone. They've gone after numerous infringers over the years, and been able to convince each one to comply with the GPL rather than get sued. But someday they'll have to sue. At that point, one hopes the statutory damage awards will cover the legal fees and pay for some good new software development as well.

    Mainly though, I object to the claim that Free software authors have less to lose than software companies. They lose something different, but I don't consider it "less". To consider it "less" means worshipping dollars over everything else.

    1. Re:Yes, I know about legal fees by JohnBE · · Score: 1

      How do Free Software authors operate, what are their motivations?

      How does 'shared source' operate, what is Microsoft's motivation?

      Who has the most to lose from someone ripping off their code?

      If a GPL'd program is ripped off, the author is pissed off, the FSF is up in arms and the Free Software community vocally makes this point clear. Microsoft is ripped off and they lose part of what their business is based upon, the monopoly to supply a product.

      See my point? Who has less to lose? A pissed of programmer or a the company that may have to lay people off, split stock and change strategy to cope?

      I can understand a 'project' in its entirety, such as Apache, having more to lose, but your average individual Free Software author has far less and has the odds stacked in their favor with the support of the FSF and tens of thousands of Free Software advocates.

      --
      e4 e5
  87. Somebody read, then MOD the parent thread up. by WiredPaul · · Score: 0, Offtopic

    Mod the above conversation above up.

    I'm gonna go hide in my basement.

    --
    Communication is about content not presentation.
  88. regardless whether its legal.... by gladbach · · Score: 1

    I am willing to bet it more or less *is*

    but to still do so, is not a good idea. why? because when they release this b#llsh&t code open source, everyone will immediately pick up on what they did. This will only make them a HUGE amount of enemies, be VERY bad PR, and will probably get them sued regardless, and have everyone gunning for them.

    sure, they could probably do it. but can they afford to?

    --
    "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms,
  89. So rat em' out then ... at least to start with by Zero__Kelvin · · Score: 2


    I recommend using an anonymous re-mailer to rat them out to all newsgroups where people might have a say in purchasing or not purchasing their product. It won't stop all sales, but at least it will reduce the fruits of ... ahem ... their .. labor.

    That being said, if I take the latest published book and substitute all 'variable names' by changing ... for example ... 'one' to 'uno' and 'two' to 'dos' (sic?) I am clearly violating the copyright if I am not mistaken (IANAL.) This doesn't seem fundamentally different from that. In the end the binary is the 'interpreted' output of the work. If ... in the end ... they say the exactly same thing, hiding behind the fact that it looks different to the untrained eye doesn't change the fact that it is clearly the same to the trained eye. If I don't speak Spanish I may think it is a completely different book, but if I know, or learn Spanish it becomes clear that the work was plagerized (sic again?)

    So as I see it, that is where they are going wrong. Software is copyrightable, and they are plagerizing.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  90. Detecting GPL Violations by scruffy · · Score: 2
    I do not recommend that anyone try this at home (or at work), but it doesn't seem so hard to integrate GPLed code into a proprietary product so that it is nearly impossible to detect. You wouldn't have to obfuscate the code, only do obfuscation at the compile stage so that identifiers in the code don't appear in the executable. I would think companies might do this anyway to make it harder to reverse-engineer their code. There are a few other things to think about.

    One problem is to ensure that anything that is printed out looks different from the GPL version, which would be simple enough, though tedious.

    Another problem is integrating new versions of the GPL code into your product.

    I think the biggest problem is keeping it secret. Obviously, in this case, the company is not doing this part very well. It shouldn't be too hard for this anonymous coward to leak the info without becoming a primary suspect.

    Again, this stunt should only be performed by trained professionals. Do not this try at home, kids.

  91. Re:The truth about windows by Anonymous Coward · · Score: 0

    >Two programs can't access the same file!

    Oh really! How come databases, web servers and network shares all work under 9x/NT/2000 then?

    You are a grade-A fuckwit. Please get a friend (or your mom if you don't have any) to slam your head in a door until you pass out!

  92. The AC's company is M$ by mangu · · Score: 1

    Which other company has thrown more FUD against the GPL? They are dead set on proving the GPL is anti-american, atheist, and totally devoid of redeeming social value.

    1. Re:The AC's company is M$ by Jeremi · · Score: 2

      I doubt it.... if Microsoft wants to bury the GPL, why would they use it and risk (a) giving it credibility, or (b) reinforcing their image as a bunch of cheaters? It's not as if they can't afford to write their own code...

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
  93. Grow a pair by hrieke · · Score: 2

    IMHO
    If they do, whistle blow.
    Accept the fact that they - the company that you work for - is looking for every advantage that they can find, and if it means that they can abuse the GPL they will. Any and every advantage. You have a moral and ethical problem, and you need to figure out what is more important to you (job or karma), and what the ramifications are for your actions. I would certainly talk to the orginal developers about your company's plan to co-op their code as well, and hire a lawyer of your own.

    --
    III.IIVIVIXIIVIVIIIVVIIIIXVIIIXIIIIIIIIVIIIIVVIIIV IIVIIIIIIVIII...
  94. Just my 2 euro cents by Anonymous Coward · · Score: 0

    - Speaking only for myself, here. I would resign immediately, and report the abuse to the FSF.

    Ditto.

  95. The moral high ground by MarkusQ · · Score: 2
    but taking the moral high-ground can be fairly costly and not always easy to do.

    True. But it's often cheaper & easier in the long run than living with the knowledge that you should have done something and didn't.

    I'm not saying that quiting is the right thing to do; I'm saying that he should do what ever he desides to be "the right thing," be it ever so hard or costly, with out regard to cost or consequence.

    -- MarkusQ

  96. news at 10! programmer discovers lawyers immoral by Anonymous Coward · · Score: 0

    In other news, programmer looses job after the CTO realizes which programmer exposed their immoral, but highly profitable business plan. When asked, the CTO said, "hey we can make money off other people's work. American is great!"

  97. Academic licenses for _development_ by Galen+Wolffit · · Score: 1

    Having used academic licenses in the past, my experience has been that the licenses generally prohibit _use_ in commercial environments, whether the final compiled binary is built in the academic licensed IDE or not. Or, they prohibit _development_ of applications for commercial use. I believe Borland's academic licenses have, in the past, specifically prohibited the loophole you describe.

  98. The GNU GPL has a clause against this by yerricde · · Score: 3, Informative

    It would be hard to write an anti-obsucation clause I imagine

    Not that hard; in fact, it's already been done. The GNU GPL, section 3, states: "The source code for a work means the preferred form of the work for making modifications to it." I don't think any reasonable U.S. district court judge would consider robo-obfuscated C to count as the "preferred form" for that purpose. See #3117740 for another explanation.

    --
    Will I retire or break 10K?
    1. Re:The GNU GPL has a clause against this by Jon+Peterson · · Score: 2, Insightful

      I don't think that counts for much.

      What if a bunch of Burmese programmers take the Linux kernel and convert all the variable and function names and comments to Burmese (which should make it easier for them to work on). Then, after adding all sorts of whizzo features, they release UltraLinux and sell it in the US. Since it's GPL'd they obviously release the source too.

      Would this contravene the GPL?

      It's such a hopelessly grey area I don't see any legal weight behind that statement in the GPL. They are going to have to add something much more explicit, but good luck finding something that works.

      This is all certainly against the spirit of the GPL but I don't see that it's against the letter of it.

      --
      ----- .sig: file not found
    2. Re:The GNU GPL has a clause against this by DavidTC · · Score: 1
      The only logical possible way to interpet 'preferred' is to make it mean 'the language that the distributer itself uses'. If this GPL-loophole company itself uses a certain version of the code to make changes, then that is the version they have to release.

      Whch has the added bonus, if you disassemble a GPL app that, for whatever reason, you have no source to (Say it's been lost.), and you modify the assembly language, you can then issue patches in that assembly language, as that is your 'preferred' way of editing the program.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    3. Re:The GNU GPL has a clause against this by Aceticon · · Score: 1

      That would be a good excuse to use Bablefish for source code.

    4. Re:The GNU GPL has a clause against this by randumb_surfer · · Score: 1

      If that's how the Burmese coders work on this imagined kernel then there would be no problem.

      The problem is that these people are creating a work which is derived from a GPL'd work. They are then obfuscatig the code prior to release.

      They are not working with the obfuscated code, so the obfuscated version would not be the preferred form of the work for making modifications.

    5. Re:The GNU GPL has a clause against this by Nathaniel · · Score: 2
      "What if a bunch of Burmese programmers take the Linux kernel and convert all the variable and function names and comments to Burmese (which should make it easier for them to work on). Then, after adding all sorts of whizzo features, they release UltraLinux and sell it in the US. Since it's GPL'd they obviously release the source too."

      That would be perfectly legitimate, as the Burmese version of the source would be their preferred form of the source code.

      Unless the company associated with the original anonymous poster actually has a collection of coders who prefer to work directly with the obfuscated code, the GPL would require that the source code that company releases be the version of the source code used by the coders, which would not be the obfuscated version.

  99. This is indirect abuse and would not be allowed by bareminimum · · Score: 1

    The principle behind most occidental law systems is that one cannot do indirectly what the law doesn't clearly allow him to do.

    The same applies to contracts. In this case the spirit of the GPL prevails. The objective being not only to be able to recompile and 'port' your crippled source tree, but allow the community to learn from your project and improving on it by going through a readable source code. A crippled version thereof clearly destroys the community aspect of the GPL and I don't think that the FSF will overlook this argument when dealing with your company's case.

    Obfuscation is a mean to cut the GPL's legs and arms, and I don't see a court of justice (even in the US) allowing that kind of misuse.

    As long as someone is able to prove that the obfuscation was done in a mechanical way (and that doesn't necessarily imply the use of a computer) by application of a definable algorithm your company's strategy won't fly.

  100. "incomprehensiblegobbledygook" != "source" by Anonymous Coward · · Score: 0

    Whether it compiles or not, it's object code, plain and simple. What their brilliant lawyer suggests is equivalent to running 'gcc -S' on the source and claiming that the output is the source code.

    By all means, let them go ahead and do it. It'll be a nice example for the next scumbags to come along, and besides, FSF lawyers have to eat too, you know.

  101. A two part problem by Christian+Hicks · · Score: 5, Informative
    This sort of issue breaks down into two sub-problems:

    1. Is it in violation of the GPL? This question is not a simple one, but such actions may very well be violation of the GPL. If this matter reached court, the question would center on whether the process applied to the GPL'd code constituted part of the process to create the derivative work, as derivitive work is defined in the GPL. For example, an expert might argue that code obfuscation can be part of the compilation process. It is oversimplified to say that laws are reinterpreted on the fly to capture the intent of the law. What is true is that these sorts of questions - for example, what constitutes compilation - are likely to be viewed in a manner which assists the obvious intent of the applicable contract/law.

    2. If it is a violation, can it be proved? Probably. Our company works for lawyers on code plagiarism cases all the time. There are many algorithms you can apply to show statistically significant relationships between a body of code and its obfuscated counterpart. The same should be possible with bytecode. Once a reasonable basis for suspicion is established, plaintiffs could get discovery of the company's code repositories and depose employees under oath.

    Christian Hicks
    Elysium Digital, L.L.C.
    http://www.elys.com

    1. Re:A two part problem by NevDull · · Score: 2

      It appears, though, that there's no contention that it is a derived work. That's why they're releasing it under the GPL -- because they think they legally have to. If they were hiding the fact that they used GPL code, they'd not bother GPLing their product.

  102. It can also be reversed... by Anonymous Coward · · Score: 0

    I'm not a great fan of the GPL, but this is simply a 'dirty trick' -- but one that can only work for a very short time, if there's significant dissemination of the source.

    The gobbletygook has to correspond to the bytecode and that limits things. If they went for replacing by getting the same functionality, bytecode be damned.. well, then they'd be doing their own work and it'd be no big deal. But since they aren't, the source, the real source, will likely be found rather quickly.

    What happens next? De-obfuscation. Publication. Dissemination. And the company loses 'control' along with reputation. And no benefit. [Insert security through obscurity argument(s) here.]

    Looks like, unless the market they have is very obscure and thus few will get the source and fewer care about it, that this place is trying really hard to give itself a black eye.

  103. This is a violation of the GPL by dskoll · · Score: 1
    Read this sentence in the GPL:


    The source code for a work means the preferred form of the work for making modifications to it.

    Clearly, obfuscated code is not the "preferred form of the work for making modifications to it."

    You need to fire your lawyer and hire one who can read.

  104. There is a way it could violate the spirit. by Anonymous Coward · · Score: 0

    Look up above at this post and it follow ups to see how.

  105. Re:Seems to me the bytecode is not the "source cod by Atrahasis · · Score: 1
    They're not going to release bytecode, but a garbage source that produces the same bytecode.

    But you have a good point - proving to a judge with no programming experience that the obviously obfuscated code is in fact code might be a hurdle. I wonder if compiling it and running it would be proof enough?

  106. Anonymity will be lost on product release by WeeGadget · · Score: 1
    A Lawsuit will be happen
    While your Company can remain anonymous for now, that anonymity will be lost when you release your product.

    Once you release binaries under GPL, someone will demand the Source Code. When you provide them with unmaintainable obfuscated source they will sound the "GPL VIOLATION" siren. No matter how much you obfuscate, the original GPL programmers will recognise thier work... it will be immediately known which GPL work has been violated.

    Your Lawyer may be betting that this strategy will raise enough doubt to intimidate a few GPL in-thier-free-time programmers from bringing a lawsuit. Will the Original GPL programmers risk time and money on a lawsuit they may not win?

    If that's the rationale then source obfuscation is not even necessary. I believe you could take almost any GPLed work and release it under a proprietary license, and the original few authors will not be able to act against you alone.

    Your Company must understand that thier tactic is designed to break the efficacy of the GPL. Then they will realise that there is a Foundation, a whole community and several companies whose survival depends on the efficacy of the GPL. Therefore, those few injured programmers will be joined. A lawsuit will be brought. Your Company will be damaged.

    Jono

    1. Re:Anonymity will be lost on product release by Woody2143 · · Score: 1

      I don't see where they said they are releasing their product under the GPL though. They are just looking at ways to get around it, not actually use it...

      --
      Blah.
    2. Re:Anonymity will be lost on product release by WeeGadget · · Score: 1
      Ummm... from the article :
      They will then GPL the obfuscated gobbledygook...

      by the way... sorry about the extra "be" in my original post.

      Must use preview. Must use preview. Must use preview :o)

  107. Get it in writing! by gosand · · Score: 2
    Act like a dumb programmer - "I don't understand, can you write down that procedure for me so I don't screw it up?"


    Get that statement in writing, in case you might need it in the future. Screwing yourself out of a job? I don't think so. If they have the balls to try something like this, then why trust them with your future? Point out why it is in violation of the GPL, point them to your post on /. and the responses - it is anonymous. After all, you are being a good employee because you don't want to see them get in legal trouble down the road. [not to mention the fact they are trying to be sneaky pricks] If they go ahead, knowing that they may be in violation, contact the FSF. Sadly, fight lawyers with lawyers.

    --

    My beliefs do not require that you agree with them.

    1. Re:Get it in writing! by Anonymous Coward · · Score: 0

      Act like a dumb programmer - "I don't understand, can you write down that procedure for me so I don't screw it up?"

      Yeah, just tell them you use Metrowerks on a Mac.

    2. Re:Get it in writing! by renehollan · · Score: 2
      I once worked in a place where asking for anything in writing could get you fired.

      I no longer work there.

      In my case, company policy prevented people from taking vacations at "inopportune" times. This was in writing. I could not take a vacation ever because I was too critical to the work that was being done. When it was suggested that I could take a vaction, without negative repercussions for doing so at an "inopportune" time, and I asked for that guarantee in writing, I was met with a stone wall. In the end I worked 60 hour average weeks, 52 yeeks a year, for 3-1/2 years before leaving. I was very close to having a nervous breakdown from fatigue.

      Things like, "It is not an appropriate time for a vacation because you have to fix the bugs that X introduced and can't fix... besides he is on vacation" very quickly lead to anger.

      --
      You could've hired me.
  108. The spirit. by Anonymous Coward · · Score: 0

    Sorry I meant. This post and its follow ups.

  109. Abusing the GPL by Anonymous Coward · · Score: 0

    talk to Eben Moglen of the FSF. He defends the GPL on behalf of the GPL. You can send a notice of
    violation as setout in

    http://emoglen.law.columbia.edu/publications/lu- 13 .html

  110. Sounds unethical to me. by Fizzlewhiff · · Score: 2

    From what I gather is your company is skating around buying licenses for a commercial development tool and using a student version or other version that is restrictive. You are then mangling the tool's generated code so it can't be identified and then compiling the mangled source with GNU tools.

    Your company is still benefitting from the commercial tool and not paying the authors what is due them. The mangling doesn't change the fact that the tool was used and benefit was obtained in the first place. But the only reason you are mangling is to hide the generated code which you feel you need to distribute with the GPL code you are also using in the project. I think you should fire your lawyer.

    --

    'Same speed C but faster'
  111. People are missing the point.. by linuxrunner · · Score: 2

    All this ranting about illegal issues....
    The article stated that they were going to RE-RELSEASE the project under the GPL.

    So that means it's still free. They were just going to make it unreadable for people like myself, who might be a fair programmer, but remove the comments and obfusticate (or whatever) the program, and I'll never figure it out.... Making the fact that it's GPL useless for me, except in the end product. I could always compile it and use it.... but just could not learn from it.

    --
    www.slightlycrewed.com - Because aren't we all?
    1. Re:People are missing the point.. by Bruce+Perens · · Score: 2

      Are you sure you are not the one who missed the point? Under the GPL, the company could be compelled to release the unobfuscated version of their modifications.

  112. Re:The truth about windows by Anonymous Coward · · Score: 0

    Of course you can't.
    And it is not only windows media player. I was sending some files with hyperterm over the NULL modem connection to my linux box, and I made the mistake of playing one of these files with the windows media player. Hyperterm froze and refused to send more data.
    Amazing NT technology useful only for downloading p0rn (but you have to wait before you see the mpegs)...

  113. I think something is being overlooked. by Storm+Damage · · Score: 1

    If I'm reading the post correctly, the company in question doesn't intend to distribute source AT ALL. The plan as I see it is:

    1. Take source tree from GPL project.
    2. Make changes to source tree.
    3. Obfuscate code and remove comments
    4. Compile Obfuscated code and sell it as a product.
    5. "We're not selling code from this GPL project, we're selling the compiled version of THIS"
    6. Profit!

    (I know I forgot the step about collecting underpants)

    If the company's intent IS to distribute the Obfuscated source, they will have to put a notice in each altered file stating that it was changed, and the date of the changes, and release the changed code under the GPL. If the finished altered project is useful, somebody will come along and clean up the code, and very likely re-integrate it into the original project. A big pain in the ass, possibly giving the company in question a window of opportunity to sell their product (unless savvy ppl just recompile the obfuscated source and distribute binaries as freeware), but no big deal, although I think this may cause the company to lose a good deal of money (not to mention reputation), so I don't believe that's what the agenda is.

    As I understand it though, there are no plans to distribute the source. The company plans to compile only their obfuscated version of the code, and claim they are not distributing a derivative work. If this project is owned/maintained by a small individual with no legal resources, they might even get away with it, as reprehensible and illegal as it may be. Of course, that individual could always just assign their copyright to the FSF, which has the expertise and the tenaciousness to defend the code, and this company will most likely be forced to capitulate and release their modified source, or at the very least discontinue distribution of the finished product. Either way, it represents a huge potential loss of investment if this one lawyer's legal opinion is flawed.

    If I were the management of this company, I'd get a new lawyer, because the guy giving this advice is going to get them in trouble. If I were a shareholder of this company and I got wind of this plan, I'd divest before I lost all my money. If I were a shareholder of this company, and the plan got implemented without notifying anyone, and I ended up losing a bunch of money because of it, I'd sue management. If I were an employee of this company, and assigned to this project or one related to it, I'd do what I was told, while updating my resume and looking for other jobs, because most likely when the legal hammer comes down, that job isn't going to be there much longer (besides, who wants to work for a company with an ethical culture like this). While doing what I was told, I'd keep documentation on all potentially illegal activities I was involved with. Upon finding another job, I'd forward copies of that documentation to the owner of the original software, the FSF and the EFF. The two larger groups could then forward some legal advice to the owner, who can decide whether and how to pursue the matter.

    Meanwhile, before this project really gets rolling, and management has committed a bunch of money to it, you should sit down with your immediate supervisor, specify your legal concerns, explain that obfuscating your modified source before compiling it doesn't make your product any less of a "derivative work" in technical terms, and that, if taken to court over it, a judge would most likely rule in the owner's favor, as this clearly violates the spirit of the license, even if it attempts to wiggle through a loophole. Explain also that even though the GPL has never been tested in court, it's been violated several times, and every time, the violating party has settled and come into compliance after being confronted with it, because they really didn't have much of a chance in court. Finally, explain that even if there is a slim possibility of wiggling through a tiny loophole, the company should abandon this strategy on purely ethical grounds. It's just wrong, and there are many better alternatives, which don't risk legal backlashes and turning your business into an industry pariah. At the very least, this idea should be shopped around to several good copyright and intellectual property lawyers, preferrably with experience in software copyright cases, and if possible, cases involving the GPL. Failure to get supporting legal opinions from several sources could easily be considered negligent assumption of risk and could expose management to a nasty shareholder lawsuit if this strategy backfires, not to mention the cost of losing intellectual property investments and reputation in the industry. Depending on the size of your company and its resources, this could even mean the company goes tits-up, or the relevent company division being dissolved. At any rate, a lot of you (including bosses) could lose jobs, and that's really not a good ting.

    For instance, you could contact the owner of the code, and discuss purchasing the source tree under a different license. It wouldn't be free, but it still might be a lot cheaper than designing the project from scratch. Or you can do as another poster suggested, analyze the code and rewrite it, following the same basic design. The design engineers can study the source and draw out a design flowchart based on how the program works, which could be filled in with code by the programmers. This would at least keep you out of legal trouble. Alternatively, you could consider working with the GPL'ed project, releasing your modifications under the same license, and angling your business around integration and support contracts for the code, which your company would develop significant expertise in (depending on the type and complexity of the software in question, this may or may not be a good idea).

    1. Re:I think something is being overlooked. by Storm+Damage · · Score: 1
      They will then GPL the obfuscated gobbledygook, which isn't much more useful to anyone than reverse-engineered bytecode would be...

      Woops...looks like I missed this part...So you are going to release the obfuscated source...

      So I have to ask...what is to be gained by this? Since you're releasing machine-readable code that compiles into the finished product under the GPL, anyone can compile and or redistribute that code (or the compiled bytecode) for free anyway, so this project probably won't make a ton of money, especially if people go out of their way to redistribute your product as freeware (which they can do, since you're GPL'ing it). Someone will come around and clean up the code, and find ways to take advantage of your changes, eventually...

      Meanwhile, you stand to lose a lot of good-will and potentially development support, code/patch submissions, and intangible stuff like that simply because you're doing something perceived as mean. I don't see how you can make a business case to do this...where's the upside?

  114. Curious by Anonymous Coward · · Score: 1, Interesting

    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?

    1. Re:Curious by rootmon · · Score: 0

      Have you been following the MySQL AB case at all? Yes, it is a legal, binding contract like any software license agreement. The Free Software Foundation didn't just write it up on a whim, they put a lot of thought and legal expertise into it. Until now, most challenges to the GPL have been settled out of court because the Free Software Foundation prefers cooperation over lawsuits to encourage compliance, they're not about punitive damages, etc.

      --
      "As flies to the wanton boys are we to the gods; they kill us for sport." - William Shakespeare, King Lear
    2. Re:Curious by (void*) · · Score: 2

      It's legal standing comes from copyright law. It is a unilateral grant of rights to distribution (since copyright law does not grant such rights), provided that the redistributor also unilaterally grants rights as it has been given to him. It has as much standing as copyright denies these right to people, by default.

  115. Still a GPL violation by _Marvin_ · · Score: 1

    The people at your company seem to think that
    "sourcecode" refers to the stuff that gets put
    into the compiler. Wrong.
    The GPL defines "sourcecode" as the form in which
    modifications to the program are usually made.
    As you are not working on the obfuscated version,
    that version is *NOT* the sourcecode to your
    application, at least not according to the GPL,
    and so, publishing that version does not make
    your company compliant with the GPL.

    I always found the definition of the term
    "sourcecode" in the GPL very clever, as it
    definitely stops any attempt to circumvent the
    GPL the way your company does. Believe me, many
    people have had this idea before, the reason why
    noone does it is because the GPL simply doesn't
    fall for this trick.

    --
    "We won't use guns, we won't use bombs, we'll use the one thing we've got more of and that's our minds" - Pulp
  116. Can of worms by DaveHowe · · Score: 2

    I would have thought this would have opened a can of worms that your employer would have preferred kept shut - there is nothing preventing you (by that criteria) taking a full copy of their part of the source, re-obfusc-ing it so that it is superficially different from their version, then releasing it as a competing product. given it hasn't cost you any developer wages, you should make a fortune undercutting your employer... its even file-format compatable with theirs ;)

    --
    -=DaveHowe=-
  117. The BSD license principle still applies by aphor · · Score: 2

    I'm guessing your employer intends to release unreadable, modified source code which compiles to a salable binary. The modified source still has to be released for free, meaning anyone can compile it and use the resulting binaries without paying. This does not protect them from a fork in the original GPL code base, and for the same reason it doesn't always pay to take BSD source code and run with it: the BSD folks (just as the GPL folks) can implement the software application you've tried to sell, and their modifications will be readable and subject to improvement by anyone.

    The risk is that soon after you start charging for yours, someone else is giving away and equal/better alternative. The more money you charge, the more GPL programmers' employers stand to save by duplicating your effort in a cooperative way (spreading the development cost as thin and wide as the market for such software).

    Here's another reason your company's management is screwing the owners: Source written for GPL release is written with readbility in mind. That makes code management easier. If you are in a race, and there is no requirement for the code to be widely readable, it will eventually become spaghetti that must be scrapped. At that point you will have to "borrow" from the competing GPL project again. Admitting that you will have to spend money "following" the GPL code, do you want to try and get as much free code as possible (by promoting volunteer contributions to the code base) or do you want to maximise your own development costs aside from the initial code "import" while you rewrite and reintegrate the proprietary side of the app each time? Free software is more economically efficient. You may save on some of the sunk costs, but you can't avoid the risks of proprietary software.

    --
    --- Nothing clever here: move along now...
    1. Re:The BSD license principle still applies by crath · · Score: 1

      Source written for GPL release is written with readbility in mind.

      You have obviously never tried to make changes to some of the GPLed projects that are floating around. In my experience, most OSS source code is so poorly written as to make it unusable by anyone except the author; and even then, if more than a few weeks passes then the author no longer recognizes it either.

      Too many people believe that ownership of a text editor and a compiler is the key to being a big-time code jockey.

    2. Re:The BSD license principle still applies by aphor · · Score: 2

      You have obviously never tried to make changes to some of the GPLed projects that are floating around. In my experience, most OSS source code is so poorly written as to make it unusable by anyone except the author; and even then, if more than a few weeks passes then the author no longer recognizes it either.

      Too many people believe that ownership of a text editor and a compiler is the key to being a big-time code jockey.

      No, I was just actually being biased. I conveniently ignored the OSS code that isn't good enough to attract collaborators, but you're leading me back to my point: If someone (competent OSS programmer) finds a software project that is *almost* what they want, but the code is a mess (ie. the original poster's employer's GPL mods) they will always think hard about starting their own project. The principle is, if you make well organized source trees for interesting and useful projects (products), you will attract volunteer contributions. If your project (product) is cool, but your code is unreadable/unavailable you will attract competitors. If your project isn't cool who cares anyway?

      --
      --- Nothing clever here: move along now...
  118. Re:The truth about windows by Anonymous Coward · · Score: 0

    thanks to the proxy server running freebsd?

  119. Microsoft Linux by Sean+Clifford · · Score: 1
    Great precedent...now we can look forward to MS Linux, MS Gimp...

    Guess there's nothing to prevent them from releasing a distro now - but hey, if they take this iffy legal stance I wonder how much GPL'ed code will end up proprietized.

  120. Shooting yourself in the foot -- twice by markmoss · · Score: 2

    So they make the changes they need in the open-source code, then before release they obfuscate it, and release it under GPL. So (they claim) the obfuscated source code still meets the GPL license, but is unusable to outsiders. Except maybe it violates the GPL license because the obfuscated code is not the preferred form for editing, and IIRC that's how the GPL defines "source code". This sounds a lot like the story of the soldier who shot himself in the foot to get out of the Army, and was court-martialed for damaging gov't property. And they kept him on the Army rolls until he finished his sentence in Leavenworth.. Whether or not this legal hack holds up in court, it's not a good idea, because:

    1) Software maintenance of the obfuscated code would be a nightmare, even using the company's "dictionary" recording the obfuscations. Two other options:
    (a) Keep the un-obfuscated code, edit that, and run it through the obfuscater again. But that definitely means what you released wasn't the actual source.
    (b) Have a de-obfuscator program that uses the dictionary to reverse all obfuscations. But having that around amounts to an admission that the obfuscated code isn't editable in practice...

    2) The downloadable obfuscated code would have to credit the original open-source code. So get one of those software plagiarism detector programs that analyzes for similar structures, and use that to discover the renaming and re-arranging that went into obfuscation. Add a little more code to get an automatic de-obfuscator. And the parts that don't match are the company's "secret" code changes.

  121. Hmm, not sure about that one by clump · · Score: 2
    FWIW: The BSD advertising clause would require at least one comment remain in the code, the original authors name. That would at least give someone a hint as to where the code came from when trying to interpret the "garbage" source.

    If they used the BSD license, they wouldn't release the source. The point of this company's actions are to hide their changes, so why release anything if they don't have to?

    What I haven't yet seen discussed is that since they are going to release something, customers would certainly be suspicious of a product licensed under the GPL with source that looks like it was written by a drunk pidgeon. If it were something like a C/C++ compiler that behaves awfully similar to lets say... GCC, I am sure we all would notice and give them some bad press.

    The one thing I do feel good about in this situation is that the company is releasing the changes back. For every one company that we hear of messing with the GPL, I am sure there exist 30 more we will never even know about.
    1. Re:Hmm, not sure about that one by Bruce+Perens · · Score: 2
      Who needs the advertising clause? You are required to preserve the copyright statement and license, and distribute those to all who get the binary version.

      Bruce

    2. Re:Hmm, not sure about that one by IPFreely · · Score: 1
      I was not refering to the whole BSD license, just the clause. There was a bit of a dispute a while back that the advertising clause was not compatible with the GPL, therefore code could not be mixed. The clause was eventually dropped from some BSD licenses.

      If that specific clause was made compatible in the GPL, and allowed to exist in GPL code, then at least that one comment would still exist.

      That's all I meant.

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    3. Re:Hmm, not sure about that one by IPFreely · · Score: 1
      Just the license statement and license file wouldn't tell you much about where the original source came from. Preserving the original authors name would at least tell you where to go to narrow down the search.

      It sounded like they removed as much telling information as they could get away with.

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    4. Re:Hmm, not sure about that one by Winged · · Score: 1

      If I'm correct, the copyright statement is the (Copyleft 2002 by [person doing the copyrighting], released under the GNU Public License v2 [or, at your option, any later version]) thing?

      If I remember correctly, if you wish to claim copyright protection, you must include several things:

      1) The word 'copyright' (the (C) or (c) notation does not work);
      2) The year of the work's release or creation;
      3) The person (natural or corporate) asserting copyright.

      This can be followed by "All rights reserved", which means that you are granting no rights except the right to obtain the copy to the person who's obtaining the copy. Or, you can specify a license for it all.

      However, if you modify a GPL'd piece of software, you only own the copyright to the pieces that you wrote yourself -- therefore, you must still maintain the copyright notice from the original author, or else you're committing plagiarism (removing a signature and rereleasing == claiming that you wrote it).

      Yes, you must retain the LICENSE (or LICENSE.TXT) file -- but you also must preserve the original author's copyright statement. (Unless it says "copyright abandoned" or similar.)

    5. Re:Hmm, not sure about that one by Anonymous Coward · · Score: 0

      If I remember correctly, if you wish to claim copyright protection, you must include several things:

      1) The word 'copyright' (the (C) or (c) notation does not work);
      2) The year of the work's release or creation;
      3) The person (natural or corporate) asserting copyright.


      You are wrong. If you wish to have copyright protection then all you need to do is create an original work. Like this post or yours for instance, automatically copyright, no need to include any sort of notice. If someone infringes your copyright then you can enfore it.

  122. Parses, but no useful information by Bruce+Perens · · Score: 5, Funny

    It might be gramatical, but it's not germane. I suspect it was intended to obfuscate.

  123. You must do what is Ethical... by Capt_Troy · · Score: 2

    Hi-

    You have to decide what the ethical response to your situation is. If you sit around and watch something you know is wrong happen, then you are at fault for not alerting the proper people.

    If what they are doing is legal, but you think it is wrong nonetheless (wouldn't be the first time) then let your bosses know you don't agree with the situation and propose a better solution yourself. At least, if nothing else, when the shit hits the fan you can say, "I told you so".

    T

  124. Obfuscated Source is NOT source by Komodo · · Score: 2, Interesting

    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.

  125. after re-reading by jp_fielding · · Score: 1

    I think we owe it to this company to make a concerted effort to understand and use their product since they've spent so much time working on it :-)

  126. Obfuscation is reversible by mwood · · Score: 1

    As long as it's still compilable, there's no reason that someone couldn't build tools to unobfuscate it (with a bit of human guidance). Since it's GPLed, there's no reason he couldn't publish the result. So really all this cleverness is just a waste of time.

    I've done similar things starting with *object modules*, resulting in commented source and a user's manual using nothing but a decent disassembler and my wits. It's more tedious than it is difficult. Having the source, in whatever form, would be a lot easier.

  127. Freely distributable Propritary Crap? by ispel · · Score: 1

    Your company wants to combine GPL'd code with their project and comply with the GPL by distributing your company's (intentionally) obfuscated code.

    I'm surprised that many of the other provisions of the GPL don't bother your company. What about the fact that the GPL guarantee's the recipient's right to redistribute the binaries and source code freely. Would your company be willing to sell its code under a license (GPL) that guarantees that your clients can reverse engineer (your obfuscated code), distribute and sell original or modified versions of your programs free of charge?

  128. plain text attack by Anonymous Coward · · Score: 0

    Should be fairly easy to crack the obfuscator, since you have the plain text. Since it has to compile, I think it would be fairly difficult to write a secure code obfuscator.

  129. code linkage? by srealm · · Score: 1

    One thing I've not seen mentioned, is code linkage. Our company backed away from GPL'd products even to the point of not even including them in the same packaging (tar.gz) as our binary code. Mainly because a case could be made, using the language in the GPL, that could suggest they are part of the same package (keeping in mind, the GPL never specifies what a 'package' is, it could be a tar.gz, a binary, etc), and we could be forced to release our source code.

    There is even MORE fear when your talking about code you actually link with your own proprietary code (as opposed to just distributing a GPL'd product with yours in the same tar.gz). This definately could be the basis of a case that could end up forcing your company to release their sourc code. It could be reasonable to suggest that anything linking to GPL'd (again, excluding anything packaged with GPL'd code, including libraries that are dynamically loaded, not linked against) has basically been an extension of that GPL'd code. This would clearly mean that the source code thats is actually modified (not garbled code) would have to be released, by the GPL definition of source code.

    Our company would prefer to find public domain versions of code, get our own developers to re-write it, purchase something similar, or contact the author of existing products and try and make a seconady license agreement that use GPL'd code, mainly because the language in the GPL could be used to make a case against someone even packaging GPL'd code with their product, let alone linking with it and creating a binary from it.

    I would also like to say, like others here, the GPL says you must release the source code you modify, NOT a garbled version of it. This means, if you make even one character of changes to that GPL'd code, you have to have made it on POST-GARBLED code, if it can be supported that it was made on pre-garbled code, and then the code was garbled specifically for release (even if the byte code was compiled from it, its not the version your modifying to do your changes), then you've violated the GPL.

    I'd check to see where your lawyer's law degree was granted :)

  130. Letter and spirit by Crazy+Viking · · Score: 1
    Well, they may be compliant to the letter of the law (I would not know) but it does not seem to me that they are following the spirit of open source. To me the basic idea is to share your work with fellow developers while ensuring that you are accredited for your work.

    This is just sharing without accreditation.

  131. Step up to the plate ... by The+MoMo+King · · Score: 0

    The person who sent this in needs to step up to the plate. If you feel this is wrong you need to tell your company. Don't stand on the side line and talk the talk but don't walk the walk like so many slashdoters seem to do.

    Is this the kind of company you want to work for?

  132. Bad Engineering by hol · · Score: 3, Interesting
    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.
    --
    - - - Non Caffeine Drink or Drink Error
  133. Hurting themselves by Anonymous Coward · · Score: 0

    The company is going to eliminate external contributions related to the company's contributions. This effect can be had without even intending to obfuscate the code. The Mozilla project had a slow start while the originial spegetti code was untangled. Fortantly, the Mozilla project made it through that and Netscape v6.1 is a much better product than Netscape could have ever produced through the traditional method of only providing the source code to those employees that HR seeked out and hired. The Caldera "open" administration project CODA, however, never made it past being very badly documented trash and Caldera as a result ended up discouraging external contributions eventually ended up with a limited customer product called Volution instead of the defacto Linux administration product. At the same time, the much better documented RPM code continues to be the package manager for multiple Linux distributions.

    So, yes, there is cases where open source and even Free Software licenses have been used where the code has been obfuscated enough to discourage contributors. But by *purposily* obfuscating the code, not only does the company further discourage external contribution in an industry where finding labor of the right skill set is hard, but the company also ensures that Internet word of mouth about the company will be similar to that of LinuxOne or NuSphere. This type of bad press tends not to just remain on the Internet either and is hard to fight. Take for example Matrox which merely refused to give the programming specs for their products for a long time. They spent a great deal of time fighting out-dated XFree86 FAQs that made it verbatium into popular publisher's books and still stated that Matrox would never be supported because of Matrox. The company may find that by the time it discovers dissing the spirit of the GPL is not a politically good move that correcting for it will take MUCH more than just no longer obfuscating the code.

    Has your company considered looking for a similar BSD licensed project? Even most BSD advocates look down on a company which violates or look-holes the GPL but when it comes to their own code they usually don't mind anyone doing just about anything (leave credit where it is due tho).

    Then again, Bruce Perens hasn't had very many targets to "run out of town" yet. It might be fun to see how long another company survives making such a clear attack against:
    Linux advocates
    GNU/Linux advocates
    Free Software advocates
    Open Source advocates
    Slashdot advocates
    .
    .

    So, while the lawyer may have consider several legal aspects of obfuscating GPL modified works, did he really consider that GPL also tend to also be a religion in addition to a license (the word of GNU'ism)? Has the lawyer had much success with marketing an open attack on a religion in the past?

  134. Dodge the GPL by Anonymous Coward · · Score: 0

    The GPL states that the code distributed must be in the preferred form used for modifications.

    OK, lets comply with that but still obfuscate it. Rather than obfuscating the code as a compiler style pass prior to compilation, build the obfuscation into a custom IDE. That way coder's on screen will see in their IDE a valid and easy to understand version of the code but all versions of code written to the disc at any stage is fully obfuscated.

    Ie when the IDE sees what it identifies as a variable called adfg it displays on screen money_value however this is just a function of the idea, the true code is always adfg at all times. Even comments could be obfuscated such as the actual code having a comment of /* 3egyh23uh */ and the IDE looks this up from a hash table or something and displays some true comment...

    Not that I condone these actions but there's always a dodge for all legal statements, now you're only left with "spirit of the law" type arguments.

    1. Re:Dodge the GPL by Pyotri · · Score: 1

      There is an extra issue here: For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

  135. Hello? McSlashdot? by Anonymous Coward · · Score: 0

    Welcome to the real world. And what about countries that aren't bound by US law? If you can buy pirated copies of first run movies on the streets of just about any country in Asia what makes you think they give a damn about your untested GPL license? And what happens when they use this code in embedded devices so you can't even see it? Talk about giving everything away for free. You all run around screaming how stupid someone is if their system is unsecure but then give all your work away for free! That's like the bank paying millions for a secure vault to keep the money in, but then giving the whole business away to someone for free. Your assets are secure. They just aren't YOUR assets anymore.

  136. Blow the whistle. by Bonker · · Score: 3, Insightful

    Go to a public library. Logon to the internet terminal found in most public libraries. Create a Hotmail or Yahoo Mail account. Use that account to E-Mail the FSF with your company's name, the project's name, and as many details about the project as you can without personally identifying yourself.

    Then, later, you can sleep like a baby, knowing you did the right thing.

    --
    The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
  137. Re:The truth about windows by Anonymous Coward · · Score: 0

    If that's a troll it's a stupid one. Try harder.

  138. The GPL is widely abused by Anonymous Coward · · Score: 0

    If everybody grassed every bit of GPL source being used silently in a commerical product, the courts would be stuffed. But nobody does because our jobs are more important than our ethics.

  139. BSD advertising clause by Aapje · · Score: 2, Flamebait

    The advertising clause was removed from the BSD license three years ago. If you want to use the license you should use this template.

    Besides, if you happen on a file with the old license that is copyrighted to the University of California, the advertising clause is null and void.

    --

    The Drowned and the Saved - Primo Levi
  140. This rings false to me by streetlawyer · · Score: 2
    I think that this isn't the whole story. No lawyer worth his salt would have come up with this. My guess is that the story submitter has just finished writing a piece of code that is not only plagiarised from an Open Source project, but in which the non-plagiarised bits are so badly written as to be unmaintainable. Now he's trying to pretend that he did it that way on purpose.

    HTH

  141. GPL Loophole by sales_worldwide · · Score: 0, Informative


    This is the third time I have mailed you. You are taking a long time to wake up to this problem.

    I first mailed about a GPL violation with my company (under ND, so cannot discose - details follow). We then had hte PowerVR issue, where htey did not release source. And then we had hte FSFs comment on RTLinux (http://www.gnu.org/press/2001-09-14-RTLinux.html)

    So, there are three issues. RTLinux & patent, PowerVR not releasing source, and the linux binary driver GPL loophole described below. The primary copyright hoder, torvalds, is doing nothing about any of them. This is NOT what the linux community wants.

    Speaking of GPL violations, I found a pretty flagrant one at work a few weeks ago...
    Microtest (now XStore [xstoreonline.com]) put together a mess of GPL software - a modified Linux kernel 2.0.27, Samba 1.9.x, Apache, the MARS_NWE netware emulator, and GNU C libraries (libc5), among others, stuffed them on a flash chip in a drive-bay-size embedded 486-based computer, and sells it as their "DiscZerver [xstoreonline.com]" product line. Nothing wrong with the method, but there's plenty wrong in their implementation.

    Previous 'Ask Slashdot':

    We have some problems in the linux world. First, we jave the issues of RTLinux and their patent, wiht FSF commenting on it recently: http://www.gnu.org/press/2001-09-14-RTLinux.html)


    Then we have PowerVR where they are not releasing the source (also a recent slashdot post).


    And now, we have a loophole allowing these people to get away with it. There is a company already explooiting this loophole. Read on:



    I work in the embedded hardware field. Today we received some hardware from a manafacturer, who uses linux to run on their hardware.
    In the past I was given all source code to their product, as they are obliged to, given that their code is derived from the linux kernel itself.
    However, today I was told that they will no longer be distributing their source,
    since they have managed to incorporate all of them into a loadable kernel module (which they are referring
    to as a "binary only runtime loadable driver". Apparently linus torvalds has recently said that binary
    drivers can be
    distributed in binary only form. From my knowledge of the previous source this company released, they have gone to considerable effort to move all of
    their code into this "binary driver". It is not so much a binary driver, as a real time linux system hacked into a driver. I suspect they intercept certain system
    calls to achieve this - I am in the process of checking the binary to find out.


    I am under an NDA so cannot disclose more information, nor my name.


    But is this against the GPL? I think it is, and given that my name exists in the linux kernel too, I am upset and would like
    to do something about this - but apparently only Torvalds has the right to sue them - is that true?
    (But he won't, since he has said binary only drivers are OK).
    And where exactly do we draw the line between a derived linux kernel and the same thing implemented as a loadable
    module?

    --
    "Making linux GPL was the best thing I ever did" - Torvalds. I'd hate to see the worst thing...
  142. Re:The truth about windows by Anonymous Coward · · Score: 0
    I was sending some files with hyperterm over the NULL modem connection to my linux box, and I made the mistake of playing one of these files with the windows media player. Hyperterm froze and refused to send more data.

    And that's the fault of the Windows OS?

    Get a clue. It's the application that determines the sharing mode of the file when it opens it.

  143. reverse the change by Anonymous Coward · · Score: 1, Informative

    Though it would be nice to find a way to
    prevent the company from doing this, I wouldn't
    worry too much. The kind of obfuscations you
    mention can probably by reversed by some
    pattern matching code that "aligns" the original
    GPL'd and the obfuscated code, much the way
    current cheating-detection code can detect student
    software submissions that have carried out similar obfuscations. It would serve the
    company right to discover that their cleverly
    obfuscated code had been de-obfuscated and all
    their important changes revealed to the world.

  144. I think that you've got it, they're dead. by marcus · · Score: 2, Insightful

    The fact that they mod the code AFTER their own hacks are finished with it indicates in a rather matter of fact manner that the released code is not the "preferred form", nor is it easily reconstructible as in 'tar -xzf foo.tgz'.

    In order to get away with this, they'd have to demonstrate that the released code is what their own grunts have actually been using while making their mods, at least. If not, it is obviously not the "preferred form".

    --
    Good judgement comes from experience, and experience comes from bad judgement.
    - W. Wriston, former Citibank CEO
  145. Why you don't simply buy that code from author by fjin · · Score: 1

    Why you don't buy that GPL:ed code from it's author, at whatever-license-you-want. Then you can use it as you wish, and you are safe. Both wins that way.

  146. Stupid Lawyer Tricks and Code Jackers by gorehog · · Score: 1

    I surely agree that obfuscated code cant count as source code.

    Here's the catches as I see em.

    1) Will anyone ever bring this to court? Our Anonymous poster would have to blow the whistle first, otherwise we might never know WHOSE code is being stolen, and therefore no one would ever be able to sue. If this were being done by a 15 year old kid it would be called piracy, hacking, code jacking and worse.

    2)Once in court can the company show that it modifies this obfuscated version of the code and not the other one? Remember, this would be decided by a jury (we try civil cases by jury in the states, I think this is US law we're discussing). To my way of thinking this is still like taking _Neuromancer_ , changing the names, and calling it your own. A US jury was capable of being conused by the math in the DNA evidence in the OJ Simpson case, they might be confused by the isues involved here too, simply because of terms like compiler, source code, object code, machine code, GPL, GNU, computer, and copyright.

    *Sigh*

    It does seem that obfuscation violates the GPL. But for it to stick someone has to bring a suit, prove that obfuscation is being practiced, and convince a Judge/and or Jury of that.

    Anonymous, I hope you can contact the author of the original code so they have a chance.

  147. Save your email by cmoss · · Score: 2, Insightful

    IANAL, but

    If you find this distasteful, make sure you keep copies (hard copies) of all internal emails and documents pertaining to this issue.

    That will probably protect you and make the case a slam dunk if it ever goes to trial.

    Send your boss an email objecting to the shaky legal ground and save his response where he asks you to go ahead with it. If you get fired for making noise look into the whistleblowers statutes.

    Chuck

  148. Step out with your hands up by wo1verin3 · · Score: 1, Offtopic

    We know who you are Mr Gates. Posting this anonymously. Shame on you.

  149. You're not going to be able to hide anything. by biya · · Score: 1

    Ok, so they obfuscate the code by changing names around to gibberish, or in other words they're trying to impose a crude encryption on the code and then release it.

    function blah();

    gets transmuted into

    function xglw()

    and so forth, or so I assume. Even if you did bother to obfuscate all the brackets and other syntactical sugar, it would take simple cryptanalysis to bring the code back to readable status. How hard is it going to be to figure out that function xglw does certain things after you see it called from various places?

    Your lawyer and your boss are idiots for the same reason various classmates were idiots back in college for trying to hand in other peoples' code with simple substitution performed on function and variable names. It's going to be a shock to your bosses when they find out they can't pull the same shit on the rest of the world that they did on their college professors.

    --
    ----- The dumber people think you are, the more surprised they will be when you kill them.
  150. Pursuasive, but I have a question... by shaldannon · · Score: 1

    Doing this would be a sure-fire way to royally anger every sane-minded person out there. No legal action possible, of course, but a lot of ill-will, screams, flames and gnashing of teeth, especially if said GPL'd code includes volunteer work (which you seem to imply). Boycott of the company's product seems a logical conclusion.

    The company is out to sell this code. What are the chances that their target market is the same set (or even an overlapping set) of the group that would hypothetically boycott the software? That is, if the company in question is expecting to resell this to businesses, just how many of their potential clients do you see saying "Oh my gosh...they violated the spirit of the GPL! Let's boycott!"?

    From my POV, I don't see that happening. Even within the open source community, were this offered for sale as an end-user product, I doubt a boycott would make much of a difference since most of us are cheap (as in, free beer). I'm guessing here, but I think the idea of a boycott, as nice as it might be, is simply unworkable in this case. Maybe the original annonymous poster could clear things up a little?

    --


    What is your Slash Rating?
    1. Re:Pursuasive, but I have a question... by Anonymous Coward · · Score: 0
      Because their program would be GPL'ed we can redistribute it freely. Post it all over the net, set up a website and send copies to all their potential customers, but change/delete any company identifications so the customers have no idea it came from them.

      Secondly, if they have non-GPL'ed code we can get our hands on that too and repeat the above. See how they like be abused for a change.

    2. Re:Pursuasive, but I have a question... by sparkz · · Score: 2

      If it's a niche product, then yes, there's a limited userbase, and the customers of the original GPL code will presumably be the target market of this company. Huge overlap if it's, say, control software for an oilrig, smaller overlap if it's accounting software, very little overlap if it's a text editor (unless it's vi or emacs!)

      --
      Author, Shell Scripting : Expert Re
  151. To take a lesson from GPL projects... by s4m7 · · Score: 2, Interesting

    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.

    --
    This comment is fully compliant with RFC 527.
  152. Um... by Greyfox · · Score: 2

    Yes it is, unless they only add and change features to the app by changing the obfuscated code itself.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Um... by Kombat · · Score: 1

      This is merely semantics, not a hard-and-fast legal technicality on which you can assert a lawsuit. By this flimsy logic, we cannot distribute GPL'd software packages as .tgz files either, unless we happen to have some sort of IDE which lets us work within the .tgz, without ever having to unzip it. We would only be allowed to distribute our code as a directory full of .cpp files.

      Clearly, there's some wiggle room, and I think that's what their lawyer is relying on.

      --
      Like woodworking? Build your own picture frames.
    2. Re:Um... by IPFreely · · Score: 2, Insightful
      That appears to be the point that is still under debate.

      It is not a DIRECT violation because the GPL says nothing specific about obfuscation. Nor does it say anything more specific about what "source code" is other than the quote that has already been thrown around here already. Whether it is an indirect/interpreted violation is still up for grabs.

      At best, you might get a comment from FSF or RMS as to the nature of "source code", followed by a favorable ruling from a judge in court. Perhaps they could change the GPL Version X+1 to more clearly define "source". At worst, this is perfectly valid and nothing can be done about it.

      But either way, it has NOT been decided yet.

      --
      There is nothing so silly as other peoples traditions, and nothing so sacred as our own.
    3. Re:Um... by DavidTC · · Score: 1
      You would be able to argue that tar and gzip are normally including in an OS, and 'However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.'

      Hence, it's possible to argue that as while tar and gzip are needed for compiling the code, they come with the OS. However, that doesn't exactly work, as they are also needed for modifying the source. However, once you get into that, you could just as easily argue that you need a text editor and a shell to modify the code.

      Legally, it may be possible to demand, under the GPL, that you receive non-compressed, non-archived files, along with a means to modify them. This is probably a flaw in the GPL, it should list some standard formats, or just say 'archive format customarily used for software interchange', like it says 'medium customarily used for software interchange'.

      However, this is just a valid way to annoy GPL software providers, and not really any sort of loophole.

      --
      If corporations are people, aren't stockholders guilty of slavery?
  153. Your forgeting something..... by Anonymous Coward · · Score: 0

    If they compile for commerical uses, then it is quite possible that they could sue for violating "THEIR" products. It's quite possible they would have a legal case because the code wouldn't be the orignal. The fact that the program came before them may be overlooked in their favor, Shudders slightly. The implications are horrendous. Could you imagine Microsoft taking away linux and sueing every Open Source project on the planet for violating their code by reverse engineering? I know, I know, Stuff of horror movies, But the implications are there......

  154. Missing the point... by icey5000 · · Score: 1

    IANAL, but who is going to sue? The blunt answer with patents (and copyrights) is that without someone to actively defend the patent in court, the patent is effectively meaningless. The GPL is a contract, and so is even more dependent on legal enforcement. If no-one will sue for damages, what is there to lose? Bad karma?



    It is very likely that the lawyer's advice is based on the following idea: obfuscate the code enough that it is not easily identified. If someone sues us, we will make sure it costs more than its worth to sue -- this is risk management and has little to do with strict legality. Sad but true, this happens all the time -- business is about risk & cost management, not ethics or fairness.



    That said, if the company's name 'leaked' to the media and they became known as the thieves they are, I wouldn't be that upset. :)

    1. Re:Missing the point... by Anonymous Coward · · Score: 0

      think morpheus..
      I suspect the company is morpheus.. what other codebase has been recently acquired that seems to have reduced their development time by 30%?
      I can just imagine them obfuscating the original source just so no other companies steal it.

    2. Re:Missing the point... by DavidTC · · Score: 1
      God, I was being to think that I was the only person suspecting them, and if I was just paranoid or something.

      I was just in a debate about this yesterday about how it's nonsensical to give out GPL'd software with ads in it, that's not a valid business model at all, as anyone can just remove the ads and give out the same product, ad-free.

      --
      If corporations are people, aren't stockholders guilty of slavery?
  155. Copyright statements by PhilHibbs · · Score: 2

    There doesn't seem to be anything in the GPL regarding keeping the original copyright notices in the source. Can I take GPL'd source, strip out the copyright statements, and redistribute it?

    1. Re:Copyright statements by Teancum · · Score: 2

      Sure... the GPL doesn't discourage such blatent behavior... but the US Copyright code does.

      I wouldn't recommend you to try that stunt, because it would open all kinds of other legal problems as well.

    2. Re:Copyright statements by PhilHibbs · · Score: 2

      Except that the GPL explicitly grants permission to change anything, which could be interpreted to include the copyright statements.

  156. Who cares? by Anonymous Coward · · Score: 0

    1) this program that is to be sold may suck so bad, who cares?
    2) if 30% of the 'crypt' is in plaintext somewhere else, that is a cryptographers dream
    2a) decoding it back to clear text will be freshman-level crypto class material
    2b) someone will do it for fun
    3) Tell the company to just go and get some BSD code and then do what they want.

    If this is against the 'spirit' of the GPL, I'm sure visions of RMS will haunt their dreams.

  157. Um... by Greyfox · · Score: 2
    Yes there is, unless they plan to only ever support and add new features to the code by changing the obfuscated code itself. If they make changes to another base and then run it through an obfuscator, they're not distributing the source they're modifying, which is a violation of the GPL.

    Moreover I seem to recall hearing that once the GPL has been violated, only the author can reinstate the violator's right to modify and distribute the code. If I were the author of the software package in question, I'd tell the company to get bent after winning the lawsuit. If you make me sue you, I'm sure as hell not going to let you benefit from my work anymore.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  158. I am not a lawyer... by sboss · · Score: 1


    I am not a lawyer... but I would suggest that you contact the lawyer for the FSF. I do not remember his name off the top of my head. You could always get an (mostly-)anonymous email account with yahoo or msn and email him from there.

    good luck,
    scott

    --
    Scott
    janitor
    sdn website family
    email: scott at sboss dot net
  159. It's been done by Greyfox · · Score: 2
    The author of Gogo recoded the slow bits of LAME in assembler. Damn it's fast.

    Since that's his preferred form of modifying the source and adds a great deal of speed to the application, it's fine.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  160. Free redistribution by Anonymous Coward · · Score: 0

    If the product is released under the GPL, then anyone can redistribute the compiled code. Depending on the nature of the product, that could be a disaster for your company.

  161. Assembler Development by dmaxwell · · Score: 2

    Softwarthat is primarily developed in Assembler is fully commented with meaningful variable and macro names. The output of a disassembler requires a boatload of analysis before it can even approach the usefulness of the "preferred form" of assembler.

    The company that the article author works for had better hope that the source they intend to munge isn't owned by the FSF or a corporation with some money for lawyers like TrollTech. As Bruce Perens pointed out, Eben Moglen would love to run their..ahem! er..market penetration device through a pickle slicer.

    1. Re:Assembler Development by raynet · · Score: 2

      But where does it say that you must have comments and macros there? I've done some assebler programs (even big ones) without comments or macros. It might be good to have good coding practices but it isn't mandatory. You could also have all the comments on a different file and let the IDE combine the code and the comments for you.

      --
      - Raynet --> .
  162. what's the deal here ? by groug · · Score: 1

    The goal of the GPL is that the work of the community can't be *stolen* for private business. It promotes a fair way of increasing global computer skills and knowledge through the forced sharing of source code (the preferred form for human beings).If you integrate GPL source code in your software, then your software is GPL as soon as you decide to distribute it : that's the deal !
    If the company's project is to be sold, therefore distributed, along with GPL material in it then the entire source of the project is GPL... any smart customer will handle back the source code to the GPL community. If the business plan of the company is about selling thousands of expensive licenses, they'll have troubles to sell more than one I bet...
    The problem with obfuscating an existing source code has only to do with authorship if the original license remains unchanged... but who
    cares about the author as long as the source code is useful and available ? ;-)
    Of course, on the other hand, if they change the licensing terms, I'm sure the FSF will be glad to unleash an army of lawyers to torn that unlawful company to pieces, and burn their houses, kill their dogs, their familly, their friends... :-)

    --
    Anarchy is about taking complete responsibility for yourself. - Alan Moore
  163. Obfuscated source is not source by klmartin · · Score: 1

    It seems to me that the process of obfuscating the source code (as described by the original poster) and releasing only that violates the language in the GPL that defines "source code" as "the preferred form of the work for
    making modifications to it" (section 3). What this company is offering is not the "source code", and distributing a work derived from GPL code without making the source code (as defined by the GPL) available. As I read the GPL, the distribution of an executable which contains GPL code not owned by the distributor along with an offer to make available obfuscated source violates the GPL.

  164. A frequent sidetrack by John+Macdonald · · Score: 1

    I'm seeing lots of people attacking the idea of them obfuscating GPL'd source code that they have gotten form somewhere else and used. That is irrelevant - the original GPL source is still available from whereever the company picked it up.

    The key issue is what it means if they obfuscate the additions and modifications that they applied to the original GPL source code to create their own product. They could do that while leaving the original GPL code unchanged. (The argument about preferred form for editting seems to show that this is not allowed.)

  165. A consultant would be pissed. by dmaxwell · · Score: 2

    A consultant would have a much harder time if he was called in to a site that used "his" code only to find it's been obfuscated. He wouldn't be able to do his job and he wrote the code so he could do his job. A good lawyer could probably make a case for that being "injury" in the legal sense of the word.

    The "preferred form" part of the GPL has often cited by now. Not only is his company morally wrong, it is very probably legally wrong as well.

    1. Re:A consultant would be pissed. by JohnBE · · Score: 1

      I don't doubt that he'd be pissed off and I'm not defending piracy (which is what this is). My point was that closed-source has more to fear from this kind of thing. Read the the other posts, I explain what I meant. I should have thought further before hitting the send button. But that's life.. ;-).

      --
      e4 e5
  166. Get a different license by walt-sjc · · Score: 3, Interesting

    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.

  167. Nope... by Greyfox · · Score: 2
    IBM and several other companies forbid you from so much as being in the same room with source (Even in your own, personal time) if you work on similar source elsewhere. For example, if you look at the Java code we licensed from Sun, you can not work on the IBM Java VM or libs. If you look at the GCC compiler, you may not work on XLC.

    You can do a black box re-implementation of something, IIRC, but the guy who reads the original code can not code it. He has to write a document explaining how the code works in English. Then a programming team takes his document and implements the API per his documentaton. Which 9 times out of 10 will be more of a pain in the ass than just writing code that provides similar functionality from scratch.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  168. You are not anal enough either. (IAAL) by SPYvSPY · · Score: 5, Insightful

    First of all, IAAL. Second, the GPL's definitional distinction between source and object/executable form relies on two key terms that cannot be objectively measured: "preferred" and "normally". I defy you to provide me with objective metrics for measuring what is "normally distributed...with the major components...of the operating system on which the executable runs." Equally imnpossible is a definitive response to the question "what is the preferred form of the work for making modifications to it?"

    In order to impart meaning to the GPL distinction between source vs. object/executable, one must go on a fact-finding parade to measure industry practice, and other wishy-washy standards. In the context of a dispute over a GPL'd bit of code, you can be damn sure that the GPL will collapse under the weight of this fact-finding process, and that the party with more patience and money will win that battle.

    There are some things that lawyers understand better than geeks, believe it or not. We are (generally) excellent at spotting weakness in prospective arguments. In the case of the GPL, there are drafting holes big enough to drive a Trident submarine through. I've said it before, and I'll say it again: the GPL won't hold water in a dispute. The reason no one has given you any precedent (as per your request) is that the GPL has not been truly tested in court. Since the GPL eschews the lessons that lawyers have learned about drafting in the past (largely in order to score points with geeks by being colloquial in manner and sounding un-lawerly), it cripples itself with imprecision and ambiguities. The weakness in its core definition of source vs. object/executable is merely one of many fatal flaws in the document. To be perfectly frank, the GPL is a POS contract and I would arguably be liable for malpractice if I advised a client to use it for reason other than their unbending adherence to open source dogma.

    In conclusion, you are likely to see many companies "abusing" the GPL. Rather than use the loaded term "abusing", I would prefer to characterize this behavior as "exploiting" the unsophisticated and niave drafting of the GPL's language.

    Since I said "IAAL", I must also say that the above does not represent a formal legal opinion, that I do not represent you (the reader) as your lawyer, and that you should not treat this message as my legal advice to you. Laugh all you want -- I'm just sticking to my ethical directives, kids.

  169. Obfuscated translation is copyright infringement by Adam+J.+Richter · · Score: 3, Interesting

    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, 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.

  170. (agh) It IS against the GPL by Second_Derivative · · Score: 1

    Quote from the GPL: "The source code for a work means the preferred form of the work for making modifications to it". This is not the preferred form, as your engineers didnt work with the obfuscated version, they worked with the original one. This is no different from distributing a binary or asm dump. And I sure hope that Konq didnt just post an empty comment with that title...

  171. GPL by Eric+Damron · · Score: 1

    If you modify code under GPL it remains under GPL even if that includes adding a large amount of code or simply changing all of the function and variable names.

    The only reason for changing all of the function and variable names that I can think of is in an attempt to hide the codes origin. It seems despicable to me. If your company gets caught, this tactic will not protect them from a GPL violation. It will only prove that they knew what they were doing was wrong and tried to hide it.

    --
    The race isn't always to the swift... but that's the way to bet!
    1. Re:GPL by Eric+Damron · · Score: 1

      Never mind, I didn't read your post carefuly. I thought that your company was not going to release the code under GPL. What they are doing is legal. Slimy but legal. As long as they release the entire project under the GPL.

      --
      The race isn't always to the swift... but that's the way to bet!
  172. What would be the point? by Anonymous Coward · · Score: 0

    I really can't see what your company stands to gain from all of this. Putting the obfuscated gobbledegook under GPL has no advantage for them, given that the whole idea of obfuscating it was to get away from the GPL.

    Even if the do GPL the obfuscated code, they won't be getting ALL the benefits of the GPL since they won't have hundreds of eyes checking the code for bugs for free - there'll only be company employees doing it.

    To top this, the obfuscated code will be an absolute bitch to debug (there are always bugs that crop up post release) and upgrade. The only way to overcome this would be to keep a copy of the un-obfuscated code, write and test all updates to the unobfuscated code until you are happy with it. Re-obfuscate the code and recompile it. Send it to the customer for beta testing. Get their feedback. Etc. Etc.

    Any errors that crop up during the obfuscation process are going to be an absolute bitch. If the code is as complicated as you say - it will not be an easy job to find what part of the obfuscation is going wrong. And even then you still might not realise that it is an obfuscation error.

    Staff will need to be carefully controlled to make sure that all changes are made to the unobfuscated code, because changes to the obfuscated code will be lost next time obfuscation occurs.

    Good staff relations will be an absolute essential because it only takes one disgruntled employee to blow the whistle. A quiet word to the original author and a note to the FSF could be all that is needed for an expensive and embarrasing public fiasco.

    All in all, I think that your company may just be better off contacting the ex-student and offering him a fee for the right to use his code commercially. You won't be able to buy exclusive rights to his code - it's already under GPL - and that should reduce the price. I'm sure that whoever it is will be more than happy to grant your company a licence to use the code commercially in return for a couple of sheckles. I don't know how much the code is worth to your company, but a cheque for £1000 or so would be a nice windfall if it were being offered for permission to use an old college project of mine. Even a couple of hundred would be nice.

    Brian M.

  173. Think internationally by tlk+nnr · · Score: 1

    If a lawyer claims that it's safe to ignore the GPL, always ask him if he has reviewed the national copyright laws of every country your company does buisness with.
    E.g. if you copy code from the Linux-kernel and you sell copies of your product to Germany, Suse might sue you in Germany. Or Conectiva might sue you in Brasil.

    I really don't want to be the messanger that informs the CEO that he must cancel his trip to Rio due to an arrest warrent ;-)

  174. GPL affects distribution only by PaxTech · · Score: 2
    Modifying someone else's source for your own purposes is NOT copyright infringement in and of itself. Copyright and the GPL do not have anything to do with usage rights, they deal solely with DISTRIBUTION of the code.

    i.e. I can modify the Linux kernel all I want, and I am under no obligation to provide anyone with my source code changes until and unless I distribute that changed kernel to another party. The moment of distribution is when the GPL kicks in, and requires me to make source available.

    --
    All movements for social change begin as missions, evolve into businesses, and end up as rackets.
  175. misc thoughts, but im not a lawyer.... by jreames · · Score: 4, Insightful

    I'm not an expert with legalese, but:

    First arent all the copyright notices inside comments ?

    Removing comments with the copyright notices would immediately violate T&C section 1. (while indicating acceptance of the whole document as per section 5), but then you aren't allowed to remove the comments. The obfusciation is seemingly permitted so long as the copyright comments still remain along with additional comments documenting the changes as required by section 2.

    The obfusciation is seemingly a process of derivation, that is you start with GPL product and do some M-x replace-string's... This derivation process means that the "proprietary intellectual property" is still GPL'ed...

    The GPL does NOT apply to sections not derived from GPL code, but only when they are published apart from the GPL portion. when the whole package is published it is still GPL'ed by inclusion of the GPL code (does anyone remember the Nvidia driver issues?)

    Also according to section 5 the fact that you edited the GPL code at all indicates acceptance of GPL terms and conditions. Failure to accept prohibits you from making modifications (such as the string search and replace described)

    The whole process seems expressly in violation of section 4, but i am no expert...

    What I fail to see is how anyone can avoid GPL except by producing clean-room-code. I seem to recall Nvidia having this problem with their drivers a while back.

    As an aside, isnt "chicken noodle soup" less than 30% chicken by volume? (but it is still considered a chicken product.) Your company's project might be 30% GPL code that was heavily edited (IMHO the only real weakness in the GPL is no "real" definition of "derived", however the common meanings of derive include "to trace the deveolpment of", which has been done...)

    A couple of questions: Is it possible to write a perl/awk/sed script (or otherwise algorithmically describe the obfusciation? (since global replaces are used i would dare way yes...) If this is true then an argument can certainly be made that the work was "translated" from "ANSI c++" to "ANSI c++" (hasnt anyone done english-to-english translation between say a lawyer and an engineer? or perhaps heard of such things?). This translated copy would seemingly be covered by section 0 and all other sections (as incorporated into the defitition of modification)

    just a few cents worth
    -j.

  176. Spirit of the GPL by Anonymous Coward · · Score: 0

    This *sad* approach to open source software may not violate the letter of the law when it comes to the GPL, but it certainly violates the spirit of the GPL. At the core of the GPL is freedom to read the source code and make changes you see fit, to make the software do what YOU need it to. Redistributing source code that is purposefully hard to use and or modify is in direct contradiction to this. Things like this really bother me, and I'm afraid we'll only see more of it as mainstream businesses take a look at OSS. Companies want to cut costs... I'm sure this company can't be the only one eyeing OSS, and saying to themselves 'how can we use this, but not have to give back'. Companies like this take advantage of the good faith of the open source developers who have spend countless hours providing the world with stable, free code that we can in turn use or improve. I doubt any of these developers thought they were going to be helping this company create proprietary code stolen from their own. Perhaps it's time for a GPL revision that can address this issue. This exploitation is only going to get worse as time goes on...

  177. Garbled Source != Source Code by 3247 · · Score: 2

    Garbled source code is no longer what the GPL defines as "source code": The GPL defines source code as the form preferred for making changes. A pseudo-source isn't that.

    --
    Claus
  178. Its not his lawyer, its him! by dnoyeb · · Score: 1

    The lawyer was completely correct in his statement, and I do it myself.

    What his lawyer said is if you take, Visual Age for Java, or Visual Cafe, Student editions, which prohibit profit off of programs made with them, and create, compile, and test some software to perfection. Then instead of compiling with those student editions for release, you simply compile with the free JDK, then you have a work which you can legally sell.

    so use the student compiler during development, and switch to the free unrestricted compiler for publishing.

    The statement from his lawyer had nothing to do with the GPL, so how did he make this leap??

    1. Re:Its not his lawyer, its him! by Anonymous Coward · · Score: 0

      Read the rest of the article, jackass. There's more to it than the small blurb on the front page.

  179. This is not "the source" wrt to the GPL by Anonymous Coward · · Score: 0

    IANAL but the GPL says in Section 3:

    "The source code for a work means the preferred form of the work for making modifications to it."

    So obviously the obfuscated stuff isn't the source because your company will not use it to make modifications to the program, will they?

  180. Then what is... by killmenow · · Score: 2

    If the GPL is a POS contract (I couldn't argue one way or another), what other "open-source compatible" licenses exist that would better protect an author's wishes to keep his code in the community, prohibit the said code from being incorporated into a privately controlled, profit-seeking venture against said author's wishes, AND stand up in court?

    I'm not asking you for formal legal advice, just your opinion as a lawyer. Are there any open-source licenses you COULDN'T drive a truck through? (much less a Trident...)

    1. Re:Then what is... by CAIMLAS · · Score: 2

      In the words of logic:

      It's impossible to say what, if anything, is or could be better than the GPL, if we do not first determine what, if anything, is wrong with the GPL.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    2. Re:Then what is... by scrytch · · Score: 2

      I'm not asking you for formal legal advice, just your opinion as a lawyer. Are there any open-source licenses you COULDN'T drive a truck through? (much less a Trident...)

      IANAL, but I'm guessing BSD and X11 (same thing these days). Just claims copyright and disclaims warranty, something every EULA by fortune 50 companies does...

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    3. Re:Then what is... by Anonymous Coward · · Score: 0

      Of course, with the BSD and X11 license - what are you defending anyway?

      The BSD and X11 licenses ARE gigantic holes. There'll never be a court case against them because no one needs to. They make it perfectly easy to violate the intention of an unwitting and unsuspecting public code developer.

    4. Re:Then what is... by Anonymous Coward · · Score: 0

      what other "open-source compatible" licenses exist that would better protect an author's wishes to keep his code in the community, prohibit the said code from being incorporated into a privately controlled, profit-seeking venture against said author's wishes, AND stand up in court?

      Really, I don't think it's possible. There simply isn't a good definition of "source code". You have to either rely on individual interpretation (as the GPL did), or you have to spell it all out, and you'll surely leave loopholes.

      The other point is that there really is no way to do what the GPL is trying to do without beoming a contract. If you want to close all the loopholes with disclosing the source (assuming you've properly defined source), you have to force people to release the modified source code to the copyright holder at the time the derivitive work is created. Otherwise you enter into a situation where two people can collude to keep the source from the public. But that of course violates one of RMS's principles. The only way around that is by taking away the third parties right to first sale, through an EULA. But that also violates one of RMS's principles. I'm convinced that it's simply not possible to do what the GPL attempts to do without relying on contracts and/or EULAs.

      The closest I've come to a copyleft which does not rely on contract law is the QingPL. It isn't a copyleft by the definition given by RMS, because it does not force anyone to release their source code, but it does manage to keep a work "free beer" forever IMHIANALO.

  181. Re:You are not anal enough either. (IAAL) by rgmoore · · Score: 3, Insightful
    Equally imnpossible is a definitive response to the question "what is the preferred form of the work for making modifications to it?"

    I think that this is a distinction that is much easier to make than the previous one you mentioned. All you have to do is to go to the computers where the people are actually writing the code and see what form of the program they are modifying. If they're working on the code in a format different from what is distributed, it's an easy case that the form that's being distributed isn't the preferred form for making modifications. That's especially true if you can find:

    • Expert witnesses who will testify that the code as shipped is essentially impossible to work on. From the description in this case it would be fairly easy to find these.
    • A company whistleblower who's willing to testify that the company deliberately obfuscated the code to make it more difficult to work on. Again, it sounds as though one should be available in this case.

    You're correct that this is not an open and shut thing, but it's not an intractable one, either. Most people have fairly sensitive BS detectors, and they're going to be able to tell that code that's been deliberately messed with to make modification more difficult is not in the preferred format for making modifications. All you have to do is show that a deliberate attempt has been made to obfuscate with the code and you're set.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  182. Didja hear the one about.... by Linux_ho · · Score: 2
    A truck driver sees a priest hitch-hiking and pulls over. The priest says, "Thank you, my son, the road has been long today.". The truck driver gets back on the road and a little while later, sees a lawyer hitch-hiking. Instinctively, he swerves to hit the lawyer, but then remembers that he has a priest in the cab. He tries to swerve back onto the road, but it looks like he might hit the lawyer anyway, and at the last second he shuts his eyes and hears a loud thump. Trying to play innocent, he says to the priest, "Oh Father, did I hit that man?" "No, my son, you missed. I got him with the door."
    So, back on-topic... your lawyer says, "'incidental resources' do not a work derive." However, this does not apply in the situation you have described. In the example you gave, you used someone else's IDE to write the code. Your lawyer is correct in saying that does not make your code derived from the IDE. The exact same code could have been produced with another IDE or a text editor. But your company's project is definitely a derived work, unless you can find a way to get it to work without linking to the GPL'd code. That doesn't sound like what you're doing. Linking against code makes that code no longer an 'incidental resource'. In your company's project, the only way you could prevent your "lucrative" code from being subject to the GPL's requirements is to re-write the GPL'd code yourselves without plagiarizing any of it.

    I assume that your company is planning on maintaining this codebase over time; if so, they will need to keep a human-readable copy around. This is the copy that the GPL requires you to make available to the public: "The source code for a work means the preferred form of the work for making modifications to it."

    I suggest you find a way to keep your code from linking against the GPL'd code. You can still distribute them together, but your proprietary code can't be a derivative of the GPL'd code without making available (at no cost) the entire "preferred form of the work for making modifications to it."

    Without knowing more about your project, I don't know what the best solution would be. Perhaps you could write a socket interface for the GPL'd code, which would have to be GPL'd. If you're lucky, maybe the original developers of the GPL'd code would accept that as a contribution and incorporate it into their project. Otherwise, you could fork the GPL'd project and make the human-readable source available for download from your company's systems. Then your product could use the socket interface and your company can use whatever license it likes for the 'much more lucrative' code.
    --
    include $sig;
    1;
  183. There's a way around this by phraktle · · Score: 2, Interesting

    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.

    1. Re:There's a way around this by Anonymous Coward · · Score: 0

      Yeah, thought of this too...an emacs mode that runs a long series of regexes at load time.

    2. Re:There's a way around this by Peter+Harris · · Score: 2

      But that's stupid, because it would certainly be more effort than just reinventing the GPL code they want to use.

      --

      -- What do you need?
      -- Gnus. Lots of Gnus.
  184. Slashdot ate my less than signs. by Anonymous Coward · · Score: 0

    oh well. I think you can figure it out.

  185. Re:You are not anal enough either. (IAAL) by abulafia · · Score: 1

    Can you suggest or provide a more legally palatable alternative?

    --
    I forget what 8 was for.
  186. Corporate law is risk analysis by stixnpics · · Score: 1

    I good corporate lawyer sizes up a situation
    by evaluating risks... IN this case the laywer
    probably feels:

    He can defend the tactic (after study of
    the GPL)

    or

    The "party" that might be offended
    has limited resources to attack and the feds
    won't see the behavior as a violation of
    any business codes

    Of course, it's really bad PR and hence puts your
    company in a major bad light and marketing should
    reject the idea ASAP. You can't buy such negative press in the technical space:

    "Company finds way to close "open" for a profit"

    A day without slashdot is like a day without stimulants... good for you but hard to take "cold turkey"

  187. Only release a patch by anthony_dipierro · · Score: 2

    You should suggest to your company that instead of releasing the whole source code, they only release an obfuscated patch to the source code. As long as the patch does not contain any of the original work, it is not a derivitive work, and you will not be breaking the GPL.

  188. obfuscated Does not Mean Validated by Anonymous Coward · · Score: 0

    The attempt to make it hard to impossible to read is basically a simplified form of encryption. Since they are just attempting to encrypt the source code for the express purpose of trying to hide it they code easily be busted for a copyright voilation.

  189. Re:You are not anal enough either. (IAAL) by anandsr · · Score: 1

    You can add another case to this.

    Just call a company employee, ask him which
    particular module he works on then show him
    the source and ask whether he can determine
    where his particular code is. I can tell you
    if the people obfuscated it enough the guy
    won't be able to recognize his own code. And
    if he does by some chance he will not be able
    to answer any further questions on it.

    -anand

  190. So much discussion == Time to update the GPL by sethdelackner · · Score: 1

    A lot of people here are having trouble seeing what "preferred form" means. That is partly because the GPL never spells it out.

    So I suggest to the maintainers of the GPL, the FSF I believe, the slight addition of:

    Addendum. Terminology Definitions:

    "preferred form for modifications": If a party modifies the product source code and releases their modified form, the "preferred form" is <insert ironclad legal definition of "the code that you hand modify in an editor when making changes, plus any tools that are required to transform the changes into the released product".>

    That last part is key. IBM released the jikes compiler along with the parser that was generated by their proprietary parser-generator. So in a great gesture of openness, they released the parser-generator.

  191. obfuscated code is not "preferred" by Mr.+Slippery · · Score: 2

    As usual, this "problem" can be solved by actually reading the damn GPL:

    The source code for a work means the preferred form of the work for making modifications to it.

    Obfuscated code does not qualify as the "preferred" form; you can't give one version away and hold an unobfuscated version for your own use. This is a clear GPL violation.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
  192. Slimyness does not pay. by Bobzibub · · Score: 4, Interesting

    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

  193. The "source code" has to be the _original_code_ by Anonymous Coward · · Score: 0

    Obfuscation is a transformation, same as compilation.

    The original source is the source that must be released.

  194. Its a derivitive work. by dbc · · Score: 2, Redundant
    Here are a couple of data points. IANALBIAMTO -- I am not a laywer, but I am married to one -- who just happens to have practiced in the area of software licensing for 10+ years. And I have worked with a couple of other software licensening attorneys over the years on open source issues. All three of these folks (with probably comibined 40+ years experience in the area) would have a consistent answer for anyone who suggested this: "What you are doing is a derivitive work, clearly covered by the GPL. It is clearly not allowed by the terms of the license. Now stand still while I whack you with my clue-stick."


    This is not legal advice. You need some.

  195. GPL an EULA? by Bistronaut · · Score: 1

    The GPL is an EULA.

    The GPL is not an end user licensing agreement because end users don't need to worry about it. Only non-end users (those who plan to redistribute) need to accept it.

    1. Re:GPL an EULA? by anthony_dipierro · · Score: 1

      The GPL is not an end user licensing agreement because end users don't need to worry about it. Only non-end users (those who plan to redistribute) need to accept it.

      You only need to worry about any EULA if you do things which require a license. For instance, you only need to worry about the Windows 98 EULA if you use the software on multiple computers on a network, since this is forbidden by copyright law.

    2. Re:GPL an EULA? by Znork · · Score: 2

      Nope, EULA's go beyond copyright and may do other things. They can forbid you to disclose your opinions on the product, they can forbid you to disassemble the product and they can force you to wear noseglasses while using the product. None of the restrictions in an EULA are dependent on wether or not you want to do something restricted by copyright law. They are additional restrictions, and you are (maybe, depending on a courts point of view) bound by the license if you use the product at all.

    3. Re:GPL an EULA? by anthony_dipierro · · Score: 1

      They are additional restrictions, and you are (maybe, depending on a courts point of view) bound by the license if you use the product at all.

      Contracts are not enforcible if there is no consideration. Giving someone the right to use software is not consideration, because they already have that right under the law.

    4. Re:GPL an EULA? by Cocoronixx · · Score: 1
      WRONG. You automatically have the right to use something I make? wtf country is this in?

      Snipped from Learning the GNU development tools:
      When you create a work, like a computer program, or a novel, and so on, you automatically have a set of legal rights called copyright. This means that you have the right to forbid others to use, modify and redistribute your work. By default no-one, except you the owner, is allowed to do any of these things. To relax these restrictions, you need to enter into an agreement with other people individually when they receive a copy from you. Such an agreement is called a License Agreement, which potentially entails rights and obligations to both you and them. It is very important that the License is written by a lawyer, and invoked from every file that is part of the work, in order for that file to fall under the terms the License. This can be done either by including the full text of the license or by including a legalese reference to the full text of the License. In the free software community, we standardize on using primarily the GNU General Public License, which we will discuss in the next section.
      --
      "Obscenity is the crutch of the inarticulate motherfucker." - cloak42
    5. Re:GPL an EULA? by anthony_dipierro · · Score: 1

      WRONG. You automatically have the right to use something I make? wtf country is this in?

      I automatically have the right to use something I buy. This is the United States.

    6. Re:GPL an EULA? by Znork · · Score: 2

      Not quite. There have been several cases on this, and as far as I remember, it has gone both ways.

      You _may_ be able to get out of the license in court. Unless you're in a UCITA state, in which case your politicians have been looking out for your interests really well, and ensured that you dont have rights anymore.

  196. Advice to the lawyers by Todd+Knarr · · Score: 2

    Read the section of the GPL that mentions "preferred form of the work for making modifications to it". Deliberate obfuscation of the code with the intent of making it useless for the purposes of modification could easily be construed as an attempt to violate this part of the license, and I'm sure the FSF, after recent court decisions, would be happy to discuss the point before a judge.

  197. Re:I don't think this tactic will help your compan by Anonymous Coward · · Score: 0

    > 2) If folks know from which original obfuscated
    code the GPL derives, it may be possible to
    write some program that separates it from the
    new code and then the new (but obfuscated) code
    can be examined and possibly cleaned up, then voila new GPL code.

    Only about 30% or so of this codebase is from that original GPL'ed code; even if the original source for that 30% is found, that leaves A Lot of obfuscated source to clean up before you'd have a usable codebase of the Entire project.

  198. This doesn't add up by TheFuzzy · · Score: 1

    A. Nomminous:

    IANAL, but I do a lot of contract negotiation. No doubt you'll hear from Bradley Kuhn.

    Is it legal? IMHO, Yes.

    However, that begs the question: what does your company gain from this? Yes, they will release a product under the GPL where others cannot meaningfully read their code(*). How is this advantageous? It will certainly lead to bad press for your company, on Slashdot and elsewhere, and thus hurt sales/PR. It will not prevent others from copying and compiling your source code, as-is, for free, and does not therefore enhance revenue.

    Either there's something you're not telling us, or this is a hypothetical situation that you are making up and not a real company.

    (* = eventually, someone would crack and release a program to reverse the search-and-replace operation to obfuscate your code. After all, it's easier than reverse-engineering bytecode)

    -Josh

  199. Preferred form by Anonymous Coward · · Score: 0

    From Section 3 of the GPL:
    "The source code for a work means the preferred form of the work for making modifications to it."

    Obfuscated code is clearly not the preferred form for making modifications. Hence this is clearly a violation of the GPL, and your company will probably be invited to argue their case in court.

  200. Hmmm.... Incompetant lawyer by Jippy_ · · Score: 1

    I didn't know that Lionel Hutz took computer cases...

    This sounds incredibly shady. If my boss came up to me and said "Jay, we need you to take this code from our competitors, change the variable names, and recompile it", I'd be pretty scared about it, along with any other legal decisions the company made.

    =-Jippy

  201. Plain, not strict, interpretation by Mr.+Fred+Smoothie · · Score: 2
    Under the strict interpretation of the GPL people are proposing here, it would not be sufficient to simply release the source code to this application - all the associated project files that the IDE manages would also have to be released
    From the GPL, section 3:

    "The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."

    It specifically mentions the compile and install scripts. So it's the plain interpretation, not a strict interpretation, that leads to the conclusion that one must include the project files, etc. You need to distribute whatever is needed to transform the source -- in the form that *you* the developer normally use to modify it -- into the object files you distribute.

    Note, I don't think that there's anything wrong with this or controversial at all. How useful would GCC be to you without all of the Makefiles? Not very.

    --

    1. Re:Plain, not strict, interpretation by anthony_dipierro · · Score: 2

      You need to distribute whatever is needed to transform the source -- in the form that *you* the developer normally use to modify it -- into the object files you distribute.

      Does this mean that AOL is violating the GPL, by not distributing Visual C++ with the source of mozilla?

    2. Re:Plain, not strict, interpretation by Mr.+Fred+Smoothie · · Score: 2
      No, I believe that compilers have a specific exception in the GPL along w/ OS's and standard libraries.

      The bottom line AFAICT is you need to distribute all the files needed to build it with a certain baseline set of tools assumed.

      --

  202. Hire your own lawyer by Anonymous Coward · · Score: 1, Insightful

    If you actually care about the issue, hire your own lawyer right now. Note: "your own" lawyer means a lawyer that you pay from your pocket, not some company department or company program.

    I would also recommend that you make your own paper copies of all the internal documentation that you can find regarding this decision process. It would be useful, at a future date, if the copyright owners whose rights are being violated can find these papers through the discovery process. Talk to your lawyer about a good way to do this.

  203. Short parade by Mr.+Fred+Smoothie · · Score: 3, Interesting
    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?
    --

  204. Totaly bad by Anonymous Coward · · Score: 1, Insightful

    First: The lawery of you firm are scum (ddddhaaaa).

    Second: If this happens you can cont me in for the RI team that will turn the ofced souce back to the real form. The DCMA dosn't apply where I live (and if we ever get such stupid law i will move)

    Third: Allso if your product is GPL you can still make mony from it (belive me). Theres no need to make a big PR of the GLP, just put it in your licence which nobody ever reads and put somewhere that the source code is avalible at and thats all (we sold over 4000 copis of our program and got only one request for the source code)

  205. But partial obfuscation might be enough by DeadVulcan · · Score: 2

    the overall point is that once the end product is GPL'd, it won't take long for someone in the bazaar to figure out a meaning for "asdfgh", and do a s/asdfgh/meaningfulName/g through the whole thing.

    Well, many people have already piped in with the "preferred form" clause forbidding obfuscated code, but if this were not the case, I don't think you would need total obfuscation to be able to abuse the GPL.

    If you re-obfuscate your code with every new release, and release often enough that everyone else spends all their time just de-obfuscating, then nobody will even bother trying any more.

    Of course, once one release is de-obfuscated, someone could fork it and roll their own release, but merging the crooked company's changes into their version would be a major pain in the ass. It would still amount to the company having a choke-hold on their branch of the code.

    Like I said though, it seems (fortunately) that the GPL already forbids this.

    --
    Accountability on the heads of the powerful.
    Power in the hands of the accountable.
  206. Re:VA Is Dying by Anonymous Coward · · Score: 0

    Fellow commander Thargoid hunter!

    Highest propz to ya dude!

  207. (Drum Roll)...The company is: by panck · · Score: 1

    Microsoft!

    Come on, tell me I'm wrong! Only Microsoft would be so evil/sneaky/mean !

    --
    "What thou shalt not, I shalt did!" -Bart Simpson
  208. Interesting dichotomy by cabodog77 · · Score: 0

    I find this to be a fascinating topic for this message board. The opinions seem to be overwhelmingly against this practice. In essence, taking GPL code and cosmetically changing it, is viewed as stealing and against the licensing terms, according to most of the posters here.

    However, the overwhelming majority of posters on topics that deal with the RIAA are totally opposed to their position (me included). But I think it is interesting to point out that ripping an mp3 from an original CD is essentially a cosmetic change of something that is fundamentally the same, obtained for free. Isn't this a bit of a double standard? As much as we do not like the RIAA, this is a very similar situation.

    It seems the only thing truly consistent here is that the sentiment overwhelmingly falls onto the side of the opposition of corporations and where the big money lies, which is not a valid reason for anything...it seems packed with envy to me.

    anyway, fascinating story and posts...

    --


    cabodog77
    "It's such a fine line between clever and stupid." -- David St. Hubbins, Spinal Tap
  209. Fools. by Anonymous Coward · · Score: 0

    Obfuscated source is *STILL* *SOURCE* *CODE*.

    For my work in classes, before I give a section of code to someone to learn from (IE, attempt to copy), it's obfuscated to hell. And it's written that way from the start. Obfuscation is *THE* single most powerful tool a programmer has to eliminate the least common denominator - the hoser who went to school and got a degree because 'der be sum gud money in compootrs!!!'

    Obfuscation is good. Repeat after me, obfuscation is good. If you must spend an hour figuring out what code does, chances are, you'll know exactly what that code does, inside and out. Oh, it's written in those neat little conventions? Why then, you can tell what it does at a glance!

    Or so you think, and then your product ships with bugs, half a million users fail to utilize the patch you've hastily provided after the fact, and countless servers are clogged and taken out by the resulting spewage of crap that happens.

    For work? I do the same. Oh, granted, there are conventions I have to follow then, but I'm lucky enough to not have the boss from hell. I don't need to type out unsigned_long_integer_that_holds_the_total_for_all _offices_and_soforth_verily_verily_verily_yea, and neither does anyone else (And they appreciate it!).

    Other programmers can figure out what toff is by looking at the code. Well, the good ones. We tend to chuckle at the ones who can't figure out what data type a variable is without those annoying little prefixes.

  210. No legal action possible until violation occurs by Webmoth · · Score: 3, Insightful

    IANAL so this is only from my observation:

    Several posters have pointed out that obfuscation is a violation of GPL, or at least the spirit of the GPL.

    Unfortunately, until your company actually releases a product based on obfuscated GPL code (commits a violation), you can't take legal action in the courts; you can only get a GPL-friendly lawyer to send nasty cease-and-desist letters.
    In other words, you can't stop it until it's too late. And if you do sue, the copyright holder (the creator of the GPL code which was borrowed) will probably have to be named as a plaintiff, as the violation was commited against HIS copyright, or possibly the FSF as a plaintiff's representative yadda yadda yadda. YOU probably will not be able to file suit as a plaintiff directly, unless somehow you can do it as a representative of the party claiming loss.
    If you do nothing else, inform the writer(s) of the original code of your company's intentions.

    --
    Give me my freedom, and I'll take care of my own security, thank you.
  211. Why?? by TheSHAD0W · · Score: 2

    Why would someone want to do such a thing?

    First off, given an idea of which GPL'd code such a project is based on, one could re-substitute function and variable names, and then determine what changes had been made and why, so your code isn't secure from reverse-engineering.

    Secondly, one of the reasons for the GPL is for people to be able to fix bugs and share those patches. By making it difficult for coders to parse the program, you're removing that capability.

    So basically, you're losing the GPL's advantages, and keeping its disadvantages.

  212. Just buy the damn code by millwood · · Score: 1, Interesting
    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.

    --

    "Hello, World", 17 errors, 31 warnings
  213. This could be the answer by kavau · · Score: 2, Informative
    earlytime wrote:

    from the GPL: "The source code for a work means the preferred form of the work for making modifications to it. (...)"

    IANAL, but I think this is the answer, although it has not been interpreted in the right way in the previous posts:

    If we interpret "the preferred form of the work for making modifications" as "the form the company uses for making modifications" then the company has only two choices after the first release of the software:

    1. They make modifications to the obfuscated form. Then they legally circumvented the GPL, but for a large project this is obviously not a feasible approach.
    2. They use the actual, unobfuscated source code to work on the second release. Then they have to declare it "the preferred form" and release the actual source code.

    I have a feeling it should be possible to get them with this...

  214. Ah... why not pay for a non-GPL'ed license? by jonabbey · · Score: 2

    If the project you want to rip off is owned by a particular developer or firm, why not approach them and see if they'd be willing to cut you a non-GPL'ed license to use the material in your project?

    You know, the way good capitalists do it?

  215. That is way the world would work if..? by WiredPaul · · Score: 1

    That is the way the world would work if it were logical. But alas our system of laws is often not.

    Just because A = B and C = D. Doesn't mean that B + D = F. The judge just might look at whether there is a copyright protection mechanism in place. If so and if it is being circumvented, the judge might rule that the DMCA has been violated regardless of the license involved. In that kind of scope I guess it all comes down to which legal document takes precedence the license or the law. If it is the GPL, then great Hooray for our side. But if it's the DMCA, we could have a problem.

    --
    Communication is about content not presentation.
    1. Re:That is way the world would work if..? by Anonymous Coward · · Score: 0

      Gees, That makes a scary kind of sense.

      I wish someone with some kind of legal expertise would wade in on this issue. I'm getting kind of nervous not knowing what's up.

    2. Re:That is way the world would work if..? by WiredPaul · · Score: 1

      That reminds me that I should state the obvious and declare, like most slashdotters IANAL (I Am Not A Lawyer).

      Not that I have given out legal advice or anything but just in case.
      --
      Communication is about content not presentation.
    3. Re:That is way the world would work if..? by ttyRazor · · Score: 1

      It's not their copyrighted work to begin with so they'd be in violation of the original authors' copyright in attempting to "protect" it.

  216. Re:Grow a pair (and LEAVE!) by Kamel+Jockey · · Score: 1

    Under no circumstances should you whistleblow in this case. Unless people were going to get hurt or killed, or something really bad is going to happen if you don't, then keep your mouth shut (this is only code, not a matter of life or death). Not only will you lose your job if you do whistleblow, but no one else will ever hire you, especially if any legal procedings make it into the spotlight. Sure, the law "protects" whistleblowers, but you and your family still need a roof over their heads and food to eat.

    If you do have moral reservations, or more importantly, you worry that you yourself may be implicated for this violation (and yes, it IS a violation), then you should start looking for a new job. You don't even have to tell your boss that this GPL violation is the reason you are leaving. If you feel the fecal excrement is about to impact the rotating blowing device, then leave immediately... no one can nail you for it. If you don't and this were to happen, well... look at the employees of Enron and/or BCCI, they are not on anyone's short list to be hired.

    --
    In case of fire, do not use elevator. Use water!
  217. Not quite. by Ash113 · · Score: 1

    The original source before obfascation is still a GPL derived work. It is not 'some random other program' that is being released in the end, but that program. Making the variable names difficult to read cannot be seriously expected to be enough to make it a completely different source tree.

    Not only does section 3 cover it about the most perfered form, but it would also be easy to argue that the non-obfascated program is in fact the one being released, as both versions of the source are the same program, or you'd not be bothering.

  218. Wrong, Foolish, and Fishing. by replay+TV+Guy · · Score: 1

    Either you have not spoken to a lawyer and are expecting users to point out your flawed thought process or you live in Southern California. There is a big difference in how the "gooblygook" was derived. Could you have produced your "gooblygook" thru other non-GPL'd tools as your example of a word processor /text editor would do? The answer is no. Also, fools that believe that you can fool experts in a court of law by changing coding "names" deserve unemployment.

  219. If it's GPL'd, can't YOU distribute it? by LuYu · · Score: 2, Insightful

    This code is under the GPL, and therefore technically, all of it is now free software, so why doesn't this annoymous reader distribute it himself? It can't be a corporate secret: It's GPL'd It is not the company's IP: It's GPL'd Even employees who contributed to the code don't have rights over the GPL'd parts you adopted. They only have rights to the parts they wrote. However, any code they contributed to the complete project comes under the GPL if it's distributed together with the GPL'd code. In other words, it's all free software, so why not beat them to the punch. Then their obfuscated garbage code would be just a waste of time and money. Anyway, though, I'm not a lawyer, so don't listen to me if you value your job and don't plan on getting sued. I guess whether they would win or lose is irrelevant when all your paychecks are going for legal fees...

    --
    All data is speech. All speech is Free.
  220. Firing up translators by shotfeel · · Score: 1

    Cool! That means I can translate any written works to Klingon, and they're no longer copyrighted by anyone but me. Hmmm. Maybe pig-latin would be easier.

  221. Algorithmic licenses? by cabodog77 · · Score: 0

    If source code is the same source code, even if the variable names have been changed (which would seem like a plausible claim), then the license really isn't on the "literal" source code, it is on an algorithm. Therefore, this presents another problem: if the license is on an algorithm, it is very likely that more than one person can independently produce exactly the same algorithm...who owns the license to that? Take a queue implementation, for example. How different will different organizations' implementations of a queue be? If there was a GPL license on an app with a Queue, who owns the license? And does the license apply to the separate parts of the product (an individual class in an application, a la plagiarism in literature), or to the whole application? If the whole application, then this company gets away free, probably. But if not, there is a much bigger mess...there are small parts (classes) in probably all apps that violate existing licenses of other apps.

    --


    cabodog77
    "It's such a fine line between clever and stupid." -- David St. Hubbins, Spinal Tap
  222. GPL hasn't even been proven to be legal yet. by voxel · · Score: 1

    The GPL license has yet to be brought to court. This is why companies are afraid of it because they don't know what would happen in a court of law. Until a company is brought to court, and they win, or loose, there is no confidence in GPL's ability to protect any source code.

    Companies are afraid because they could legally have to open up ALL of their source code because even though they followed the GPL, they didn't quite interpret it correctly. If a companie wins, it could mean all source code out there is now up for grabs, then every company in the world would jump and essentially "steal" the worlds work under GPL.

    --
    Modesty is one of life's greatest attributes
  223. It is possible to mix GPL and Proprietary by DeMartini · · Score: 1
    Although how this company suggests doing it is wrong, I think using GPL'd source code in proprietary projects is something that a lot of companies want to do. The gains are obvious. Reduced time. Reduced costs.

    Everyone knows the difficulty. By using GPL'd software any modifications you make are also GPL'd and must be released as source code that anyone else can then freely use. Meaning any changes you make that would have otherwise been proprietary are now basically free beer for everyone else's consumption.

    The solution, it seems to me, is to separate out whatever is proprietary and GPL. Convert Any GPL'd software you want to use into DLL's or whatever library fits the platform for which you are coding. The GPL will still compel you to release source for DLL conversion you made, but it will not compel you to release your proprietary source. Code that calls the DLL is not part of the DLL itself.

    I think that everyone wins with this approach. Companies reduce costs. GPL'd source code gets easier to use, and most likely better maintained. Companies don't have to give away their source code for free. Everyone is happy.

    This is also an ethical solution. Although some may disagree, I believe it honors the spirit of the GPL. The part that was free is kept free. The part you added can be licensed as you choose, and that is how things should be.

    1. Re:It is possible to mix GPL and Proprietary by Anonymous Coward · · Score: 0

      No, actually that's not legal. GPL'd code can not be used as a module to a more restrictively licensed program. This is specifically mentioned in the GPL.

  224. Re:You are not anal enough either. (IAAL) by milo_Gwalthny · · Score: 3, Informative

    Of course, as a lawyer, you should also realize it is ten times more expensive to defend than to sue. The costs of responding to discovery, alone, can easily hit six figures. And, (personal opinion) the obviousness of the obfuscation would probably be enough to prevent dismissal. So, the real question is not "could the Company in question win a suit," because we all know that in the lottery we call Trial by Jury anyone could win on any given day. The real question is "could the Company lose." A loss in court might result in the inability to sell their product for some period of time, or damages to the extent of their sales. If the company is small enough, this could mean the end of it. Is it worth the gamble?

    --
    Milo
  225. Huh? Completely illegal! by rew · · Score: 2

    A quote from the GPL:
    The source code for a work means the preferred form of the work for making modifications to it.

    The GPL states that you should provide the source code with your binary, and it correctly defines the term "source code".

    Not just "the stuff that the compiler uses as input", but the preferred form for making modifications.

    Case closed.

    Roger.

  226. Interesting, very interesting, but stupid by Arandir · · Score: 2

    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 is true. There's no way this could be considered a derivative work of your development environment. In fact, I don't see how ANYTHING could be considered a derivative work of any development environment. Shrink-wrap not withstanding (which is bogus to begin with), you have full legal right to use any software you have legally obtained for any legal purpose.

    My company wants to translate this to an abuse of the GPL and has been advised 'full speed ahead!'

    I don't see how. The previous scenario with the development environment did not involve any actual derivation. You were using the environment as a tool and did not create any derivative works of the environment.

    The situation with source code is much different. A derivative work is a derivative work is a derivative work. If any significant amount of the source code gets included, incorporated, translated or transformed into your own work, your work is a derivative of the GPL source code. I don't see any way around this.

    they instead compile a bunch of incomprehensible gobbledygook that just happens to compile to the same bytecode.

    Hmmm, my brain's still churning this one over. I guess it depends on what you mean by "incomprehensible gobbledygook." If you use the bytecode to reverse engineer a fractal function that produces the same bytecode (as an example), then you would be in the clear. But if you use the source code to derive that gobbleygook then you are not in any sort of deterministic fashion, then you are not.

    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.

    Nope, can't do it. Obfuscation is still derivation. Obfuscation is still a form of translation, and translation is derivation. Besides which, the above in no way relates to your earlier statement regarding "incidental resources."

    Let me tell you what you CAN do: You can reimplement the algorithms in the original GPL code. Then you will not be creating a derivative work.

    All the benefits of a huge GPL project and countless thousands of volunteer hours and unreadable, incomprehensible source tree.

    Even if you manage to get your scheme past the courts, you still run into a big problem. This problem is well known in the BSD community, which is why no one has yet been able to produce a *successful* proprietary BSD that wasn't already on good terms with a free BSD variant. The problem in a nutshell is that you've created a fork. Trying to track the original source while keeping your own features and improvements intact will be a nightmare of code management. If you're willing to burn all your bridges, go for it, but if you find yourself on a tiny desert island with no way off, it's your own damn fault.

    Example: FreeBSD and Apple are on good working terms. Apple forked off Darwin, but had to make Darwin Open Source (and somewhat Free) in order not to create a horrible sync problem. BSD/OS was also derived from the generalized open source BSD code base, but they had to remain on good terms with the free BSDs, to the point that they even contributed their own proprietary code to FreeBSD just so it wouldn't get forked off into oblivion.

    Another example: the GNU Emacs / XEmacs fork works for only one reason: they are both Free Software. If XEmacs was made proprietary from day one, it might possibly still be around, but GNU Emacs would be feature rich and viable while XEmacs would still be languishing back at the fork point.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
    1. Re:Interesting, very interesting, but stupid by Arandir · · Score: 2

      Update: I just realized that the scenario in question was to release the company's work under the GPL but in an obfuscated manner. The red herring about "incidental resources" through me off track. Sorry about that.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  227. Everyone is looking at this the wrong way! by Tjp($)pjT · · Score: 1

    Encourage the company to do this. There are hundreds if not thousands of _very_ smart folks that we gleefully create a derivitive work from their derivitive work that explicitly explains in great detail just what the code does in comments and they'll put variable names in that mean something. It could event be made into a contest (get EFF sponsorship?), 'The Deobfuscated C++ Contest' ...
    If the original GPL code is 30% of the product that certainly qualifies as substantial contribution, and is not the case of using a tool that could otherwise be a different tool. Since one could say that the obfuscation program compiles the original GPL code to the obfuscated form, then the original GPL code is still the source. Unless it is LGPL code, then it would seem the entirity of their program would be forced under GPL.

    --
    - Tjp

    I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

  228. Just Because I'm an asshole by Anonymous Coward · · Score: 0

    that does not make me a LAWYER ....
    shees

  229. So many posts. So little time. by fm6 · · Score: 5, Funny
    Why did it take so many posts for someone to point this out?
    Silly question. As with any online discussion of a controversial matter, there are certain accepted protocols. Before you begin the serious part of the conversation, you must first rant about the evils of the Legal Profession, Big Corporations, Current Concepts of Intellectual Property, Where It all Went Wrong, etc. If at all possible, you must make yet another attempt to resolve the Capitalism-versus-Socialism issue. Only then can you actually address the question at hand.
    Do people not read the GPL?
    What kind of pinko PC new-age bullshit is this? This is America, buddy. I'm entitled to my opinion, which means I'm entitled to have my opinion accepted. I don't have to waste time going around "verifying facts" and "considering the reliability of my sources". You start going around making up all kinds of rules like that, before you know, I have to get a license to open my mouth!
    I would be highly suspicious that your lawyer is insufficiently anal when reading contracts if they missed this.
    Well, maybe he's incompetant. Maybe he just wants to score points. Maybe he's got some weird legal theory that makes sense to him. Maybe there's some obscure rule or precedent that makes the clause in question moot. Maybe...

    Eh. It doesn't really matter. What does matter is that he's got a legal theory as to how the GPL can be sidestepped. It might not hold up in court. But that doesn't matter until it gets to court. There's no Bad Law Fairy who's gonna come out of the sky and put things right. Somebody is going to have to mount a legal challenge to this abuse. That somebody has to have legal standing in the case and deep pockets. Now, don't all raise your hands at once!

    What a day to be without moderator points...
    OK, I just ran out of irony. Look, the mod system worked -- maybe not as fast as you liked, but it did. Don't feel bad because you didn't get to put on your Arnold mask and mod all the lamers down. It's just a damned filtering tool, not a way to Rebalance Universal Morality.
    1. Re:So many posts. So little time. by Anonymous Coward · · Score: 0
      This is America, buddy.

      Really?

  230. where did your lawyer learn to practice law? by Anonymous Coward · · Score: 0

    please don't say la law or ally mcbeal

  231. Why do we need to buy your program? by Estragon · · Score: 2, Insightful
    OK. Your company does this. Then I buy one copy of your program. And the source code. I cannot read the source code, but I it must be released under the GPL. I build a copy of your program using the source code.

    Now I can give away the program I built from GPL'ed source code.

    How does your company sell a second copy of the program?

    --
    I rejoice that there are owls.
  232. No easy answer... by SPYvSPY · · Score: 2, Funny

    There might be a more airtight alternative public license. I don't know. One of the reasons that I became a lawyer was to avoid ever having to hire one.

    1. Re:No easy answer... by bbqBrain · · Score: 1

      First, I modded up your first comment as I felt the "flamebait" moderation clearly meant "I don't agree with you." In a fair trial (assuming there is such a thing), I believe the argument that, if the company cannot modify the code in the obfuscated form, this must not be the "preferred" form would stand. In practice, I suppose anything is possible, especially with an adequately slick defense team and insufficient representation for the FSF (or whomever).

      Second, I've adopted your line above as my sig. I hope you don't mind. :-)

      --

      One of the reasons that I became a lawyer was to avoid ever having to hire one. -SPYvSPY
    2. Re:No easy answer... by bbqBrain · · Score: 1

      Oops. I meant to post as AC and give my username. There went the moderation points. ;-)

      --

      One of the reasons that I became a lawyer was to avoid ever having to hire one. -SPYvSPY
  233. So... by talks_to_birds · · Score: 2
    ...your company could send out people to rob banks, and probably get away with quite a few robberies if they were the least bit sharp about it.

    What's the difference?

    They're bad boys; they're stealing.

    t_t_b

    --
    I'm on PJ's "enemies" list! Are you?
  234. Your clarifying language... by SPYvSPY · · Score: 4, Informative

    Yes, that would be one test for "preferred form", but there are others and the other side of any dispute will present them. The point is that the standard that you propose does not necessarily follow from the language of the GPL. In other words, your standard is more suitable than the GPL language. Of course, at trial, the credibility of your engineers and/or anyone testifying about their procedures will be at issue.

    1. Re:Your clarifying language... by jcast · · Score: 1

      Why wouldn't the opinions of the author of the license and the licensor be most important in determining the meaning of the license?

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
  235. IANAL bastard by Anonymous Coward · · Score: 0

    b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. You say your company's going to GPL the end result. Disregarding it's obfuscated nature for the moment, you've otherwise satisfied the GPL in that it's available for free and open source. You will, of course, also be obligated to release all subsequent versions as GPL unless you redo it entirely (eg - the latest version can't be based on other GPL code or the GPL'd version of your code.) Whether the "preferred form" for editing will be enforced or not I would assume would depend mostly on the popularity of your project.

  236. Re:You are not anal enough either. (IAAL) by WNight · · Score: 5, Insightful

    You may be a lawyer, but no other lawyers seem to agree with you.

    I went across the hall at work yesterday and asked two lawyers who I often see over lunch about this. They said that while "preferred" and such terms are often fairly vague and cases hinge on those, in this case, where you can simply show the inability of the company to use the obfuscated code, and the obfuscating programs used, that it's dead simple.

    Too bad modern judges can't hand down rulings that really cut to the heart of the problem...

    Ruling that the company must delete all other source code and forever maintain the project using only this source code and other code in this form would quickly show if this was the preferred method. :) When the company goes out of business it'll show they were lying.

    (With creative and honest judges we could get by with a lot less of your type.)

  237. How's this lucrative ? by sydb · · Score: 2

    If they release the (obfuscated or otherwise) code under the GPL, I can redistribute to my hearts content, as long as I follow the terms of the GPL.

    I don't need to give the company a penny and nor does anyone else.

    Ignoring the probable case that this IS in a GPL violation, I don't see how it can be lucrative.

    --
    Yours Sincerely, Michael.
  238. The Industry Needs Guidance by Anonymous Coward · · Score: 0

    It might be to the advantage of the Open Source movement, to have a collection of interpretive bulletins of the GPL, case studies, and related legal case history such that we see fewer instances of license abuse happening (or being contemplated) such as this.

  239. Ha ha, too dangerous, but for a different reason. by gnovos · · Score: 2

    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.

    So your company would have NO issues with me developing a "random number" generator that just happens to return me a number that, when converted to bytes, is exactly identical to your finished product. Now, I did all the development effort, I generated the number, so I can sell that number to all comers. Fun, huh?

    --
    "Your superior intellect is no match for our puny weapons!"
  240. Morpheas by castro1959 · · Score: 1

    would it be at all possible that the program spoken of here is the morpheas clone of gnucleas? they could want to remove the editablity of the code so that people could not remove the advertising from which they gain most of their revenue. think about it.

  241. Um... so how do y'all know what code to check? by ragmana · · Score: 1

    So I get that that it would probably be a violation of the GPL, and that dedicated and angry people have a number of ways to strike back. But, the post does not mention the company or project or lawyer involved. How would anyone know which project out there to investigate for the obfuscation?

    (I'm ignorant here, not being a programmer myself, so perhaps the answer is obvious to you all. Fill me in.)

  242. Sounds like Microsoft by Anonymous Coward · · Score: 0

    Microsoft has already used GPL'd code in their products. Check their website, they give credit to the author in the relnotes.htm file, but never did contact him, and only assumed it was bsd licensed. When his name is all over it, you'd think they'd ask.

  243. What about the implications for the company? by xdeadbeef · · Score: 1

    The company can't even sell the product, since they don't own the exclusive copyright to it. Which means everybody else has just as many rights to do whatever they please with the software as the company. So really, even if it is a crappy and shady thing for them to do, it's also very stupid and not very well thought through. They'll get what's coming to them anyway.

    -Justin

  244. MOD PARENT UP! by Anonymous Coward · · Score: 0

    please

  245. Let them do it by rusty+spoon · · Score: 1

    The *source* is what they created their oh-so-clever obfuscated code from. That's the bit the GPL refers to. Same would be said if they used a fancu GUI tool to generate the code I guess. Go ahead and let them do it. It would be great to see the GPL virus tested in court for a change.

  246. A lot of use of the term 'preferred form' here ... by Anonymous Coward · · Score: 0

    Now when I see that lil term in context of what makes something source code, one thing jumps to mind that everyone else has ignored. Apologies in advance if others have already mentioned this and I missed the posting.

    I always just assumed that the part of the GPL meant nothing more (or less for that matter) than 'plain text'. And that's it, ascii usually and perhaps in Europe or Asia some other encoiding - whatever it is that's run through the compiler. So they can't give me machine or assembly code and say it contains their modifications, they gotta give me the plaintext of their code, suitable for being compiled/interpreted, whatever.

    I'm pretty sure that they can obfuscate and it's still in it's 'preferred form' ... I think thjey'd argue that 'preferred form' refers to format not quality or usefulness. People here are saying things like I'd prefer this or that or the other ... well, I'd prefer some bug-less elegant wonderful code ... that's what I prefer, but if the guy decided to make a huge mess o' spagetti out of it, that's his perogotive.

    Bottom line, they can give us crap as long as it's the crap they compiled to generate what they distribute. The 'what they distribute' part is important here ... they can internally do whatever the heck they like and the GPL doesn't say boo. It's all about the deployment. So if the run the 'pretty' code through an 'uglifier' and then compile that to deploy ... I say they're abiding by the GPL.

    Obviously I'm not a lawyer and I've only read through the GPL a few times to settle arguments over what it does/doesn't say. But I can see a valid argument for 'preferred form' == 'plaintext'

    Bottom line I'm not sure. So, Please! If I'm missing something obvious here - chime in and let me know as I've always wondered why noone has ever just said 'it means plain text'

    Kevin

  247. MS-linux with obstificated source by Elivs · · Score: 2, Funny

    imagine in MS decided to release a version (for cost) of debian with MS-office, but all the source for the debian was obstificated. They could argue that for them the preferred form of source is the obstificated code.

    Judge: "Do your programmers make their modification to this gooble-de-gook?"

    MS-lawyer: "Yes"

    Judge: (looking incredulous) "How?

    MS-lawyer: "For every programmer actively working to improove our source, we have ten others trying to work out what we did last week."

    Judge: "So your programmers can't work out what other programmers working on the same code are doing?"

    MS-lawyer: "That right!! No programmer can even work out what program they are working on. Its our preferred method of development"


    Maybe they are doing this already...
    Elivs

  248. Your "type"? by SPYvSPY · · Score: 2, Flamebait

    Your friends told you what you wanted to hear. Nevertheless, the GPL remains malleable to a fault.

    What if the "preferred form of the work for making modifications" is an encoded document that requires a special interpreter to re-compile? Is that "machine-readable"? Technically, it is. Do "interface definition files" include the interpreter? Maybe - maybe not.

    Notice how the GPL fails to require that the source code be presented in a form that can be compiled with readily-available tools? That's what I'd call a giant oversight.

    BTW, the fact that your two lawyer friends don't agree with me does not mean that "no other lawyers" do. It's this kind of logic that separates my "type" from your "type".

    1. Re:Your "type"? by drudd · · Score: 2

      From section 3 of the GPL:

      The source code for a work means the preferred form of the work for
      making modifications to it. For an executable work, complete source
      code means all the source code for all modules it contains, plus any
      associated interface definition files, plus the scripts used to
      control compilation and installation of the executable
      . However, as a
      special exception, the source code distributed need not include
      anything that is normally distributed (in either source or binary
      form) with the major components (compiler, kernel, and so on) of the
      operating system on which the executable runs, unless that component
      itself accompanies the executable.

      So any tools not readily available which are required for compilation are required to be distributed with the source.

      I'd say preferred form of the work for making modifications is pretty clear. If the company develops on the obfuscated code, then yes, it's source. If, instead, they edit normal source then use some obfuscation tool, then that tool is required by the GPL to be distributed, as is the original source itself!

      I doubt any serious company would be willing to chance their entire business on a judge's interpretation of the (admittedly) vague words preferred and normally, particularly when the intention of the clause is very clear.

      Doug

      --
      Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
    2. Re:Your "type"? by Anonymous Coward · · Score: 0

      You forgot to include your disclaimer. Don't think that once in an earlier post that the reader may not have seen cuts it, "lawyer".

    3. Re:Your "type"? by Anonymous Coward · · Score: 0
      So any tools not readily available which are required for compilation are required to be distributed with the source.


      Um. No that's not what it says at all. It says scripts, ie. Makefiles, configure, etc. Not 'gcc', 'javac', your favorite Modula-3 compiler, etc.
  249. No, please do!! by BeBoxer · · Score: 2

    He wants more legal tests of the GPL, and would love to make an example of your employer. Don't go there.

    Don't listen to Bruce. You're employer should definitely go there. Some of us would like nothing better than to watch a blatant GPL violator get dragged over the coals in court. Oh what a fun spectator sport it would be. :-) Is your employer rich? If so, it could be a good way to get a nice FSF endowment started, eh? So many court cases are depressing from an open source coder point of view. Your employer could help cheer us all up! Please? Oh, and your lawyer should know that I have a patent pending on "A method of getting rich by convincing a hapless client to step into a bottomless legal morass"

    1. Re:No, please do!! by crispy · · Score: 1

      You are assuming that the GPL will stand up in court. Certainly, that would be nice, but there's a chance that it will be thrown out. If that happens, the open source movement as we know it will come crashing down around us and the millions of man hours that we thought were being spent for the good of all mankind will become null and void overnight. Personally, I think we should let the GPL stand as a threat as long as possible and do our best to beef it up in the meantime so that it will withstand a court battle.

      --
      My sig has a broken link in it.
    2. Re:No, please do!! by GypC · · Score: 2

      Not really. If the GPL were shown to be invalid, then code would revert to its original state of copyrighted material, and it would be much harder for anyone else to use it. It could then be relicensed under the BSD license or a new form of the GPL.

  250. What about inventing a new, non-gnu "language"? by EccentricAnomaly · · Score: 2

    Because the GPL says you have to redistribute the source, modified or original, as source. You can do it as binary too, but you have to distribute the source to any person that you distribute a binary to that wants it. This obfustcated text is NOT source code... it is a preprocessed intermediate bytecode.

    What if I call my obfuscation a new language, 'C--' and I offer to sell a compiler that compiles my C-- language to C?

    Couldn't I offer the source to my new modules written in C-- and link to GPL'ed modules and meet the requirements of the GPL, even if a compiler for C-- is only available commercially?

    Heck, I could make several key functions part of the C-- language spec and not have to release the code at all.

    Please tell me that I'm wrong here.

    --
    There are 10 types of people in this world, those who can count in binary and those who can't.
    1. Re:What about inventing a new, non-gnu "language"? by kevinank · · Score: 2

      What if I call my obfuscation a new language, 'C--' and I offer to sell a compiler that compiles my C-- language to C?

      If the language is obfuscated then you probably don't use it to maintain your code. If you don't use it to maintain the code yourself, then it obviously isn't the preferred form for modification, thus you would be in violation of the GPL.

      On the other hand, if you invent a new language that links easily to C but isn't C, and distribute the source for your program in that language then indeed the binaries would conform to the GPL even if there is no freely available compiler for that language. Most people don't go to the trouble of writing a new compiler though just to avoid GPL violations.

      As far as libraries go, GPL'd code can be linked to proprietary system libraries without violation of the GPL, but that doesn't mean that they can be linked to language specific libraries which are not a part of the operating system.

      --
      LibBT: BitTorrent for C - small - fast - clean (Now Versio
    2. Re:What about inventing a new, non-gnu "language"? by Danious · · Score: 1

      If the language is obfuscated then you probably don't use it to maintain your code. If you don't use it to maintain the code yourself, then it obviously isn't the preferred form for modification, thus you would be in violation of the GPL.

      That's it in a nutshell...

  251. "Preferred" is well-defined here by coyote-san · · Score: 2

    You may be a lawyer, but you don't know squat about development.

    The "preferred" source is *always* the highest-level code in a compilation sequence. This source, and this source alone, will maintain iterations across compilation cycles. On an idiot or an incompetent fool would attempt to modify any derived files unless there was absolutely no other alternative, e.g., ancient mainframe programs where the source code has been lost.

    In this case, the company is proposing releasing COMPILED code, not source code. Don't be confused by the common usage of "compiler," technically a "compiler" is any program that takes text and rewrites it in a mechanicalistic manner into a second text. That includes conventional compilers, YACC and LEX parsers, ESQL/C preprocessors (such as Pro*C and ecpg), RPCGEN, gperf and code obscuration tools.

    The fact that the compiled output can be run through a C compiler is irrelevant. The output of yacc, lex, gperf, rpcgen and Pro*C can also be run through a C compiler, but nobody who uses those tools would ever consider these derived files the "source." They processed files are distributed solely so that third parties without those tools installed can make changes to other files and compile the system as a whole.

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
  252. OT: Modern Judges by SPYvSPY · · Score: 1

    You're really showing your ignorance when you jab at "modern judges". Judges today are some of the brightest, most dedicated people in any profession. This is especially true at the federal level (where it matters most) and less so for elected judicial seats. I used to work for the judge that shut down logging in most of the Pacific Northwest in order to require the EPA to undertake an EIS. Talk about cutting to the heart of the problem. There are a million other examples. What if someone sat you in a federal judge's chair and asked you to run a day of trial/orders/sentencings/settlement hearings/etc.? Think you could do as well? Think again.

    If you don't like what the federal judiciary is doing, you can blame the Congress. And guess what? You vote for the Congress.

    Aside from all that, have you ever read a legal opinion from the 19th century? I suspect you'd be squirming in your Aeron during all the pomp and circumstance.

    1. Re:OT: Modern Judges by WNight · · Score: 2

      I'm actually not jabbing at modern judges. I'm saying that they don't have the freedom to hand down the "right" judgement in many cases. I doubt many judges like finding for some jerk over the person they screwed around, just because the jerk had an expensive lawyer draft up a misleading contract.

      And as for congress. If I didn't vote for the winner in my riding, do I get to disclaim all responsibility?

      To answer your other post...

      Both of the lawyers agreed that because preferred form is fairly easy to establish. Much like people on here were saying, set one of the developers down and make them develop with the mangled source.

      The GPL does require all build-related scripts and the preferred from of source code. If the preferred form requires manipulation, it should be in those scripts. If not, they'd better be able to develop with that source.

      As to no other lawyers agreeing... Sure, others do, the greedy ones working for the company mentioned, as an example. But you're the only one I've seen on Slashdot, or talked to in person, who seems to think that "preferred form" isn't fairly obvious.

    2. Re:OT: Modern Judges by ahde · · Score: 2

      You really tainted your own credibility here.

      "Modern Judges" are a real problem, especially at the federal level. That may be a subjective opinion, but a survey of those who hold the opinion (asking those who disagree would be pointless) at which level judges are most corrupt, and a definite majority would show those at the federal level are.

      You then go and cite a case where a judge exercises a bias to rule *contrary* to existing law -- by shutting down logging, an otherwise legal activity-- to side with a complainant in the absense of evidence!

    3. Re:OT: Modern Judges by TekPolitik · · Score: 3, Informative
      But you're the only one I've seen on Slashdot, or talked to in person, who seems to think that "preferred form" isn't fairly obvious.

      It's not so much that "preferred form" is obvious, it's that "the preferred form" is obvious. Note, not "a preferred form". The common meaning of "the preferred form" allows for exactly one form to fit this description. In other words, out of all of the available forms, the one that is the best possible form for modification is the one that has to be distributed. Quite clearly, if the company is continuing to modify the program in form X, then form X is, prima facie, the only possible form that fits the phrase "the preferred form".

      The only way this could be negatived (yes, that is a verb in lawyerspeak) is by demonstrating that the form used for development is a form not convenient to others, and the translated form is actually preferable for those others.

      IANALY, but I did top the year last year, and this is a simple question of interpretation that a first year law student could deal with.

  253. Re:A lot of use of the term 'preferred form' here by J'raxis · · Score: 1

    I think preferred form implies preferred, human-editable form, but the wording is vague and could expose a possible loophole. If it does just mean plain ASCII/ISO-8859 text, then assembly would actually be acceptible assembly can come in plain text files! If we take preferred form to mean preferred human-editable form, then something like:

    dshkg_238 *dfk_jgdwrtF_EWFJewkjgt_jkewD_SGJL( xzcbCBxcV_39 dwleg_hfew, wd4397_3_frwek *fhjgew_w32Flsd, dsk39fd__ewhjg *dijh_t[] ) { ... };

    (or however they are obfuscating) is no more usable than assembly.

  254. No it isn't. by SPYvSPY · · Score: 3, Insightful

    While some judges might let you bring your industry usage of the term "preferred" to bear on the meaning and intent of this contract, just as many other will demand that the agreement be interpreted "within the four corners of the document". And why should one have to resort to an "industry standard" definition, when the question could easily have been addressed in the agreement itself? And how will you go about proving that your usage of preferred is widely-accepted? Will you bring in witnesses? How many? How many will your adversary bring in to prove that your usage of the term is not "industry standard"? How long will the parade of witnesses take? How much will it cost? Why wasn't this dispute clarified in the agreement before all the lost time and money? Do you have answers to these questions?

    1. Re:No it isn't. by qjkx · · Score: 2, Informative
      IANAL, but I think that you are introducing an assumption that makes "preferred" seem poorly defined when it really isn't. Here's what I'd agrue:

      The subject of the verb "prefer", that is, the entity or entities doing the preferring, is not specified. Therefore we have to infer it.

      I would say you have shown that when "people in general" or "people in the industry" are the preferrers, the word has no objective meaning. I agree, and note that any definition we give here could cause the unmodified distribution to be in a non-preferred form, and thus not source.

      However, there is another reasonable grammatical possibility for who the preferrer is, namely the person(s) modifying the code.

      Now, if the modifier is the preferrer, preference is easily determined by his/her/their past actions. We can ask what form they used to modify the code (i.e. put them on the stand, and if they lie and say they modified the obfuscated code, ask them to explain what various sections of the obfuscated code do). In this case at least there is exactly one set of documents which fit the criteria.

      So we have two interpretations, one of which leads to a meaningless statement, and one of which leads to a meaningful one. This is a common situation in English, and the general convention among English (or other language) speakers is to go with the interpretation which makes sense. Under this ubiquitous convention, I would agrue that the "preferred" form for modifications can only be that which the modifier him/her/thierself has used.

      I've copped out a bit and omitted the possibility that it is the original author who is the preferrer (what happens if a word is ambiguous, but every possible interpretation leads to the same conclusion?), but if that could be set aside, would a judge be likely to buy this sort of argument?

  255. Why go through the trouble? by runswithd6s · · Score: 2
    I hate to label myself as "hair splitter" or worse yet, a "traitor" to GPL, but let me propose a way around your dilemma.

    You stated that the highly desireable code was GPL, correct? Is there no way to write an LGPL CORBA or SOAP object to export the functionality to an external program? Provide yourself a legal padding of the communication protocol. Yes, you would have to develop and maintain two separate applications, but you wouldn't have to recode this incredibally useful GPL code {whatever it may be}.

    Just food for thought.

    --
    assert(expired(knowledge)); /* core dump */
  256. Guys - its valid - think about it... by beerandbj · · Score: 1

    what if you make an editor that automatically converts the obfuscated e.g. variable names to readable ones.

    then it is a simple exercise in compression - your source code is smaller - and if you change a variables name in the editor, without changing any logic, then your version control, etc, is unaffected - how it should be.

    also, if your programmers can't agree on naming conventions, they can set up their own in their own editor!

    so you are working from the obfuscated source - it's your editor that provides use - surely you can't claim that the editor has to work a certain way - does the GPL specify "preffered method of reading source must be vi and ascii"?

  257. Business Argument Against This by bama_shine · · Score: 1

    A more effective argument to take to your boss against this violation might be as follows:

    In this senario what is to stop another company (let's say IBM for the sake of argument) from taking your company's obfuscated GPL'd code, compiling it, and selling it to your company's customers at half the cost. If a compilable form of your product is released under the GPL, you have no legal recourse to stop this.

    IANAL and don't have a comment as to the legality of this, but from a business perspective, your company would be shooting themselves in the foot.

    Ben

  258. There are much more effective ways to obfuscate by Anonymous Coward · · Score: 0

    I've seen obfuscators that just compile the source code into an executable, and then, from that executable, generate some simple C source code that makes zillions of lines of inline assembly calls.

    Every obfuscator isn't just s/XXX/YYY/.

  259. Re:You are not anal enough either. (IAAL) by Znork · · Score: 2

    Apparently the lawyers of every company that has ever gotten notice of GPL violations from the FSF disagree with you. The reason there are no precedents is that nobody has ever dared go up against the GPL in court. All cases have been resolved with the companies deciding to comply with the GPL.

    'Look at how many people all over the world are pressuring me to enforce the GPL in court, just to prove I can. I really need to make an example of someone. Would you like to volunteer?' - Eben Moglen, Professor of Law and Legal history at Columbia University Law School, General Counsel of the Free Software Foundation.

  260. Re:A lot of use of the term 'preferred form' here by Anonymous Coward · · Score: 0

    dshkg_238 *dfk_jgdwrtF_EWFJewkjgt_jkewD_SGJL( xzcbCBxcV_39 dwleg_hfew, wd4397_3_frwek *fhjgew_w32Flsd, dsk39fd__ewhjg *dijh_t[] ) { ... };

    (or however they are obfuscating) is no more usable than assembly.

    Ok, I have to point out that the GPL says nothing about 'usability' ... otherwise, why not say 'you need to give code that adheres to our standards document' - they can ask for the plaintext but they can't force you to write good code.

    Of course that's just my interpretation. Thanks for replying though. I always get grumpy that AC's get '0' and are filtered out by default.

    Kevin
  261. Is a CVS repository a "preferred form"? by ProfessorPuke · · Score: 2, Interesting
    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?

  262. Re:Well I would you steal a commercial programs co by LoseNotLooseGuy · · Score: 1, Informative

    Now 'shared source', and companies that provide Perl/PHP/JSP code with a commercial license *would* loose income!

    There are very few companies that would voluntarily let loose or release income. Of course, it is possible that they could fail to retain income due to piracy. The word you were looking for is lose.

    Congratulations! You have been participant #46 in my campaign to rid Slashdot of this error.

    --
    Proudly correcting Slashdot's most irritating linguistic error since 2002.
  263. Anyone look at GPL Source? by Anonymous Coward · · Score: 0

    There was an e-commerce system listed on freshmeat about a year ago that was GPL, with various commercial licensing options available, and consulting help from the vendor also available. I got the source. It was no way usable. Split into thousands of modules with numbers, not names, and no x-ref, index, documentation, or explanations anywhere. So, I'd guess this is already happening, although perhaps not so flagrantly.

  264. Violation of GPL and possible EULA... by DiamondWing · · Score: 1

    Hmm... sounds like blatent criminal action to me..

    - EULA violation of the student licensed developmental software, which, if the whole of the text of the EULA/license agreement is read, depending on the license in question, limits the works produced from the product to be usable for non-commercial uses only. This, of course, depends on the license of the commercial software in question.

    The produced work, if so restricted legally, cannot be re-licensed under the GPL as that would be a license violation and under the GPL, is not GPL'able.

    - GPL violation will occur in the event of code obfuscation since the code base which is being worked on is not the code in question. Producing un-maintainable source code which the coders/maintainers do not themselves use is a violation of the GPL requirements for inclusion into the GPL.

    The fact that the company takes the work produced from the student/restricted license copy of the commercial software and modifies it to appear as if it was not produced from that tool is demonstration of criminal intent to violate a software license/commit fraud.

    The fact that the company plans on incorporating GPL'd source code into their product and rendering the released source unmanigable also opens them up to legal attack by the FSF.

    Personally, I would look for a 2nd/3rd legal opinion and consider the lawyer in question of dubious moral fiber and incompetant if he/she believes that doing such a thing will save the company money by defrauding and abusing:

    - Educational versions of softwares which are made available in good faith for students to use.
    - The GPL which works to make source code open and available.

    I would think that boycotting this company's products would be a good idea since from what the original poster has noted, what the company is doing amounts to nothing short of IP theft, license violations, and intent to defraud commercial companies who produced the software development platform/software and the GPL coders, upon which their product so heavily relies upon.

    Just a couple of cents. And IANAL.

  265. Flattered! by SPYvSPY · · Score: 1

    Words to live by. Having a J.D. (and a working knowledge of the law) is like carrying a nice big sharp katana - at least you can go down with a fight.

  266. Re:A lot of use of the term 'preferred form' here by Todd+Knarr · · Score: 2

    It's not the preferred form for compiling, though. What they compile is irrelevant, the GPL specifies the preferred form for making modifications to the code. Even if they built for distribution from the obfuscated code, unless that's actually the code their programmers work on it's not in preferred form per the GPL. The GPL also says preferred form, not preferred format, and form implies things in addition to just, say, text format.

  267. your company is doomed by markj02 · · Score: 2
    Your company could just develop a priorietary work-alike of the GPL'ed library. You already get complete source code to a sample implementation, a design, algorithms, and probably documentation. That's more than enough to make it really easy to develop your own version. You can even out-source that to India or China for a pittance. And there would be nothing wrong with that: the idea of open source is that you look at it and learn from it.

    Instead, your company is embarking on some hare-brained, complicated scheme to try to defraud open source developers, risking a legal injunction against their product, damages, and the wrath (and competition) of open source developers.

    Obviously, there is something fundamentally wrong with your company's management, ethics, and business plan. I recommend jumping ship now, before the s*** hits the fan.

  268. WTFDBALHTOWA by ahde · · Score: 2

    What the fuck does being a lawyer have to do with anything?

    Are licensed members of the various states' bar assiciations (non-governmental organization, by the way) the only people allowed to read, understand, interpret, enforce, live by, be protected by, be excluded from, make, vote on, propose, opposed, enact, believe in, accept, or overturn laws in this country?

  269. Re:You are not anal enough either. (IAAL) by MatanZ · · Score: 1

    Complete bullshit. To established the "preferred" all you need is to ask any of the company's programmers one question: "When _you_ need to midify the program, do you use the obfuscated files that were released?"

  270. Defining Source legally is not so easy. by RatFink100 · · Score: 3, Interesting

    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.

    1. Re:Defining Source legally is not so easy. by Anonymous Coward · · Score: 0

      Plus if it's been obfuscated mechanically - it can be de-obfuscated mechanically.

      Properly obfuscated code is no better than a binary. Consider code which is compiled into a binary and then decompiled into C. If the decompiler is publically available, you might as well only have the binary.

  271. Obfuscating C Code by ninewands · · Score: 3, Informative

    Personally, I think this would be a rather easy case to prove if anyone chose to pursue it.

    A context diff of the "obfuscated" code against the code it's derived from would rather quickly show that the only changes from one to the other was symbols and the lack of comments. Unless, that is, they resorted to some rather serious Obfuscation like operator and function overloading, or trick use of preprocessor errors, in which case, a diff of the preprocessor output from the two code trees would also damn the offender pretty quickly.

    I AM a (recovering) Lawyer (I am non-practicing) and I would advise your company that they are playing with fire by trying this. You didn't reveal which GPL Code your company finds so useful, but there are MUCH smarter ways to play this game, especially if the authors of the code you like so much HAVE assigned their copyright to the FSF. (See, FSF v. NeXT Computer, (over gcc) for instance).

    I question the degree of "tech-savvy"-ness of your company's counsel if he's advising them to go "full speed ahead" on such a transparent, bad faith abuse of the GPL (can't call it a violation ... technically, at least).

  272. Alternative consideration of similar problem by John+Allsup · · Score: 1

    Suppose that I write a proprietary compiler for a wierd language that will link with the library (possibly auto-generating some C to stick through
    GCC on the way). The compiler is not covered by the GPL, and, by having the source be a wierd, 'strict syntax' encoded language that -IS- in the preferred form, but requires a proprietary editor to effectively manipulate that 'preferred form', then the source is effectively useless.

    This does, however, give a reasonably legitimate reason for GPL'd tools to reverse engineer binaries and pull obfuscated source to bits (i.e. why their purpose is not mainly for copyright violation etc.).
    (Note that the GPL effectively prevents someone putting a 'you cannot reverse engineer etc.' clause into a license agreement, regardless of whether such clauses are enforceable in a given country).

    IANAL, but this is just a thought.

    --
    John_Chalisque
  273. Re:You are not anal enough either. (IAAL) by ahde · · Score: 2

    You don't have to prove anything or have a whistleblower. All you have to do is ask them to come up with a plausible reason to modify the code other than "obfuscation." If they can't come up with one, it was either obfuscated (or changed by accident).

  274. Simple way around that by RatFink100 · · Score: 2

    In the first place I'm not so sure it's so easy to define 'preferred form' but even if it was -

    Imagine a GPL project called free-prog.

    Company takes the the source to free-prog, modify it/add their own code in 'plain' readable source. Let's call this secret-prog.

    Company never releases this code - so they don't have to release the source for secret-prog. This is legal under the GPL as I understand it.

    Company obfuscates the source for secret-prog. They then add to this more code, probably a standard module for something useful but trivial - a File Save dialog let's say. They name this new project obfus-prog. This they compile and release, together with source - which is 99% obfuscated.

    As long as they only ever release obfus-prog and not secret-prog then the 'preferred form' of the source for obfus-prog is the obfuscated source code.

    Personally I think that's enough but a judge might require more. Maybe they'd also need to put up some artificial barriers between the two sets of code. Maybe you have to make sure that the two source trees are kept separate on separate servers. Have separate teams working on them - similar to clean room conditions for reverse engineering.

    But I think the whole thing's moot. Obfuscated source is still source and there are programmers out there who can read, interpret and re-code it - and re-distribute it.

  275. If I create something in VBasic - does MS own it? by os2fan · · Score: 2
    I am not a lawyer, but ....

    The question gives two examples, the use of external tools on a work, and the use of someone's code in a work.

    Were the copyright incident on the work, then Microsoft, Borland, Watcom, IBM, etc would "own" every peice of software compiled under their compilers. The fact that they expose APIs and libraries for the user to use does not affect the issue.

    The same holds true for any editors, IDE and so forth. What this means is, that if I were to use the GCC compiler as I would use MSC or VBASIC, then my work is not using any code created under the GPL, and my original work (the source code) does not contain any GPL or Microsoft or Borland code, and is therefore not copyright by any of these.

    What matters is that these tools take an original set of text files, and produces an original work at the other end. As long as you "own" the source material, you "own" the output, and therefore you can do whatever you wish with it.

    The second example suggests that there is some source code, that they wish to hide through passing through name-changes. Derivation, not incidence operates here, and then you would be covered by the copyright provisions of the author.

    The fact that you want to hide the origions of the code is indication that it is not propper.

    Your lawyer friend should need to consider these issues.

    --
    OS/2 - because choice is a terrible thing to waste.
  276. just how 'incidental' by sallen · · Score: 2
    mportant 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!'"


    Standard IANAL disclaimer. But I wouldn't necessarily agree with the 'this seems fairly intuitive' and I'd want to check with another lawyer or two. I would agree that 'incidental' might accurately be used if, for example, while a student with the student development package, you have code generated and later, in a commercial environment, found use for a piece of that code in one of your projects. However, something doesn't seem 'incidental' if one continues to use the student development package on a continual basis to generate code for a commercial environment and simply exclude the actual compliation by the package in order to evade licensing agreements. It seems if done continually, it might not look so 'incidental'. This would particularly be true, if, IMHO, one DID use the integrated package to compile throughout development and debugging and only, when it comes time to commercially distribute, the process is changed to compile outside the package. I'd just buy the package for commercial use. Even IF one was sued and won, they'd likely pay more in legal fees than they'd have paid for the package in the first place.

    Using the hypothesis to code released being obfuscated for source distribution, when not the source used for development but only at time of distribution, would also likely seem to be the same intent, to nullify the intent and spirit of the GPL. It wouldn't be the code used for development, debugging, and distribution of the commercial product, but only to attempt to circumvent the spirit, if not the letter, of the GPL.

    I think with the above, I'd be looking for another job. I personally would have trouble working for a company that takes such steps. Even if you don't have a problem with their thinking, remember, if they'll do it with software, they'll do it with their employees. Besides, I'd rather be able to sleep at night.

  277. But what's the point? by iabervon · · Score: 2

    Okay, so you now you're distributing what are essentially platform-independent binaries, under the GPL. Anyone who gets these is licensed to distribute them freely, and they're allowed to produce modified versions, such as a recommented and sensible version.

    Selling GPLed software depends on the gratitude of your customers. They'll be able to get it for free, but will have some reason to prefer paying to get it from you. It seems to me that providing only useless source in this situation will generate enough ill will that, regardless of the legality of what you're doing, you won't make any money.

    In this context, other people being able to modify the program is the least of your worries.

  278. GPL ? by Anonymous Coward · · Score: 0

    GPL is dead
    A good idea perhaps
    Money makes the law

  279. Re:You are not anal enough either. (IAAL) by scrytch · · Score: 2

    Apparently the lawyers of every company that has ever gotten notice of GPL violations from the FSF disagree with you.

    Name one the FSF has taken to court. Companies bend to threats too, just to avoid the trouble.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  280. Re:You are not anal enough either. (IAAL) by Angst+Badger · · Score: 3, Interesting
    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.

    --
    Proud member of the Weirdo-American community.
  281. Preferred - by whom? by hyphz · · Score: 1

    The problem is that making this assertion generates a whole bunch of problems.

    If you say that "preferred form" means preferred by the developer who releases the code, then the company can argue that the obfuscated form is preferred by them. This is probably bull, but it gives them plenty of scope for dragging out the lawsuit. (eg, refusing to show evidence that they use the obfuscated code in their development process because stronger legal proof is required to justify access to confidential business process information, yadda yadda yadda...) Also, as suggested elsewhere, they could internally use tools which substitute the obfuscated values for proper ones in the UI.

    If you say that "preferred form" means preferred by an average GPL developer then you hit a problem. For example, suppose that a Japanese firm got some GPL code, produced a derivative work and released it under the GPL, as they are obliged to do, with no intent to cause trouble or fraud. However, they also translate all the comments, variable and procedure names into Japanese, meaning that when viewed in a non-Japanese IDE they come out as garbage undefined characters. Of course, this is far preferable to them because they do not have to read English variable names and similar. But since "average" GPL developers appear (by and large) to speak English, it could easily be argued that this was *not* their "preferred" form and thus that the Japanese firm had violated the GPL even thought they had no intent to.

  282. Obfuscated?!?! by Anonymous Coward · · Score: 0

    All this talk of obfuscated makes me worry. This is preferred code here: http://www.ioccc.org/

    This place seems to provide a sort of "safe forum" for these guys. There is a whole community of these people who would love to get their hands on code like this.

    JFYI: I am completely kidding.

    However, we should get this contest shut down immediately before it destroys our infallible license.

  283. Re:You are not anal enough either. (IAAL) by Anonymous Coward · · Score: 0

    To be perfectly frank, the GPL is a POS contract

    "Point of Sale", or "Piece of Shit"?

  284. What's the point? by Asic+Eng · · Score: 1
    I mean, if your company wants to steal they can, they'll just be a bunch a crooks. Maybe that can't be proven in court, but it won't change the fact that they are thieves.

    So really, they could just steal and modify the code, obfuscate it, then release in binary. That might even lower the chances of them getting caught. If morality is not an issue, why not take the easier route in the first place?

    In any case, you might want to consider getting your resume out, as soon as you can. Dealing with unethical people like that, is a major risk - chances are you'll get screwed by them some day, too.

  285. Wouldn't they would lose their own code by donheff · · Score: 1

    It sounds like the only way this would work is they would have to destroy the original, comprehensible, source code. Otherwise, they would not be releasing all the source code behind their application. But if they did that, they wouldn't have a viable application to maintain. I am not a lawyer, but I'll bet dollars to donuts that if they kept the comprehensible code (for maintenance and enhancements) and released only the junk, they would be guilty of some sort of fraud/abuse.

  286. "... must be republished under GPL again..." by Anonymous Coward · · Score: 0

    sorry, did I miss something? isn't there something in the GPL, saying, everything which CONTAINS the code/program/thing under GPL, must be published under GPL again? that's what is the pain in M$ ass, after all.

    As far as I understood, you simply speak of STEALING the code, scrambling it in a way nobody can read it, and so, nobody could find out.

    If you compile, or generate "something" which acts exactly like the original GPL program, just has been build from something different (it's a little bit like this reverse engineering stuff), it's still the same code, still under GPL, and still protected. Thats what tells me the funny thing called "common sense", and, even if most advocats don't have much left of it, many JUDGES have, in fact. At least in germany, can't speak of other countries.

    regards,
    large

  287. Re:You are not anal enough either. (IAAL) by Anonymous Coward · · Score: 0

    Nonsense, you may be a lawyer but you're full of it. The GPL is no more vague than the majority of legal contracts out there, the "spirit of the GPL" comes through VERY clearly in the GPL, trying to violate the GPL with nitpicky technicalities comes through VERY obvious, and the definitions are only vague if you know nothing about computers/programming. You may have heard of "reasonable person" reasoning in law; to any 'reasonable programmer' who reads the GPL it is painfully obvious that obfuscated source is not a "preferred way to modify the work" but just an attempt to violate the GPL. I'm sorry, but judges don't buy into such blatant technicalities. So while you're obviously very eager to come off as more knowledgable about something than everyone else around here thereby stating your superiority and patronizing everyone here, your opinions are outright ridiculous. Any freaking CS graduate can clearly understand what is meant by 'source code' and 'object code/executable', there is NOTHING vague about it. No more vague to a judge than psychiatric jargon would be to a judge from a psychiatrist - judges are obviously not trained professionals in all things related to the cases they try, but judges can by and large figure out what is reasonable.

  288. The Devil is in the Details by werdna · · Score: 3, Interesting

    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?"

  289. Wrong by Anonymous Coward · · Score: 0

    That decision was actually *required* under the law.

  290. Re:You are not anal enough either. (IAAL) by yeOldeSkeptic · · Score: 1

    There are many comments in this post now, but I sure am not going to let a good debate pass me by.

    In order to impart meaning to the GPL distinction between source vs. object/executable, one must go on a fact-finding parade to measure industry practice, and other wishy-washy standards. In the context of a dispute over a GPL'd bit of code, you can be damn sure that the GPL will collapse under the weight of this fact-finding process,...

    What you are saying here is that the practitioners of the craft themselves do not know what common terms in their craft mean. There may be crafts where that predicate is true (law for example) but in the software industry, there is no doubt as to what source and object code means. I doubt it if you can coerce a judge to go on an expensive fact-finding mission, complete with metrics and statistics when all one needs is an expert witness.

    Now guess what industry you're going to get that expert witness from?

    ... the GPL's definitional distinction between source and object/executable form relies on two key terms that cannot be objectively measured: "preferred" and "normally". I defy you to provide me with objective metrics for measuring what is "normally distributed...with the major components...

    The argument in this paragraph is a corollary to the preceding argument. It is also based on the predicate that practitioners of the programming arts are not in agreement with ``normal'' and ``preferred'' practices.

    If you are arguing the question of What is the preferred language when programming business systems then, you would have hit the jackpot because in this case there is no such preferred and normal programming language. Indeed, no amount of fact-finding exercise can ever resolve this question. If I am arguing this fact then all I need to do is subpoena the archives of slashdot. But...

    The disputation is "what is the preferred form of the work for making modifications to it?" In this case, practitioners are in agreement. It is what they call a source code. The term source code may be quite opaque to non-practitioners, but so is the term legal brief and tort. The fact that non-lawyers do not understand what tort and brief means does not mean that lawyers do not understand what they are talking about. (Despite the fact that the general populace seems to think so.)

    If you are arguing against the GPL I would advise you against asking the other side to provide you with ``objective metrics for measuring what is normally distributed...'' Why?

    • You are not an expert witness, the other side will get an expert witness who is a programmer who will then tell you about the ratio of number of lines of source in a programming language over the number of files in a typical software distribution. They would then show that in the GNU distributions alone, the ratio is at least 1,000 lines to 1.
    • Their expert witness will then argue that lines of source is their ``acceptable'' objective metric to prove that source code is the ``preferred'' form for making modifications to software. Since you are not a programmer, how are you going to dispute this?
    To be perfectly frank, the GPL is a POS contract and I would arguably be liable for malpractice if I advised a client to use it for reason other than their unbending adherence to open source dogma.

    This is a legal opinion only and you have stated so yourself. But the objective and the spirit of the GPL shows that the GPL was designed more as a memorandum of agreement rather than a POS contract. In cases of disputes over language and meaning, the courts always adhere to the ``intent and the spirit'' of what ever is being disputed.

    By the way, argue that the GPL is a POS contract and you won't be getting any offers from Microsoft. :-)

  291. Re:A lot of use of the term 'preferred form' here by J'raxis · · Score: 1

    I read at -1 its rather interesting to see what they do down there. Especially the few that like to follow me around.

  292. What would that accomplish? by rakslice · · Score: 2

    Simply obfuscating the source code before compiling to binaries and releasing it isn't a GPL violation.

    However, it still doesn't make any sense. Why?:

    1. If the source code compiles to the same program, then it can't be all that incomprehensible, obfuscation or no. Reverse engineering reasonable identifiers and comments into the code wouldn't be that difficult.

    2. If the product is GPLed, then it is freely copyable. Its distribution by third parties won't earn the company any additional revenue. So, what does the extra obfuscation accomplish? Except for making it a bit difficult to create derivative works and fork off incompatible versions (but not impossible -- see 1), which wouldn't affect the company much in any case, it doesn't accomplish anything. The company might as well just release the source code unmodified, as it would save the time that would otherwise be wasted on obfuscation.

  293. Your "ethical directives" Re:IAAL by mattr · · Score: 2

    Nice to have an adult join us kids. Which ethical directive urges you to illustrate your Bio as "Imagine a Beowulf cluster fuck..."?

    You may be right with regard to morally bankrupt fights over legal terminology, and I am neither a lawyer nor overly vocal about the GPL (which is great, but unfortunately seems to bankrupt programmers rather quickly).

    But just as a man is allowed to defend himself in a court of law, it is certainly legal to write a contract which is understandable by people without a law degree? I for one would like to hear which holes you think are there so that these geeks can wrap their heads about it and stop companies from abusing their work.

  294. Are we missing the point? by Razzy · · Score: 1

    Most of the disussion in this thread has focused on whether or not this action violates the GPL. Let's say it doesn't. What incentive does this company have to do this? The GPL does not do a very good job of defining "source code." What it is pretty clear about is that you must maintain the license on any work derived from a work covered by the license. The license also expressly allows other parties to take your work and re-release it under the license, with or without modification. So if you release obfuscated source for a highly lucrative project under the GPL, I can take that source, add a few inane features (or not), release more GPL'd gobbledygook, and undercut your price for the binaries and support. And you've given me permission to do so by slapping the GPL on your unreadable source. Unfortunately, this argument also shows some inherent flaws in the open source business model, but if you're just into free software (as in speech) it all works out quite nicely.

  295. The code, all the code, nothing but the code by leonbrooks · · Score: 2
    For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

    This explicitly includes the unobfuscated code and almost certainly the obfuscator as well although it is not clear that the obfuscator's source code is a necessary inclusion.
    --
    Got time? Spend some of it coding or testing
    1. Re:The code, all the code, nothing but the code by RalfGerlich · · Score: 1

      If I understand you right, this would mean e.g. if I have some yacc-definition file in my project, I need to include the yacc-definition(clear) and yacc's sourcecode? This sounds odd to me...

    2. Re:The code, all the code, nothing but the code by jcast · · Score: 1

      Only if yacc is not normally distributed with the ``major components'' of the target OS. See GPL Section 3, fifth paragraph.

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
  296. I made one of those once by Tablizer · · Score: 1
    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),

    I wrote a parser like that not too long ago for VB-Script (ASP) because I did not want (most) people hacking the demo to avoid paying. It was an interesting experience. Microsoft has a VBS scrambler, but hackers quickly figured out the algorithm. I figured the best hiding approach was to *remove* human-meaning from variables and function names instead of encrypting them.

    The components still are not selling very well though. Marketing lacking? Or perhaps they simply suck? Oh well. I'll have to keep my day job.

  297. Here's one. by Anonymous Coward · · Score: 0
    > I defy you to provide me with objective metrics...

    The original work is "owned" by the origional author. We can assume by definition of their having released it in a certain way, that their form is the preferred form of the work. Not much wishy washy about it.

    But, back to the original post... They pose two distinct problems. 1) Using something like an IDE; and 2) producing a proprietary work, I assume (more lucrative), that interoperates with a GPLed one (trashed or not).

    The "can't use our IDE to..." thing is a POS contract. Such contracts are enabled by copyright law in that the author need not make you a copy at all. Rather, they are more a declination to offer sale. Copyright alone would hold this a fair use, IF you could get a legal copy. They key? There is no interoperation between your work and the IDE. Data owned by you does not rise to the level of "interoperation between program(s)" needed for formation of a derived work.

    BTW, where does GPL is a POS come from? I've never heard the GPL described as a POS, as there is simply no sale. It is a specific declaration of rights waived by the author at copyright and the conditions on which the owner voluntarily waves those rights.

    If your proprietary code "interoperates" with code under the GPL, you have produced a derived work. By definition. Distributing that work is very much a copyright issue. IP lawyer's I've had to deal with about GPL in Fortune 500 and industry are very clear...

    Their simplified motto for the masses? Never, ever, allow a machine instruction of your proprietary program to cause a machine instruction in any GPLed program to execute without clear indication from the author it's permitted (ie. the Linux kernel itself and the LGPL). Defenses to copyright are enumerated in the law and no number of "stupid computer tricks" appear therin.

    There are 3 ways.

    1) Fair use. You can assume that does not include profiting from re-distribution of other people's works.

    2) Incidental interoperability. You can build a browser based on RFCs for HTTP/HTML. If it happens to interoperate with a GPLed server, so be it. You should avoid exploiting any unique feature found in the GPLed server.

    3) Reverse engineering. You can build a propriatary browser by looking at the data that pass over the network between a GPLed browser and a GPLed server. (Network data is not "fixed in a tangible media", thus has no copyright protection.)

    Now, you have to ask yourself one question, do you feel lucky today?

  298. Why boycott? Promote! by Shiny+Metal+S. · · Score: 2
    Doing this would be a sure-fire way to royally anger every sane-minded person out there. No legal action possible, of course, but a lot of ill-will, screams, flames and gnashing of teeth, especially if said GPL'd code includes volunteer work (which you seem to imply). Boycott of the company's product seems a logical conclusion.
    Why boycott? Maybe it will be a good product, after all. If it is, I'll buy one copy and offer it for download from my website, Sourceforge mirror, Freshmeat, lots of ftp mirrors all over the World, as well as burn few CDs, and offer them for the price of blank CDR, or maybe even send them to customers of that comany, etc. You know, I like to help free software projects, like this one.
    --

    ~shiny
    WILL HACK FOR $$$

  299. Licence the GPL code from the developers by tetrode · · Score: 1

    As I understand it, the GPL-ed code that your company wants to use is copyrighted by some developers. Why don't you talk to these guys and licence this code from them?

    Mark

  300. You don't understand the LETTER... by NFW · · Score: 1
    If the courts really cared about the spirit of a law or agreement, laws legal agreements would be written in plain english and we'd have a lot less lawyers. Given the fact that legalese is a formal language more like C++ than written english, (ok, more like VB, if you wish), I deduce that the spirit of an agreement doesn't matter.

    Fortunately, the letter of the GPL is sufficient by itself.

    From the GPL: "The source code for a work means the preferred form of the work for making modifications to it."

    From the previous post: "Obviously the clean source is preferred, but not required."

    The first part is true; the second, due to the correctness of the first, is false. The clean source is preferred; the obfuscated "source" is NOT preferred. Thus, distributing the obfuscated "source" does not satisfy the GPL's requirement that the "preferred form" be distributed.

    If you were going to debug or extend it, the clean source is preferred and the obfuscated "source" is not-preferred and thus, again, the obfuscated "source" does not satisfy the requirements set forth in the GPL.

    Why "source" in quotes? As someone said above, if the obfuscated "source" is generated by mechanical translation from the clean source, the obfuscated "source" is not source at all. The clean source is source, the obfuscated is just output from some tool in the chain that ultimately produced the binaries.

    (And lawyers wonder why they're the butt of so many jokes. This crap is enough to make even the most levelheaded pacifist want to gouge the eyes out of the freeloading cheating bastard who thought it up.)

    --
    Build stuff. Stuff that walks, stuff that rolls, whatever.
  301. Start Your Own Company by herbierobinson · · Score: 1

    Here's what you do about this:

    1. Don't say anything to your company.

    2. Volunteer to do the obfiscation.

    3. Make sure the obfiscation is reversable (don't tell anybody, of course).

    4. When the project is done, quit and start your own company. I don't have to tell you selling what....

    --
    An engineer who ran for Congress. http://herbrobinson.us
  302. GPL and DMCA by glorblach · · Score: 1

    Let's say (for the sake of argument) that I am an asshole. I make a project in which I (I here means a company rich enough to do court battles) 'borrow' 80% of the source from GPL'ed sources, and add 20% home-grown proprietary code. Now, to use this code I have made my own editor which has an obfuscate module you have to log into to use. When I release the obfuscated code (in accordance with the GPL) could I then use the DMCA to sue anyone who tried to clean it up? After all my 'protection scheme' would be broken, and the obfuscated code would be the preferred one to edit as the proprietary editor would translate the obfuscated code into normal source.

  303. Re:You are not anal enough either. (IAAL) by Performer+Guy · · Score: 2

    You have just demonstrated some of the wisdom of Solomon here. The company would win and then be hoist by their own petard, absolutely delicious. What concerns me is why is this guy working for these sleaze bags.

  304. Wrong idea: Translation still is protected by yabHuj · · Score: 1

    By replacing names etc. with nonsense words you only create a translation. Translation of copyrighted and -lefted works is subject to permission (i.e. license) of the copyright/-left owner.

    Another view: the important part of computer programs is the structure, not the actual code (text) representation. You simply copy the protected essence - and thus violating any license or copyright law.

    So if using a gooblegrocked code fragment you are violating licenses twice: once when "translating", second when using the translated code.

  305. Re:Well I would you steal a commercial programs co by JohnBE · · Score: 1

    Well thanks for the correction. Although the thanks are reaching. You could just have a lack of mental capacity to fill in others mistakes 'in your head' and feel the need to spout off about it. I wonder? I shall not commit more time to this other than this reply.

    You sir are a sad pedant that should get out more.

    --
    e4 e5
  306. Judges are not techies, and thats a good thing by james(honest) · · Score: 1

    The first thing a judge will want to know is "What is source code?". If he or she learns that the gobbledigook was *generated* then clearly, it isnt source code. The authors of the proprietary code didnt author it in the obfustication, and they clearly wont be maintaining the obfusticated code. A judge will be able to understand this, and in fact, his or her non-understanding of the technical bullshit that these guys are flinging will be a good thing. It often amazes me how oh-so-clever we techies can be, when in fact we're just being daft.

    Some people really think that lawyers and judges are stupid. They are not. They can be bought, but they arent stupid. :-)

  307. And while I'm at it by james(honest) · · Score: 0, Troll

    I think the author here is the person who wants to try this. You sound like a techie trying to be clever and sounding it out on here. Fuck off and get a life.

  308. WRONG - Defining Source legally is not so easy. by NYFreddie · · Score: 1

    People are replacing the text of the GPL with the phrase "human readable". The key line in the GPL in this instance is "The source code for a work means the preferred form of the work for making modifications to it." Hex code, no matter how good the programmer is, is never the preferred form of the work for making modifications.

    That means, if the obfuscated code becomes the true development source, it has become the "preferred form of the work for making modifications", hence the legal source. If they modify the original source, then obfuscate it, the preferred form is the original. It all depends on what version of the source is maintained.

    Note that IANAL either, but it seems like clear english to me. It just depends on where the modifications are made.

    -NYFreddie

    --
    Barbie of Borg - She doesn't just Assimilate, She Accessorizes too!
  309. Well, what exactly constitutes... by mansley · · Score: 1

    .. the source code. The obfuscated code is not the source. So I would expect the GPL to satisfactorily cover this case, enforcing the original comprehensible code to be released. Obfuscated code could be considered a form of object code.
    So, the source code is being compiled twice instead of once, how does that invalidate the GPL?

  310. Still not a Lawyer :) but by RatFink100 · · Score: 2

    It just seems to me that "preferred form" is way too vague, too open to interpretation.

  311. Re:You are not anal enough either. (IAAL) by Nyarly · · Score: 2
    Fascinating. If I specifically ask a question of you, SPYvSPY with the understanding that it's for my own (and I guess, the rest of /.'s) edification, and not as legal advice (and certainly not just to be argumentative), could I get you to answer it?

    Question is: how does this relate to definitions of pornography? The whole "community standards" doctrine, right? That's always seemed to be an extremely vague definition, but the only acceptable one, regardless of how well it's doing in the Information Age. Can an analogy be drawn between the language of that ruling (I do remember that it is the result of a ruling, not actual legislation, yes?) and the language of the GPL? Is the contract law/criminal law division enough to make the analogy invalid? (Hell, I'm pretty sure there are better examples of well respected legal vaguenesses.)

    I suppose that it's possible that a pornography case would result in the "fact-finding parade" you describe above. But the impression I've always had is that "objective metrics" weren't the purview (or at least not the sole sustinance) of legal discourse; if a contract were so easily measured, why settle disputes with lawyers when a monkey with a calculator could do the figures, no? Actually, the very suggestion that objective metrics should be a requirement of a contract damages my respect for lawyers everywhere.

    Hm. Most troubling.

    --
    IP is just rude.
    Is there any torture so subl
  312. Richard Stallman had to know this. by ccchips · · Score: 1

    This practice is very old. It is, in fact, the way many system consultants rip off their clients, who ask that some program be converted from, say, Fortran to COBOL. The consultant engineers (or buys) a converter that produces obfuscated code. That way, the consultant (or the converter developer) gets in on any new changes. If the client wanted to move entirely to COBOL and ditch Fortran, too bad; the converted still works on their new system.

    As has been pointed out already here, a lawyer might find that the abuser would have to prove that recipients of the "source code" could continue development and modification, without having to purchase a converter; otherwise, the GEP is violated.

    Furthermore, I'd like to see that company's mailbox when their idea of "source code" gets onto the Net. A scam like this could get really, really messy whether the company won in court or not.

    --
    --------------Rev. C.C.Chips---------------- For the real truth, visit
  313. It just struck me...... by bnz · · Score: 1

    Do you work for Morpheus??!!

  314. Let's take this scenerio... by RoadWarriorX · · Score: 1

    Suppose I have source code X, and a translated version Y. If I compile both X and Y on the same machine, it would produce the exact object code? No?
    On that note, suppose I modify Y a little bit more, making source code Z. The chages may string references aim toward my company (trademarks, wording, etc). I would have slightly different code, but the code Z would be, let's say, 90% compatible with codes X and Y.
    If that's the case, I could prove copyright violations because 90% of source code Z is exactly like my original code X. It's no different that copyright violations seen in the music industry, right? If I write a song that sounds like another, it's a copyright violation.
    Any lawyers out there, please comment!

  315. Bad Faith by Anonymous Coward · · Score: 0

    If the company is planning on using a tool,
    or adding a part to the development process
    whose sole pupose is to "obfuscate" the code,
    then it could quite easily be argued that the
    company is agreeing to the GPL in "bad faith".
    IE they are deliberately lieing about their intentions in using the GPL code.

    That should render the agreement null and void.

  316. Look at Copyright, Not the GPL by John+Hasler · · Score: 1

    This won't work for the same reason that compiling a GPL'd program does not allow you ignore the GPL when distributing the resulting binary.

    A work created by replacing all the identifiers in someone's copyrighted source is just as much a derivative as would be a work created by taking someone's novel and changing all the character and place names.

    Tell your CEO to fire that lawyer. He's going to get you into a lot of trouble.

    IANAL

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Look at Copyright, Not the GPL by John+Hasler · · Score: 1

      "I've had my GPLed code hijacked. All the algorithms, are the same. Many of the functions are nearly identical."

      Citation, please?

      Copyright does not protect algorithms and re-implemetation is not infringement. He's talking about automated obfuscation. There's no way that's going to work.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  317. Inform the author by Anonymous Coward · · Score: 0

    You should at least anonymously inform the author(s) of the possible violation. It is thier work. After you told us, tell us about the code they are stealing.

  318. obfuscation by alan_d_post · · Score: 1

    See the GPL, v2, section 3: "The source code for a work means the preferred form of the work for making modifications to it."

    Obfuscated code does not meet this criterion.

  319. recognizing code by RLWatkins · · Score: 1

    Well, if the object is to obscure the origin of the GPL portions of the code, it won't work. It is still possible to recognize obfuscated code by turning it into an abstract syntax tree and comparing that to the syntax tree of the original code.

    If the object is to obscure the functionality of the company's code, obfuscating that won't work either. Using the same technology, one can take the obfuscated new code and turn it back into something readable without a whole lot of effort.

    Perhaps they are shooting themselves int the foot?

  320. Re:The truth about windows by Anonymous Coward · · Score: 0

    Yes, it's the fault of the OS. Regardless of if it's technically possible for two programs to access the same file, two stock/standard programs (IE and Windows Media Player) can't. So if MS programmer can't even figure out how to code their programs to properly handle the same file, how do they expect their developers to?