Slashdot Mirror


Derivative Works And Open Source

marvin826 writes " Larry Rosen has a nice article in the current issue of the Linux Journal about the legal interpretation of derivative works. Seems there are two camps in the world in terms of using open-source libraries, such as GPL licensed libraries, in proprietary software. Read this article and see which camp you are in! Having people working full-time on proprietary software, using open-source libraries, can only help the open-source software get better? "

12 of 357 comments (clear)

  1. Great, now my brain hurts by veddermatic · · Score: 3, Interesting

    Very interesting topic, and I'm sure some big fish (M$, Sun, etc) will have a LOT to say (donate $$) about this... if it goes the "non-modded is Non-derrivative" way, then M$ et al can pile in GNU stuff at will as the foundation of proprietary OS / Software.

    That then begs the quest, is taht bad?? At least then you know *some* of the OS is stable =)

    I'd have to say that (IANAL) review of the article / law, it woud seem that you can link w/o violating GNU... as long as you distibute the source to the things you linked to (but not YOUR code taht actually calls it)

    --
    Department of Homeland Security: Removing the rights real patriots fought and died for since 2001
  2. Quoth the attorney by qwijibrumm · · Score: 5, Interesting
    2) The meaning of derivative work will not be broadened to include software created by linking to library programs that were designed and intended to be used as library programs. When a company releases a scientific subroutine library, or a library of objects, for example, people who merely use the library, unmodified, perhaps without even looking at the source code, are not thereby creating derivative works of the library.
    Ok, cool. But doesn't the GPL also prohibit linking to proprietary programs under most (all?) circumstances? If I want some big company to use my libraries, I'll release them under LGPL which doesn't have this provision. Musicmatch Jukebox links to Lame, an LGPL library. I don't know that anyone ever implied that linking did create a derivative work. But it's still illegal if I link a proprietary program to a GPL library.
    --
    I wish there was some there was some way that I could be outside playing basketball, in the rain, and not get wet.
  3. Is Microsoft Really the Issue? by SerpentMage · · Score: 3, Interesting

    I hate to sound like a Microsoft Shill... But is MS really the issue? Last I looked MS had about 10,000 programmers. And I REALLY doubt that MS needs Open Source to make them successful.

    I like Open Source like the rest of us, but we really need to get over the MS (chip on the shoulder)....

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
  4. Impressed, but reserved... by ajs · · Score: 5, Interesting

    A good overview of the issues.

    However, I think that the classic issue that has stumped the traditional wisdom is not coverdd. That is the case of "interface definitions" that must be loaded and merged with your source code at compile time. These include C or C++ "header files", or the "modules" of Perl. In interpreted languages the issue gets really sticky because you can modify those external libraries at run-time.

    For example, is this Perl module a derivative work?

    package CGIOverride;
    use CGI;
    sub import {}
    package CGI;
    sub params { die }
    sub new { die }
    sub start_html { die }
    1;
    __END__


    Here I basically edit the CGI module, but I do it at compile-time. If the law has to start getting into compile-time vs. pre-compile-time distinctions, I think we're going to be in for a bumpy ride!

    Even worse... one way to resolve the above is to say that I'm not editing CGI, I'm editing the CGI namespace. At that point, we have to decide if a namespace is something that is protected under copyright law! Are namepsaces just a loosely maintained analog of the domain name system? Is a Perl module or a C++ header analogous to a programmer's Web site? *shudder*

  5. Re:Noone really understands the GPL... by Fnkmaster · · Score: 5, Interesting
    The problem is that many of us who are very active in the Open Source/Free Software communities and are bright people and experienced coders, and some of us who are ALSO experienced businessmen AND have dealt with many lawyers in the past and written and signed many legal contracts STILL don't understand the GPL.


    That's right. I consider myself to fall into the above. I mean, I think I understand the GPL, I understand the concepts behind the contract, but it is fucking vague. Concepts like linking - what does linking mean when you are referring to a Java program? If two classes are in the same jar, are they linked? Is it a derivative work? Are they part of a single "work"? If an interface is BSD-licensed or just public domain, but an implementation is GPLed, can I use runtime class binding to invoke it from a piece of commercial software? What about if I use RMI or some godawful XML/HTTP/SOAP mechanism to invoke it?


    Now the usual Slashdot response when somebody submits an Ask Slashdot on these topics is "Don't ask us, call your lawyer"! The problem is that while lawyers are experienced and generally skilled at reading contracts, you know a fuck of a lot more about software construction, components and the like than your lawyer does. And though IANAL, I have many friends who are, and you'd be shocked at how much jurisprudence out there is based on concepts like "would a reasonable person expect that..." and so on. If a reasonable person doesn't know what the word "link" means or doesn't understand what a "derivative work" is, even a reasonable person who IS a practitioner of the art in question, then the contract is, IMHO, on shaky grounds when it comes to enforcement in a court of law.


    But that's just my opinion. Feel free to prove me wrong.

  6. I don't understand it either by Anonymous Coward · · Score: 3, Interesting
    I copied a line from a GPL program to use in a proprietary application for my employer. Just a single line - one of the VNC authors figured out how to simulate Ctrl-Alt-Delete. Everyone was trying to figure out how, but this person was the first to do it, that I saw.

    Was that program a derivitive works? Did I violate the licence? I don't exactly lose sleep over it, but I'm curious and IANAL. Can someone clarify this for me?

  7. Re:This article is not legal advice by vslashg · · Score: 3, Interesting

    The GPL assumes that a derivative work is any work that uses another work. (In the GPLs case, by linking to it).

    No, see, it really doesn't. What the GPL says about it is this (emphasis mine):

    This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

    It's fine and dandy that RMS thinks that dynamic linking makes a derivative work, but all too often we seem to lose sight of the fact that the GPL is a license. No matter what RMS thinks the GPL means, it means what it says, nothing more or nothing less. It's far from clear that dynamically linking to a library creates a derivitive work. There are lots of ways where this kind of thinking is problematic:

    1. If I create a GPL'd plugin for WinAmp, does that make WinAmp GPL? I think most reasonable people think the answer is no.
    2. If I create a GPL'd media player, and a third party makes a proprietary plug in, is this illegal? This is really the case that's up in the air here... the answer only depends on whether the plug in is legally a "derivative work" or not.
    3. But if it is... then what happens if I create a GPL'd media player that can use WinAmp plugins? Do all proprietary WinAmp plugins become GPL? Well, of course not, but doesn't this make case two problematic?

    Stating the obvious, but a dynamic library is nothing more than a set of entry points with documented behavior. By design. That's what it's intended to do. Calling something that uses a tool to do something a derivation of the original work is on shaky ground. That's like arguing a novel written in emacs is GPL. Anyway, I'm not arguing that a license couldn't provent this sort of thing; I just think version 2 of the GPL doesn't.

    If you wanted to make a movie, and in your movie you had another movie playing in the background on a tv on the set, do you think you should have the right to distribute your movie containing somebody else's movie?

    No, but I don't think that's a fair analogy anyway. I hope it's obvious why...

  8. Re:please by ajs · · Score: 3, Interesting
    More to the point:
    Lawrence Rosen is an attorney in private practice, with offices in Los Altos and Ukiah, California (www.rosenlaw.com). He is also corporate secretary and general counsel for the Open Source Initiative, which manages and promotes the Open Source Definition (www.opensource.org).
    Here's an interesting copyright question for you. Many of us have quoted the article. All totaled, this page probably has a complete copy of it. Is that fair use? Heh.
  9. Re:Bullshit by jeremy_hogan · · Score: 3, Interesting

    Let me rephrase your first two and move on:

    1. Maybe gratis. Definitely libre.
    2. People aren't just rejecting MS software, they are rejecting their licensing. So it's better to say "It offers an alternative to proprietary software."
    3. It prevents people from profiting on other people's labor.
    4. It ensures innovation based on pre-existing work is shared with the folks who did the pre-existing work.
    5. Protects a developers work from being dispositioned in a fashion other than what (s)he wants.
    6. 99.999% less likely to suck
    7. Allows for friendly security analysis, can be certified as secure.
    8. Users not beholden to magnanimy of vendor.
    9. Users not stuck if vendor goes under.
    10. Rapid innovation
    11. Bug stomping
    12. Allows for the rules of governing dynamics, where individuals AND the group (company) can gain.

  10. What do we *want* the answer to be? by Dunark · · Score: 4, Interesting

    I'd like to suggest a pragmatic approach: What definition does more to advance the cause of promoting the use of open-source systems? If we say that linking to system libraries makes an application subject to GPL, we can expect the makers of proprietary software to avoid open-source platforms in droves. This would help M$ to maintain the "applications barrier to entry" that has so far discouraged many people from switching to Linux.

    In my opinion, we should say that calling library routines does not make the calling program subject to GPL.

  11. Re:Rosen, please stop making a disservice! by burnetd · · Score: 3, Interesting
    When you link dynamically... you are effectively including the code when you run the program.


    No you're not though, the program could be linking in a different library at run time to the one it was coded against. Take wine as an example, if you run a program compiled against a M$ dll, kernel32.dll for example, but it runs against the wine equivalent.

    Are all windows programs now covered by the LGPL, which IIRC is Wines licence) because they could potentially link in Wine libraries?

    Now if Wine had been GPL instead of LGLP would have have ment that all windows programs under through Wine would then become GPL?

    What if you use piping? Can a program pipe through a GPL program without being absorbed by the GPL licence?

    Now do you see why this matter needs to be tidied up?
  12. linking by dpilot · · Score: 3, Interesting

    I thought the original intent was that the GPL'ed program can always be fixed or enhanced by one who wishes to do so.

    By linking you first have to differentiate between static and dynamic. I don't think anyone's going to argue against dynamic linking. At that point, you may as well say no proprietary programs on Linux, at all.

    So back to static linking. I seem to remember reading once that this could still be handled, if the proprietary portion were supplied in some linkable form. In other words, the GPL'ed portion could be fixed or enhanced, and then re-linked with the proprietary portion.

    This looks to me like what nVidia does with their tarball distributions. There is some source and a *big* .o file. The source pieces do include some Linux headers. But the essence is that one can fix/enhance the GPL'ed parts of the system, and then rebuild the nVidia drivers with the components they have given.

    One exposure is that .o files are a bit more accessable than executables, hence the obfuscation.

    I seem to have gotten the impression years ago reading GNAT documentation. They chose to release their library components under LGPL, so I'm not sure if I've described GPL or LGPL behavior, but I thought it was the former.

    --
    The living have better things to do than to continue hating the dead.