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

41 of 357 comments (clear)

  1. please by tps12 · · Score: 3, Insightful

    So we're supposed to pump out open source libraries so that giant companies like Micro$oft can write proprietary applications around them and profit from our labor? Would they like us to polish their boots while we're at it?

    I don't trust this "article" a bit. $1000000 says it was funded by some big company looking to milk open source advocates for all they're worth.

    --

    Karma: Good (despite my invention of the Karma: sig)
    1. Re:please by gpinzone · · Score: 4, Insightful

      Yes, you are. You see, the draw of open source was supposed to be a better model for software and for business. No one should want to do business with a closed source vendor like MS since you can't look under the hood yourself.

      Unless the Open Source advocates have lost faith in their "superior" software model, this really shouldn't be a problem.

    2. Re:please by Daniel+Dvorkin · · Score: 5, Informative
      So we're supposed to pump out open source libraries so that giant companies like Micro$oft can write proprietary applications around them and profit from our labor? Would they like us to polish their boots while we're at it?

      I don't trust this "article" a bit. $1000000 says it was funded by some big company looking to milk open source advocates for all they're worth.
      Um, I rather doubt Lawrence Rosen is a Microsoft shill.

      Did you RTFA? It's as much descriptive as prescriptive; as I read it, he's basically saying, "Here are some of the legal issues to be considered in deciding what constitutes a 'derivative work,' and they're tricky issues, so define your terms carefully." Which is entirely reasonable, especially in light of the mindless GPL-vs.-BSD flamewars.
      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    3. Re:please by Apreche · · Score: 4, Insightful

      What about the other side? MS wrote a lot of windows libraries. And a lot of people write open source programs that use those proprietary libraries. Ooooh.

      Know what else? Commercial software companies write programs that use MS libraries too. And they profit from MS labor. And if they don't give any money to MS in the process (such as buying VS.NET or something) then MS don't get crap from it.

      The problem here is determining whether using a program withing a program is derivitive. And is a library a seperate piece of software or part of the software that uses it, or part of the OS. If you were to argue technically it could go on for days. What we need is to know legally which it is. Which wont happen until we upgrade our laws to better ones that take into account modern technology.

      --
      The GeekNights podcast is going strong. Listen!
    4. Re:please by robbyjo · · Score: 5, Insightful

      The problem is that Rosen propose 4 points:

      1) The primary indication of whether a new program is a derivative work is whether the source code of the original program was used, modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that it is not a derivative work.

      This I agree.

      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.

      If I understand correctly, this is expressly prohibited in GPL, but is allowed in LGPL. So, I disagree with his point here. If we allow this, companies will extort this and take advantages as much as possible -- which, of course we don't want.

      3) Derivative works are not going to encompass plugins and device drivers that are designed to be linked from off-the-shelf, unmodified, programs. If a GPL-covered program is designed to accept separately designed plugin programs, you don't create a derivative work by merely running such a plugin under it, even if you have to look at the source code to learn how.

      I think this is also expressly prohibited in GPL, but allowed in LGPL. So, I believe plugin system should also be discouraged in GPL, otherwise it will make a "major loophole" (like making a main program out of a plugin).

      4) In most cases we shouldn't care how the linkage between separate programs was technically done, unless that fact helps determine whether the creators of the programs designed them with some apparent common understanding of what a derivative work would look like. We should consider subtle market-based factors as indicators of intent, such as whether the resulting program is being sold as an ``enhanced'' version of the original, or whether the original was designed and advertised to be improvable ``like a library''.

      See reason #2 & #3. If we allow companies sell enhanced versions of GPL programs: We're in a *deep* trouble. Imagine MS taking Advanced Gnome for their own... Golly!

      --

      --
      Error 500: Internal sig error
    5. Re:please by stratjakt · · Score: 5, Insightful

      God, why do people mod this stuff up? Just because you spell Microsoft with a dollar sign?

      By your logic, virtually every peice of software written for windows belongs to microsoft, as it uses their libraries. And a book report on Cujo belongs to Stephen King because his work is quoted and listed in the bibliography.

      Making calls to a library that already exists on a system does not make a derivative work. IMO static vs dynamic linking should be a non-issue as well.

      This is where the GPL turns to shit.

      I write and maintain one app where I work, which uses proprietary libraries to generate maps. I know going in if a specific client wants to use the mapping features, he/she must either buy the mapping component seperately, or through me.

      Never is there any notion that the company creating the 3rd party libraries I use gets any rights at all to my software. Yet, if the library was GPL'ed tomorrow, all of a sudden my work should be free?

      --
      I don't need no instructions to know how to rock!!!!
    6. Re:please by blakestah · · Score: 5, Insightful

      From Rosen:

      3) Derivative works are not going to encompass plugins and device drivers that are designed to be linked from off-the-shelf, unmodified, programs. If a GPL-covered program is designed to accept separately designed plugin programs, you don't create a derivative work by merely running such a plugin under it, even if you have to look at the source code to learn how.

      I think this is also expressly prohibited in GPL, but allowed in LGPL. So, I believe plugin system should also be discouraged in GPL, otherwise it will make a "major loophole" (like making a main program out of a plugin).

      No, this sort of means that when you code a GPL program and specifically define a "plug-in" interface, that any binary that "plugs" in is not a derivative. In copyright terms, the fact that a "plug-in" interface is well-defined is enough to remove derivative status. In fact, a guiding principle here is that if there is a wall separating dependences (like a defined plug-in interface), then that wall removes derivative status.

      You have already argued that this creates a loophole - I think the legal view will be that you cannot take GPL'd software and make a plug-in interface out of an existing interface for the purpose of removing derivative status. However, adding a novel plug-in interface to GPL'd software would be seen in a different light.

      Remember, you have to take the point of view of someone looking at copyright history and trying to apply its law to software, and not the view of someone who wants to make the GPL as powerful as possible. A well-defined dependence "wall" is adequate to remove derivative status. If that creates loopholes, there are other ways to address that. I can't help it if the law ends up looking like a mess.

    7. 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.
    8. Re:please by Waffle+Iron · · Score: 4, Insightful
      Yet, if the library was GPL'ed tomorrow, all of a sudden my work should be free?

      Only if you wanted to redistribute the library for free. Today, you can't distribute the library for free at all: you or your customer must buy it.

      If the library was GPLed, it would not change the situation one bit. You would still have to buy it from the author under a different license in order to distribute it with your binary app. Some other people could use the library for free under different circumstances, but that wouldn't affect your usage. How is this a problem?

    9. Re:please by civilizedINTENSITY · · Score: 3, Insightful

      If the 3rd party libraries were proprietary, they could be dual liscenced. Then I could write software that used which I GPL-ed, and I could distribute my SW and the GPL-ed versions of the library. So could you. However, if you desired to produce proprietary SW you could. You would just have to use the proprietary liscenced libraries. That way my customers can experiece the freedom of my code, and the freedom of the libraries. Your customers pay to use your code, and hence must pay to use the libraries. Very simple.

    10. Re:please by Kunta+Kinte · · Score: 3, Insightful
      By your logic, virtually every peice of software written for windows belongs to microsoft, as it uses their libraries.

      Logic does not apply here. I can write software and stipulate that users must give me their first-born as payment. You are free to choose my software, or if you think the licensing terms are unreasonable, go buy someone elses package.

      Microsoft requires you give them money for their software, it is their right. BSD does not require you to distribute modifications, it is their right as well.

      Your right is to pick the software package that has a license that suits your purposes most.

      Never is there any notion that the company creating the 3rd party libraries I use gets any rights at all to my software. Yet, if the library was GPL'ed tomorrow, all of a sudden my work should be free?

      You always have the option of not using the GPL software. Nobody's forcing you too.

      --
      Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  2. 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
  3. What this boils down to: by intermodal · · Score: 4, Insightful

    do we consider libraries to be part of the OS or the program?

    Personally, I'd consider anything that's part of another program installed on the computer as a dependency to be fair game. If I see that Program X requires me to have GAIM installed, fine. if Program X takes GAIM source, closes, and sells it in their program that way, that's bad. So as long as it only utilizes your install of GAIM rather than including it itself, then it's all good.

    Note, I also don't object to them putting it on the CD with the software, as long as it's clearly seperate from their software, even if it's a dependency, as long as they provide it within GPL terms.

    --
    In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
  4. Re:Derviative by Daniel+Dvorkin · · Score: 3, Funny
    Derviative!! Gah! I know its only two characters transposed, but it sounds so messed up. Remember, always, no wait, never.... no, always click on the Preview button first (especially editors)
    I think that should be, "Click on the Perview button first" ... hmmm, I see your point.
    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  5. Derviative Works by Pac · · Score: 3, Funny

    Since programming while whirling is very hard to do without felling very seasick, few Dervishes ever manage to become good coders. So, Derviative works worth the trouble are rare and far apart.

  6. Noone really understands the GPL... by dagg · · Score: 5, Informative

    I've contracted for multiple fortune 100 companies and personally installed 1000's (literally) of GPL'd modules onto their server machines. Those modules are all critical components of their mission critical software. It would have cost tens of thousands of hours to make the software function without the GPL'd software. But you know what? These companies don't have a clue what GPL even means. As far as they are concerned, the GPL software is just free.

    --
    Sex - Find It
    1. 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.

    2. Re:Noone really understands the GPL... by Darth+Yoshi · · Score: 3, Insightful

      But, as I understand it, as long as they don't distribute it and only use it for internal use, I don't see any violation of the GPL license.

      If a company is using GPL'ed software and/or libraries in a commercial product, you might want to talk to the FSF lawyer.

      --
      // TODO: fix sig
    3. Re:Noone really understands the GPL... by MarkCC · · Score: 5, Insightful


      The GPL doesn't say that you can't create derivative works without giving them away. It says you can't
      *distribute* derivative works without giving them
      away.

      If you're building proprietary software for use internally by the company, then they are not, legally, distributing it! In effect, it is purely free, so long as you don't distribute your derivative works.

      -Mark

  7. My concerns about collaboration and derivations by karmawarrior · · Score: 3, Insightful
    One of the issues that the whole derivative work sphere has is that it in many ways contradicts the normal notions of collabaration, where usually people work together in a controlled environment to create a work. In open source and free software, in general it's assumed that people will if they can, but the systems are set up to allow different forks to go ahead. This leads to interesting results: people working together usually have the same aims, for someone to split off a project and develop independently suggests a difference in goals, and this in itself suggests that the people concerned may have differences of opinion that are more than just technical.

    The GPL was created for a specific aim - to ensure that there would be a base of software that is, for want of a better term, free to the end user. That means that the end user need not care about how the software is created and the aims of the person creating it, but is able to use the software for their own personal use to the best of its capabilities. If the software needs to support something new, they can change it. But in itself, this promotes a non-collaborative paradigm. And this creates - as you can see from some of the heated discussions of GPL vs BSD/X11, etc, discussions on Slashdot - an ironic dichotomy where the aims of those who use GPL'd software may be at odds with those of the original developers, almost my definition.

    This quagmire of free software frustrating a small minority of those who are uninvolved in its development who in many ways wish to remove the very freedoms the GPL provides to users of their own derived software will not go away by itself. Unless people are prepared to actually act, not just talk about it on Slashdot, nothing will ever get done. Apathy is not an option.

    You can help by getting off your rear and writing to your congressman or senator. Tell them you believe that collaboration and the use of derivation is something you want to encourage. Tell them that you appreciate the work being done by the free software and open source communities, but if the freedoms they introduce end up being compromised by incompatable derived software that removes those freedoms you will be forced to use less and less secure and intelligently designed alternatives. Let them know that SMP may make or break whether you can efficiently deploy OpenBSD on your workstations and servers. Explain the concerns you have about freedom, openness, and choice, and how we need to work together to create a world where collaboration and derivation is a norm that can be relied upon to exist. Let them know that this is an issue that effects YOU directly, that YOU vote, and that your vote will be influenced, indeed dependent, on your legislator's policy towards free and open software.

    You CAN make a difference. Don't treat voting as a right, treat it as a duty. Keep informed, keep your political representatives informed on how you feel. And, most importantly of all, vote.

    --
    KMSMA (WWBD?)
  8. 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.
    1. Re:Quoth the attorney by Arandir · · Score: 4, Insightful

      However I am now failing to see how a program could simply "use" a library. If someone could enlighten me I would appreciate it.

      Okay, let's imagine a hypothetical GPL'd glibc. Then you write a generic "Hello World" program. Your program merely uses glibc. It does not derive from it.

      When someone asks you which libraries are involved in running your "Hello World" program, they will say "what libraries do you use", and not "what libraries have you derived from."

      1) The C API is essentially in the public domain. There are many implementations of it, and your program has no way of knowing which implementation it is linking to.

      2) The linkage happens at run time. It is the end user who actually shoves the program and the library into the same process space. Not the developer. What you are distributing has zero glibc code in it.

      3) glibc was *meant* to be used in such a manner. It has been created and distributed for wide general use by people outside of the GNU project. This is the main point of the second bulletted item in the article.

      4) Dependency is not derivation. It may seem so in some software languages, but they are two distinct things when it comes to copyright.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
  9. This article is not legal advice by DeadSea · · Score: 5, Insightful
    The primary indication of whether a new program is a derivative work is whether the source code of the original program was used, modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that it is not a derivative work.
    This is not the definition of derivative work that is assumed by the GPL. The GPL assumes that a derivative work is any work that uses another work. (In the GPLs case, by linking to it). If this were (legaly) not the case, as the article exists, then there would be very little difference between the GPL and the LGPL (which specifically allows usage without modification).

    For an interesting read of why usage constituting a derivative work would be important to free software (and is part of the GPL) read Why you shouldn't use the Library GPL for your next library from gnu.org.

    I myself have written popular Java libraries that I license under the GPL (not the LGPL) because I want to encourage free software development.

    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? (Ignoring fair use such as parody) I don't think you should be able to.

    The article seems to be written to allay fears of business leaders that they occur legal risk by using open source software. The article does not offer good advice. I would recommend, that if you were to use open source software in closed source, look for a license that specifically allows you to do so (such as the LGPL) rather than relying on an untested definition of derivative work.

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

    2. Re:This article is not legal advice by sudog · · Score: 4, Insightful

      Doesn't matter--redistributing the software afterwards implies acceptance of the GPL terms: why do you think no company has actually tried to challenge the GPL yet? If they did, then many of the clauses in their own licenses would also be void--and they don't want that.

      So we win both ways: if the companies claim that the GPL is unenforcable for simple linking, then much of the commercial EULA and licensing that is similar is also invalid. If they claim otherwise, then the GPL is totally enforceable and we also win.

      Pure genius.

      However, it is meaningful, and you aren't quite informed as to what the courts will or won't allow.

  10. Been going on for years... by russotto · · Score: 3, Insightful

    This argument is certainly nothing new; at issue is whether merely linking to a library creates a derivative work. IME, it would be a really bad thing for open source and free software if this was the case, despite the short-term impact to proprietary software makers.

    If linking DOES create a derivative work, this means that the very act of USING a library in the normal way is an act covered by the copyright code. This applies to everything -- including system libraries. Makers of computer systems could thus legally prevent anyone from writing programs for them by refusing to allow them to create derivative works. Want to write a program which links with the .NET APIs? Here, sign this contract, in blood if you please. And don't even think of GPLing your program.

  11. 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"
  12. 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*

    1. Re:Impressed, but reserved... by sudog · · Score: 3, Informative

      That's just as much a derivative work as if you had added another function that relied on other portions of the CGI library to work.

      Either that, or the GPL and LGPL are unenforceable. If they were unenforceable, then why aren't more companies challenging the GPL? Or any companies for that matter? Answer: they don't want to invlidate their own licenses that make similar end-user restrictions.

      By validating the GPL's ability to enforce such restrictions, they are affirming their own ability to enforce their own restrictions.

      So it seems to me that the companies disagree with our man Rosen here.

  13. scaring proprietary software users away? by burgburgburg · · Score: 4, Insightful
    I think he meant "scaring proprietary software developers away". They are the only ones who'd be concerned about the derivative work issue.

    And why shouldn't they be scared away? If they want to make proprietary software, then let them. They just can't use GPL'd software programs or libraries as a replacement for paying for development of their own. There is always BSD licensed work to explore, if they are so inclined.

  14. It should be REALLY clear by blakestah · · Score: 5, Informative

    That this is a complete mess, legally.

    There are, however, some guiding principles. One of the is that of the non-unique well-defined interface. For example, if a program only used POSIX libc calls, it is not a derivative work of any C library it uses. This independence is because you can change the C library freely, and the program's function doesn't change. So we can easily establish that libraries that adhere to a spec, for which multiple DIFFERENT libraries exist to fulfill that spec, do not make derivatives of programs that dynamically link to them.

    Static linking I think is highly likely to make the calling program a derivative, since the library forms part of the functional binary.

    Now, on to dynamic linking with a unique library. This case is the REALLY interesting one. Some people argue that inclusion of the header files makes something a derivative. This is utter nonsense. A header file is made specifically so that a calling program may include it. Also, you could replace the header file with another file that provided the same functionality trivially (it defines an interface, a function, and it not really expression in the same sense that the main program is). I don't think this argument will ever fly. But, in this case the program cannot function at all without one specific library. So, it is likely a judge would rule that it is dependent in copyright, and a derivative. Note that if someone coded a clone replacement library, then the dependence vanishes, as does the derivative nature of the work. Larry Rosen disagrees with this point of view, b/c he claims libraries are MADE to be linked with. But, this point is still to be decided by a judge.

    There are other cases that are clear. Plug-in interfaces, for example, are like walls that separate dependences. The interface is well-defined so that no one on either side of the interface needs to know anything except the interface itself. Not a derivative.

    As you can see, the rules are not hard and fast, and there is a slippery slope to tread.

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

    1. Re:I don't understand it either by ethereal · · Score: 3, Informative

      There's a certain minimum amount of copied material required before it becomes copyright infringement, isn't there? If it's only one line you might be OK, since there can't be that much creativity in just one line of code.

      Out of curiosity, how did they do it?

      --

      Your right to not believe: Americans United for Separation of Church and

  16. I would think anything would be derivative by pgpckt · · Score: 3, Insightful


    This opinion is probably not legally sound, but it would seem to me that anything would be derivative. Linking to a library, calling a function of a library, etc. The lawyer in the article says (paraphrasing since I can't get an exact quote since the site is /.ed) that surely calling the sqrt() function isn't derivative.

    Why not? If it is a sqrt() function in a free software library, I think that does count. If the author of the package doesn't want it to count, he can write his own sqrt() function and own library. If he write it from scratch, no copyright, and no legal problem. Then he can call sqrt() all day long.

    As has been said previously, if we had open software package X that "accidentally" used a library copyrighted by Microsoft, does anyone thing that Microsoft wouldn't sue us? Write your own code. If you "use" someone else's code, it only seems logical that you have to agree to their terms, no matter how small the piece of code. If it is truly that small, write it yourself, and there are no issues.

    --
    Lawrence Lessig is my personal hero.
  17. FUD by Euphonious+Coward · · Score: 4, Insightful
    I see this article as an attack on the GPL, trying to turn it, essentially, into the Lesser GPL. While this would be convenient for commercial exploiters of GPLed code, it would also make businesses more reluctant to release their work under the GPL, for fear of having their work stolen by rivals.

    The article disingenuously ignores cases where works were held to be derived even when they did not include any part of the original work, but only (e.g.) recycled characters from the original. When the second work makes sense only in light of the original, it's derivative. A program that works only when a GPLed library is present is derivative of that library.

    Claiming that dependency other than copying doesn't count is a disservice to Mr. Rosen's clients, and to readers at large. An honest article would have at least acknowledged that serious legal scholars disagree with him.

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

  19. Point 2 by SerpentMage · · Score: 3, Informative

    Regarding point 2, where the GPL expressly forbids it. The question is can the GPL actually do that. The problem of the GPL in that instance is that it forbids something that cannot be clearly defined. For example it is allowed by the GPL for you to create an executable and call that executable from a propriatary program. In legal terms how does that differ from doing a library call? Ok at a technical level HUGE difference. But what I think the person was arguing is that at a legal level that distinction is not so clear.

    And in part GPL decision (I think MySQL) a judge made the decision that if the program could be substituded with another then there is no binding. Therefore it could be concluded that if I create a neutral API a'la ODBC I could bind to a GPL program, without having to give up my sources.

    Of course all of this is yet to be decided in a court of law....

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"
  20. 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.

  21. 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?
  22. 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.
  23. Not centrally, but it IS an issue by burgburgburg · · Score: 3, Informative
    Microsoft, despite their 10,000 programmers, used the BSD licensed TCP/IP stack when they decided to start paying attention to such things (since they license allows this, there is nothing "wrong" here).

    They would quite likely love to cut costs by using GPL'd software of various sorts as the foundation for their proprietary software. Their railing against the cancerous nature of the GPL seems to indicate their frustration at not being given free reign to do with such software as they wish.

    I would guess that there are a number of programmers who GPL specifically to ensure that their work is never legally usable by Microsoft. I think they would be quite displeased with this interpretation.