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

9 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 Carnildo · · Score: 5, Informative
      They are much more likely to remove the GPL'd code than they are to open up their product.

      As was pointed out in the forums, they've got a third option:

      Or licence it independently. There's nothing in the GPL to prevent you from comming to a seperate understanding with the author(s) of the GPL code, and using it under whatever terms you find mutually agreable.

      The GPL is not "viral" and does not prevent rational solutions to cases like this. Let's not feed the FUDsters.

      -- MarkusQ
      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  2. 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.

  3. Re:Just a thought... by MBoffin · · Score: 4, Informative
  4. 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.

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

  6. 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!
  7. 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. Coccoatech Says ... by SteveM · · Score: 4, Informative

    From the Cocoatech web site:

    The GPL and Path Finder

    It has come to our attention that there has been controversy about Path Finder's use of some open source code. Path Finder uses a heavily tweaked version of the open sourceiTerm application as the basis for Path Finder's built-in Terminal window and drawer. It always has been Cocoatech's intention to comply fully with the open source licensethat iTerm falls under. We believed that by releasing the complete framework that contains the open source code, this would fulfill the requirements of our usage of GPL'ed code. We are investigating this issue in depth and intend to fully comply with the rules of the GPL. We are also working with the authors of iTerm to make sure this issue is resolved. We wish to reiterate that we support the spirit of the GPL and the open source community, and did not / do not intend to break the rules. We will post another update to this web site to follow up on this issue. We hope to have a clarification and have this issue rectified as soon as possible.

    SteveM