Slashdot Mirror


Is CocoaTech Violating the GPL?

elliotj asks: "In the latest version of their Finder-replacement product, PathFinder CocoaTech has included a terminal feature based on sourcecode from the GPL'd iTerm. They have made available the classes they developed from the iTerm sources, but not all the sourcecode for their product. Since iTerm is GPL (and not LGPL), shouldn't they have to make the ENTIRE codebase available? This is being debated on their forums. If this is true, what can we do to get CocoaTech to open up the rest of the code?"

19 of 180 comments (clear)

  1. Nothing. by lexarius · · Score: 4, Insightful

    They are much more likely to remove the GPL'd code than they are to open up their product.

    1. Re:Nothing. by 11223 · · Score: 3, Insightful

      Here's a question. If you have a project with, say, patches received from fifty or so patch authors, how do you do this? You'd have to come to an agreement with all of them. This option works on small projects (and iTerm might be one, who knows), but once you get non-trivial third party contribution, it breaks down.

  2. Just a thought... by ealar+dlanvuli · · Score: 1, Insightful

    You can get them to open the source by asking.

    It does wonders sometimes.

    --
    I live in a giant bucket.
  3. *groan* by bconway · · Score: 2, Insightful

    Since iTerm is GPL (and not LGPL), shouldn't they have to make the ENTIRE codebase available? This is being debated on their forums. If this is true, what can we do to get CocoaTech to open up the rest of the code?

    And you wonder why companies are afraid to consider the use of GPL software. Please, do us all a favor and READ the GPL before you continue making the rest of the community look like a bunch of fools.

    --
    Interested in open source engine management for your Subaru?
    1. Re:*groan* by bluGill · · Score: 2, Insightful

      Well yes, but they have to release all the code, including theirs under the GPL to everyone they distribute the binaries to. Further they cannot prevent anyone who has recieved the source code from further distributing it.

    2. Re:*groan* by shaitand · · Score: 2, Insightful

      No actually this is entirely accurate, they DO have to release all of their code under the GPL or they break the law.

      They might be able to get away with it if they stop distributing and cut the gpl'd code out of their next release but that doesn't make it legal.

      The terms of the gpl (which they must release their ENTIRE codebase under since the lgpl allows linking and the gpl does not) also stipulate that they only have to distribute the code to those who they've distributed the binaries to... but that is a mute point, whatever license and restrictions they've put out are null, void, and now unenforcable, since they don't have any legal grounds to license the code under it... meaning those people can sue if the software causes their computer to burst into flame and destroys data worth hundreds of thousands of dollars.

      Also any of those who has bought a binary and recieves the sourcecode has every legal right to turn around and redistribute it to those who cocoatech DID NOT distribute a binary to, so this essentially only saves them bandwidth.

    3. Re:*groan* by You're+All+Wrong · · Score: 2, Insightful

      New advertising slogan: BSD: For when you want to write code and let other people make a profit from it while you make nothing.

      Sounds great, where can I get a slice?

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
  4. Pragmatism by Fluffy+the+Cat · · Score: 4, Insightful

    Pragmatically, it's a better plan to try to work this out with the company first before splashing it all over Slashdot. People do make honest mistakes - they ought to read licenses and understand all of their responsibilities before reusing code, but they don't always do so. Pointing these responsibilities out may result in things being worked out significantly faster. Immediately getting them bad publicity is more likely to lead to them never using GPLed code again, which is a bad thing - companies enhancing GPLed code and releasing derived works benefits everyone.

    On the other hand, if a company refuses to release the source or never gets back to you, and you're satisfied that the copyright holder hasn't granted them further permissions above and beyond the GPL, then make their lives miserable. While it's desirable to have GPLed code used widely, it's not desirable to allow companies to believe that they can get away with failing to follow their obligations. But don't do that until you've tried doing it nicely. Everyone is happier then.

  5. Hard to believe they didn't read the GPL by elliotj · · Score: 4, Insightful

    What amazes me is that these guys went to the trouble of doing a source release for some of the classes in order to comply with the GPL. This means that all the time spent on incorporating iTerm and doing a source release took place without anybody actually reading the GPL. They understood enough about the GPL to know that you have to release stuff if you use it, but didn't read it in any detail.

    Amazing considering they were launching a product that included a signifcant component of GPL'd code.

    I think the fact that they did a source release likely means it was an honest mistake. That being said, if they chose to remove iTerm from it rather than opening the rest of the source, I think they should at the very least make some form of monetary concession toward the authors of iTerm, whose stolen code may have accounted for actual sales of Path Finder.

  6. It all depends... by ComputerSlicer23 · · Score: 4, Insightful
    Okay, boys. The trick to the GPL is figuring out three things:

    Assume A and B are two sets of source code. B is licensed to the author of A via the GPL.

    Is A a derivative work of B? Then A is in violation of copyright law if A is not GPL'ed (section 2).

    Are A and B being distributed together as part of a larger work? If A and B are part of a larger work and are being distributed together then when A is distributed as part of the whole, it must be GPL'ed, otherwise the author of A is in violation of copyright law. (Section 2, the paragraph after the bullet points).

    Are A and B being distributed together in aggregate, as opposed to being combined into a larger work. (This is in the gnu.org FAQ on the GPL.

    Now, I'm not a Mac person, I've never used any of these applications. However, there are several things to remember. First, in this case, the author of iTerm is the only person who can demand the source be released. You cannont enforce someone elses copyrights. So the copyright holders of iTerm are the only people with a leg to stand on in actually getting the source coughed up.

    Next, the commonly acknowledged meaning of a derivative work is generally that the two binaries share the same address space while running (that is, they are linked either statically or dynamically together at some point).

    The second portion sounds to me, like it is tricky. The working their to my IANAL mind is hard to differentiate from a work in aggregate. When RedHat ships GPL'ed software and non-GPL'ed software together is "RedHat Linux" a larger work, and as the kernel is GPL'ed then all other software must be? No I wouldn't think so. However, I can't see how to draw a line so that it makes sense to me. To my mind, either "RedHat Linux" is the larger whole, thus it all must GPL'ed, or that paragraph doesn't mean anything, and thus shouldn't be there. I'm not sure I understand it precisely. The only thing I can think if of is something like Emacs where if I distribute GNU Emacs with some extra runtime support in lisp, then that extra runtime while it might be an independent work, it must still be GPL'ed. Meanwhile, if I distributed Emacs and pico, I don't have to GPL them both. I've never seen a clear explaintion of the difference between "parts of a whole" versus works in aggregate.

    So the trick is to figure out if iTerm code is linked to the larger application, or if iTerm is merely a spawned program which communicate at arms length. In general if it is an external spawned program. If the source code bases are never linked, they are in the clear. If they are linked together, then CocoaTech has some explaining to do. Generally speaking, an strace, ldd, and a ps listing will show you precisely what is going on when they admit they are using the source code.

    Kirby

  7. That's not the spirit of Open Source. by node+3 · · Score: 2, Insightful

    If this is true, what can we do to get CocoaTech to open up the rest of the code?

    Why do you want to force them to open up the rest of the code? Even the much maligned RMS doesn't have any desire to force others to release their code if they don't want to.

    This isn't a case where some company took an entire open source project, added a few (potentially major) features then refuse to release the source. Common decency dictates they made an honest (hopefully) mistake, and one should give them a chance to correct it. They've released the souce to the portion they used that is open source. I'm not an expert, but this doesn't seem to be enough to satisfy the GPL to me. If that's correct, then to be in compliance they will either have to stop distributing the version with the open source code, or release all of the code. The choice should be up to them unless they press the issue (ala: SCO).

    Like it or not, their source code belongs to them, and it's up to them to decide whether to release it or not. To force them to release it on a technicality, using legal means, is the exact same tactic the RIAA is using to legally steal money from people who've downloaded or facilitated the download of songs ("piracy" is, of course, bad, but thuggery is worse).

    1. Re:That's not the spirit of Open Source. by chromatic · · Score: 3, Insightful
      Like it or not, their source code belongs to them

      I agree strongly with the rest of your post, but the word "belongs" may not be appropriate here. If their code is indeed derived from a GPLd program, they must abide by the terms set by the copyright holder to distribute the modified work. The power rests with the copyright holder.

      I do urge caution and good faith, though, hoping that this can be resolved amicably.

    2. Re:That's not the spirit of Open Source. by node+3 · · Score: 4, Insightful

      The posters (to /. and to CocoaTech's forum) appear to solely *demand* the source code (and that's in within their rights, of course). Ostensibly they would not be satisfied with CocoaTech simply removing the GPLd code and ceasing to distribute the version in that's violating the GPL. (I'm just going by the few words they've decided to post, which may not indicate their true intentions, but that's all I have to go on)

      If the cashier at the checkout lane short changes you, do you first point out the mistake ("I gave you a twenty") or do you call the police? In this case, is the proper response: "You guys have to release all the code if you want to use GPLd code." or is it: "All your code are belong to us! Gimme now!"?

      Imagine if you made a similar mistake in your job. You are faced with throwing away *years* of work for an honest mistake? What if you bought a house 5 years ago and the bank notices one of the loan pages wasn't signed. What if legally that meant they could take back the house, and only have to pay you back the money you spent? Would it be legal for them to take it back? Would it be right?

      CocoaTech will do the right thing. Hopefully voluntarily. Potentially not. I'm just suggesting we should give them a chance before condemning them. That's just me, I'm a nice guy I guess.

  8. They have a choice of three steps to take by kgp · · Score: 5, Insightful
    It's obvious that the guys at Cocoatech don't have a great grasp of the intricacies of the GPL (and didn't run this by their IP lawyers which I suspect they don't have).

    They can do one of three things:
    1. Release the source for Pathfinder. I don't see this happening -- this is not an outcome they had banked on. Hardline GPL zealots will of course continue to bray that "they released the product so they MUST release ALL of their sources".
    2. Remove the iTerm functionality from their product. The simplest and easiest fixed especially whilst they consider their options.
    3. License the source for iTerm under non-GPL terms from the original authors. The owners of the source (though this would mean that they wouldn't be able to take GPLed fixes unless the author of those fixes agreed to whatever license OR the other license is LGPL.

    Give them a break so that they can fix their mistake (from Eblen Moglen's writings on the subject this is the FSF prefered method) at least until it becomes clear that the breach of the GPL is egregious.

    Who knows they might even release some source this way!
  9. Re:Not the only option by Elwood+P+Dowd · · Score: 2, Insightful

    P.S. They could (under some circumstances) also clarify the boundary between their main product and the part that uses GPLed code so that they did meet the terms of the GPL.

    In this particular case, I think it would be easy. They could probably package the GPLed functionality into its own executable. All the parameters involved could easily be passed as arguments.

    Then they could release the code for that binary, but not the one for their main product.

    --

    There are no trails. There are no trees out here.
  10. Re:Not the only option by Anonymous Coward · · Score: 1, Insightful

    No, that's the point of the LGPL. The GPL does not allow this. See Readline, GNU for details.

  11. No free ride, too bad by A+nonymous+Coward · · Score: 2, Insightful

    That's what I like about the GPL, if someone wants a leg up on the competition or for whatever reason wants to get to market faster and easier, and wants to use somebody's GPL code, they have to pay in the coin of the realm, which is to release their own code under GPL too.

    If they don't want other people to use their precious code, then they shouldn't use anybody else's precious code, they should write it all themselves.

  12. Want to know how much merit this has? by SensitiveMale · · Score: 2, Insightful

    Every single person arguing for CocoaTech to release the entire code is posting anonymously.

    Apparently no one has the balls to attach their name to their "demands".

  13. GPL goes too far by Anonymous Coward · · Score: 2, Insightful

    This is why I will never use any GPL-license code in any of my products.

    1. I've used PathFinder and have never used the iTerm functionality. It was not a deciding factor.

    2. iTerm is a side feature at best, and it does seem like an example of why GPL (vs. another Open Source license like BSD, LGPL) will not be adopted by anyone that wants to create a business around software.

    3. I would rather see the author pull out the GPL code rather than FORCE to open ALL his code up because of some side feature that he decided to add.

    The arguments made here are proof that GPL is viral and a company could easily get caught in a mess.

    As much as I hate Microsoft, I'm wondering if they're not right (at least about GPL). The draconian arguments made here are no better than Microsoft's.