Slashdot Mirror


Open Source Licensing

Peter Wayner writes "For most open source software users, there are few things as easy to understand or follow as an open source license. If you share your code and follow a few basic steps, you're in the clear. This simplicity is a bit deceiving because the licenses are really quite complicated if step off the well-beaten path. And if you happen to be accused of something odd like SCO's claim that IBM donated SCO-owned code, well, the normally simple rules turns into a thicket of brambles with three-inch-long thorns. Lawrence Rosen, a hacker turned lawyer, has stepped forward with a deep and important exploration of the law. Curious programmers will enjoy it, but it's indispensable for businesses trying to honor the rules while still closing off some of their code." Open Source Licensing: Software Freedom and Intellectual Property Law author Lawrence Rosen pages 400 publisher Prentice Hall rating 9 reviewer Peter Wayner ISBN 0131487876 summary Major open source licenses are dissected and compared; invaluable anti-FUD for businesses and enlightening for all free software enthusiasts. The tricky part of following the GPL and even the BSD license comes when you want to keep some of the code private. This isn't as nefarious as it sounds. Many people write their own software, keep it secret, yet run it on top of Linux. Others write proprietary web applications and run them with a BSD-protected version of Apache running on top of a GPL-protected version of Linux. If you stay on the right side of the lines, you're still Richard Stallman's best friend. If you link the code together in the wrong way, though, you're toast.

This has been a particular headache for embedded systems manufacturers. If the engineers take advantage of the openness of Linux and make some tweaks to the part that is officially Linux, the company must to distribute their changes too. If they merely create software that works like a regular program, then there's no need to distribute anything. (Notice the ASP in the URL!) I know at least one very sharp businessman who explained to me how he carefully made sure the proprietary code in his system would only be dynamically linked to the GPL-protected code. If he left things statically linked, he would be legally bound to release all of his code and his investors wouldn't allow that.

"You had to work with developers. We had to create a build process that very carefully keeps things separate. If we weren't able to do that, we wouldn't have been acquired," he told me.

Rosen's book is a guide for anyone who's trying to walk that line. It dissects the major (GPL, BSD, Netscape, Apache, etc.) as a lawyer would: this kind of legal writing is always eye opening for me ,because the courts often make decisions differently from programmers. They value abstract issues like damages and pay attention to the often nebulous concept of who "owns" a piece of code. Thanks to the hard work of the lawyers at SCO, the distinctions will continue to be important to everyone experimenting with open source.

There are a surprisingly large number of distinctions, both big and small, between the different licenses. For most of us, the differences don't matter. But it's fascinating to watch a lawyer take them apart and compare and contrast them. The BSD license and the Apache license aren't the same, even though they're close cousins. Who would have known?

This book is a wonderful start on the topic. But by the end, it's clear that it's only just the beginning. There are deep philosophical questions awaiting the movement. The distinction between statically and dynamically linked code was easier to define in the past, long before modern languages like Java and the emergence of the Internet. Are web services specified by a hard-coded WSDL file, an example of dynamic or static linking? Can the DNS service change a static IP address into a dynamic link? Enquiring minds want to know. Rosen's book is a great way to begin the exploration of these topics.

You can purchase Open Source Licensing: Software Freedom and Intellectual Property Law from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

31 of 193 comments (clear)

  1. Even without the book, by oostevo · · Score: 5, Informative
    Even if you don't read the book, his website seems extremely useful to software developers -- he's penned dozens of articles about IP law.

    His Trademark law article and his explanation of fair use seem particularly useful.

    --
    In soviet russia, You ask not what country do for you, but what you do for country!
    Oh wait...
  2. Comment removed by account_deleted · · Score: 3, Insightful

    Comment removed based on user account deletion

  3. Re:Funny... by MikeMacK · · Score: 5, Insightful

    I disagree. Developers, more and more, need to be conscious of licensing, patent, copyright and IP issues. It sucks, because it takes time away from writing code, but I see it getting worse before it gets better.

  4. Too bad the book isn't online by Alwin+Henseler · · Score: 4, Insightful
    Looks like a book that could be really useful if it were online, so that you could browse through it when you have license-related questions. Or is this only something for lawyers, and they prefer paper?

    Did you take your Free Software licensing quiz today?

    1. Re:Too bad the book isn't online by rawket.scientist · · Score: 3, Interesting

      You haven't been on Westlaw or Lexis lately, have you? Those services implement search features that I can only dream about on Google.

      --
      John Hancock wuz here.
  5. Knowing your limits by JohnnyNoSPAM · · Score: 5, Interesting

    Thank you for discussing this book. I will be sure to check it out.

    I think that in the not-too-distant future, this kind of legal knowledge will be a bit of a prerequisite. This is especially true as awareness of the value of open source continues to spread, and more and more companies and people turn to open source as a cost effective tool. Check out "No More Stock" at this page: http://www.businessweek.com/technology/content/sep 2004/tc20040922_8372_tc024.htm With that, we can expect to see more and more proprietary software vendors who are feeling the heat of open source competition to stretch the very limits of any contract or license agreement.

    Knowing the legal limits *as a court would interpret them* will be crucial for open source developers world wide.

  6. I dont know which is worse by hackronym0 · · Score: 3, Insightful

    I know that law is all hard and stuff (why else would we keep using IANAL?) but I would watch out for any hacker turned laywer...

    Aren't most hackers just people that are awesome at looking at a system and finding its weaknesses? So what is keeping him from finding a way to do anything he wants. Maybe nothing...

    Normally I think we should be wary of lawyers and of hackers, but a hacker turned lawyer... WATCH OUT!

    of course, I could just be using a outdated, preconcieved notion to judge someone that is doing good for us all

    Like tests? Get paid to take them...

    --
    This is completely false. This is not a sig.
  7. Linux changes. by PeterPumpkin · · Score: 3, Informative

    From the writeup:

    If the engineers take advantage of the openness of Linux and make some tweaks to the part that is officially Linux, the company must to distribute their changes too.

    Actually thats not true. You don't have to distribute code if you aren't distributing the kernel. (or program, or whatever). Does the person who has patches his sources, for example when testing for the linux kernel for the developers, have to publish his /usr/src/linux directory on the web? Hell no.

  8. Re:NOT a first post. (Yeah, suck it!) by Stumbles · · Score: 3, Interesting
    There is nothing wrong in of itself with releasing software into the public domain. The question you have to ask yourself as a developer is how do you want your code handled, treated by others. Code in the public domain can be had by anyone for any reason and AFAIK they need not mention in the least your contributions of that code. Neither are they required to contribute their contributions back to the public domain.

    Under GPL, if you distribute your code outside your own use (ie, internal use), your contributions are given back to the community so someone else may enhace your work, etc.

    I think that is more or less right.

    --
    My karma is not a Chameleon.
  9. Re:How Many Times... by cthugha · · Score: 4, Insightful

    <paraphrase>But I'm more than a little frustrated that a book like $foo For Dummies is necessary. It speaks volumes about the current state of computing. The reason computers are complex is that big corporations who have no interest in their users' needs and programmers are too lazy and inconsiderate to create simple, flexible interfaces that Aunt Tillie can pick up in five seconds flat.</paraphrase>

    Seriously, exactly how does the fact that non-lawyers need a book on the application of the law to open source issues lead to the conclusion that the law is unnecessarily complex? By the same reasoning, physics is unnecessarily complex because you need an engineering degree to get a good understanding of how Newton's laws govern the behaviour of real-world systems.

    Law is like mathematics: you have a set of basic principles that are fairly simple on their own, but which need to be developed into quite complex structures in order to be useful in a large number of situations. In this example, the basic principle is: the person who creates the code has the right to say how it's used. The complexity comes simply from the fact that lots of people are involved and the law gives them all a say in how their work should be used.

    Simplicity is a fine thing, but over-simplification should be considered harmful.

  10. Re:NOT a first post. (Yeah, suck it!) by ZhuLien · · Score: 3, Interesting

    I find I prefer to release my latest code as 'free'. When I mean free, it is free for whoever to do whatever they want with it - and totally free of any licence or other restrictions. I dislike everything about the idea of a licence to use software/data (sourcecode is just data to the compiler) and that's why I choose to make my things available free.

  11. interesting by killua · · Score: 4, Insightful

    With the way things are going in the lawsuit department lately, it seems this is kinda needed. Tho it has always been hard to explain to the buisiness world the concept of gpl style license agreements.

    Tho, i do disagree 100% with the idea that developers do not need to be concerned with the legal side of this argument (from above posts), more and more do we find ourselves as developers in the spotlight when something is not 100% up to snuff. More knowledge isnt really a bad thing.

    1. Re:interesting by KillerCow · · Score: 3, Interesting

      Tho it has always been hard to explain to the buisiness world the concept of gpl style license agreements.

      I never understood why it was hard. The terms are easy.

      If you modify or statically use this code that someone else wrote, and distribute it in a compiled form, then you have to distribute the changes that you made and the code that statically uses it in source form under the GPL. If you don't like those terms, then you don't have license to redistribute it in compiled form. The person who originally wrote it only gives you license to use it in this manner.

      Tho, i do disagree 100% with the idea that developers do not need to be concerned with the legal side of this argument

      I definitely think that they have to know about it. The last project that I worked on heavily used open source components. Most were Apache and BSD style licences. But there was one LGPL that we had to be careful of.

      If you're a developer and you are writing some tiered app... why write your own connection pool, logger, encryption layer, application server, XML parser, etc, when you could just plug in someone else's open source stuff. You need to be aware that open source components do exist, and that you need to examine their licenses and be able to understand them.

      If you are just some monkey programmer, then you don't need to be aware of these things. A real developer will make the decisions for you.

  12. Re:How Many Times... by Brandybuck · · Score: 3, Interesting

    We have to keep having this conversation as long as there are people and software and licenses.

    About a month or two ago I got an interesting email. One particular project wanted to incorporate some of my code into theirs. My code was under the BSD license and theirs under the GPL. No problem, right? Not to them! Their email was to beg me to release my software under the GPL so that they could use it. Needless to say that a short paragraph and a few good links on GPL "compatibility" cleared up the confusion. But this has not been the first time I've received an email like this.

    A need for this kind of book exists.

    --
    Don't blame me, I didn't vote for either of them!
  13. Re:How Many Times... by Surazal · · Score: 5, Interesting

    Just because something's properly GPL'd doesn't mean it's sue-proof, and there's a lot more to litigation than just the substantive law at issue.

    Well, it will help protect you by helping you become more sue-proof for licensing reasons than you would be by not reading the book. Of course it may not be as effective in a theoretical loss-of-life situation (in a country where someone can successfully sue for spilling hot coffee on their own lap, anything can happen). But in those types of situations, your choice of license is moot; the actual product is being held responsible for /*insert bad thing happening here*/, not the terms you released it under.

    You're right, though, nothing is a substitute for a good lawyer for some things.

    --
    --- Journals are boring; Go to my web page instead
  14. Another view on OS/GPL by Anonymous Coward · · Score: 4, Interesting

    Seems that OS may have other ramifications!
    From http://www.builderau.com.au/program/work/0,3902465 0,39131082,00.htm
    "solicitor, Nick Abrahams today revealed he was in pre-court negotiations to defend a legal case in which a large IT company was attempting to use provisions of the open source General Public License to force his client to reveal its proprietary code."

    I've submitted this as news (twice) yet it doesn't appear to be getting posted.......

  15. Re:How Many Times... by jedidiah · · Score: 3, Interesting

    The current SCO mess has nothing to do with the inherent complexity of copyright law or open source licenses. SCO is merely taking advantage of the fact that you can sue anyone for anything regardless of merit. You can indulge in legal harassment just by filing some papers with the local courthouse.

    You don't need a convoluted contract.
    You don't need convoluted laws.
    You don't need confusing caselaw.
    You don't need a confusing license.

    The SCO shenanigans have gone on long enough simply because that's how long civil cases take to sort themselves out. This gives SCO plenty of time to shoot it's mouth off.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  16. Re:How Many Times... by John+Courtland · · Score: 4, Insightful

    Law is man made and is arbitrarily complex. It could be simple, but for some reason, even though it is defined by man, it isn't. On the other hand, physics is defined by observable natural phenomenon. There is no known way to make it simpler. There's a huge difference.

    --
    Slashdot is proof that Sturgeon's Law applies to mankind.
  17. I'm confused by eidechse · · Score: 4, Funny

    ...businesses trying to honor the rules...

    These words don't make any sense together.

  18. "Intellectual Property" does not exist! by monsterhead78 · · Score: 5, Informative
    The phrase "Intellectual Property" is a metaphor used to explain a very specialized interpretation of what Copyright, Patents and Trademarks are. These three things do exist (Copyright, Patents, Trademarks) and have defined meaning in our various Nation-State legal systems, and differ from Nation-State to Nation-State, but the phrase "Intellectual Property" does not have any real meaning.

    As soon as you use that phrase, you are assuming a specific interpretation of the 3 legal constructs. Those of us who reject that particular interpretation are automatically locked out of the discussion, which I suspect is the purpose of the phrase.

    What Copyright, Patents, and Trademarks do is impose a 'temporary monopoly' onto something intellectual that otherwise would not have limits. The nature of the monopoly may be different (Is it for an exact 'copyable' work of art such as an audio/visual work, or writing....is is a process where the words/diagrams used to describe the process are not critical, but the process is ... or is it part of a virtual identity), and the time limits may be different, but the phrase "temporary monopoly" is the essence of these legal structures.

    If we can't start from that basis, then there is no way to have the discussion without quickly breaking down. The metaphor of property just does not make sense outside of physical objects as ideas are infinitely copyable, and can be spontaneously created ("thought of") in different places and time in isolation from each other. With physical objects there is a natural monopoly: the land, animal, person, object or whatever physical object can only exist in one place at any given time, and in the world outside of science fiction and magic do not just "appear out of thin air".

    Creating an arbitrary legal limit on how something can be copied is clearly government intervention in the natural world to create a monopoly. Who benefits from that monopoly, and what the costs are, and how these things have changed over time can be brought up to interpretation and debate, but the basic concept behind the government granted temporary monopoly cannot be debated.

  19. Re:Funny... by wasabii · · Score: 4, Interesting

    You need the book, because you are wrong. You have stumbled onto a point of major issue with teh GPL, which simply isn't 100% answered yet.

    When a peice of code, lets say, libfoo, is under the GPL, that means the structures in memory that libfoo defines, the method signatures, etc, are all peices of libfoo. They are copyrighted works released under the GPL.

    Now, lets say you want to write a peice of software to USE libfoo. To write this software, it's required to import some of libfoo's headers. These headers are copyrighted. When you compile your software, even though it links dynamically at runtime, it still retains this copyrighted memory structure information in the final binary image. You're compiled program has just included GPLd code. In fact, if you simply call methods, you're program could arguably be including copyrighted material.

    This is a major peice of contention... and I would say this IS how the GPL works, even though most people ignore it. WHy would I say that? Because of the LGPL, which was designed SPECIFICALLY to address the issue by putting in writing that it was OKAY to use LGPL libraries in a non-LGPLed program. Because the FSF found the need to create the LGPL, one can only assume that that GPL really does work th is way. Somebody suing you for using their GPL'd code would most likely bring this up in court, and they'd likely win.

    According to a strict interpretation of hte GPL, this is the way it is. It disturbs me greatly that some people have never read the thing, or are willing to ASSUME anything in the face of copyright. That's bogus to me. Don't rewrite the GPL to suit how you wish it was, interpret it as it is and go from there, otherwise you are opening yourself up a can of worms.

  20. Re:How Many Times... by cthugha · · Score: 3, Interesting

    You could also make the claim that an operating system or programming language is arbitrarily complex. This is true, but in most cases those systems have been adapted to try and provide the best and simplest possible solutions for their respective problem domains. So it is also with law: the conficts created in modern human communities are complicated, and the law that governs those communities and tries to resolve those conflicts is also complicated.

    Your claim that physics is defined by observable natural phenomenon is also only partially true. Physics is also defined by the models used to analyze and predict the behaviour of physical systems. The model has been improved over the years, e.g. with the invention of calculus or topology or other novel mathematical techniques, sometimes making physics simpler than previously thought possible.

    The statement that there is no known way to make physics simpler could therefore apply equally well to law, and leads on to my own view on the matter: finding new and better ways to solve problems with formal or semi-formal systems is hard, and maybe impossible in some cases. The parent poster's assertion that law is overly complicated due to malice, incompetence, or recklessness is unjustified on the basis of the evidence he provided to support it.

    Your assertion that law could be simpler is just that, an assertion, and you haven't bothered to support it with fact or logic. In respect of some areas of law I agree with it, in others I don't. Convince me.

  21. If it's legal if copyrighted, it's legal under GPL by spitzak · · Score: 3, Informative

    The main thing managers have to somehow learn is "if it is legal to do something with copyrighted code, it is legal to do it under the GPL".

    GPL is a set of exceptions to standard copyright law. It says "if you do this, you can violate the copyright on this code".

    It is amazing how few PHB's understand this. If you put a piece of code in that says "Copyright me, all rights reserved" they have not problem, and say "we'll replace that or ask for permission before we distribute". But put some GPL code in, or even link to an LGPL library, and they get all nervous and scared that somehow they will lose the entire company! That is just incredibly stupid, it is in fact safer than plain copyright, by definition!

  22. Re:How Many Times... by 808140 · · Score: 3, Insightful

    While they were obviously fairly ignorant, it is nice that they thought to ask your permission. I'm a GPL-nut myself (everything I write, essentially, gets released under the GPL) but I have noticed that lots of BSD folks get upset when their code is relicensed by other free software projects. They'll always agree to it, if you ask (at least, they have in my experience, and anyway, they can't really say no, legally) but it's still the polite thing to do.

    At the very least, it'll make the dev happy that someone out there thinks his code is worth copying.

    PS. I think the reason that BSD types get upset over free software relicensing (rather than proprietary relicensing) is because they are "competing" as it were in the free software sphere. When someone takes BSD code proprietary, they're taking it out of the pool. The BSD dev doesn't know what happens to it after that and so it's hard to worry about it. Contrast this to a GPLification, where the GPL'd version might (for one reason or another) get more mindshare than the BSD version and eclipse the original, with valuable bugfixes and improvements in plain sight of the original dev and yet completely out of reach for legal reasons. That having been said, when I use BSD code, any changes I make to that code (in the form of bugfixes or whatever) I'll be happy to provide under the BSD to devs that would like them. But unfortunately many GPL-types aren't so nice.

  23. Dynamically linking OK? by Dominic_Mazzoni · · Score: 4, Insightful

    I know at least one very sharp businessman who explained to me how he carefully made sure the proprietary code in his system would only be dynamically linked to the GPL-protected code. If he left things statically linked, he would be legally bound to release all of his code and his investors wouldn't allow that.

    Hmmm, according to my reading of the GPL FAQ, even dynamically linking creates a derivative work, and thus all of the code would need to be under the GPL. No?

  24. Re:How Many Times... by Brandybuck · · Score: 3, Informative

    While there are certainly some BSD types that get all upset when someone places their code under the GPL, they're not all that common. Most of us don't really care... with one exception. There have been cases where "GPL-types" have taken BSD licensed code and relicensed it under the GPL just because they didn't like the BSD license. Not only is this a violation of the BSD license, but it's quite rude.

    Oh, and to correct a point. You may not "relicense" any BSD licensed software. The terms of the license do not permit it. You may not "file off" the BSD texts and replace them with the GPL. However, you may redistribute it under the terms of the GPL. So in actual practice it doesn't make that much difference.

    --
    Don't blame me, I didn't vote for either of them!
  25. laugh of the day by Anonymous Coward · · Score: 5, Insightful

    "For most open source software users, there are few things as easy to understand or follow as an open source license.

    When I read this, I laughed so hard I nearly fell out of my chair. Just consider, if you will, how many completely misguided and contradictory views of the GPL you've seen/heard recently, even right here on /..

    Most open source users have no friggin' clue what the exact rights and restrictions are under the GPL or other popular OSI-listed licences (the BSD/MIT variants being a possible exception, since they contain almost no restrictions to begin with). That doesn't keep them from having an opinion and loudly expressing it, of course...

  26. Re:How Many Times... by imp · · Score: 3, Insightful

    While they were obviously fairly ignorant, it is nice that they thought to ask your permission. I'm a GPL-nut myself (everything I write, essentially, gets released under the GPL) but I have noticed that lots of BSD folks get upset when their code is relicensed by other free software projects.

    They have every right to be upset. The BSD license, like most software licenses, does not allow for relicensing. You must ask the legal owner of the copyright(s) on the software if you can change the terms under which it is distributed.


    When someone takes BSD code proprietary, they're taking it out of the pool.


    They aren't taking it out of the pool. The original, unmodified code is still in the pool for anybody to use as they see fit. Rather than taking something out of the pool, these people are merely failing to put more water into the pool.


    Contrast this to a GPLification, where the GPL'd version might (for one reason or another) get more mindshare than the BSD version and eclipse the original, with valuable bugfixes and improvements in plain sight of the original dev and yet completely out of reach for legal reasons.


    That is certainly the right of anybody making changes to a BSD license code base. They have every right to ADD the GPL restrictions to their works (but the original BSD license must remain). It is somewhat rude, and ill mannered, however, to make such a change. The folks that wrote the BSD license code wanted to offer maximum flexibility to the licensee. This even includes the flexibiltiy to contaminate with GPL'd code. These contamination can cause a lot of problems because it can sometimes be hard to know that patches posted somewhere to BSD licensed code contain these GPL contaminations. This is a bad thing about both licenses, btw.

    Again to reiterate: only the copyright holder can change the license on his/her copyrighted works. In general, derived works can only have additional licenses added (all of which must be obeyed).
  27. Rosen is clueless by Anonymous Coward · · Score: 4, Insightful

    Rosen disagrees with FSF on many points -- specifically, whether dynamically linking creates a derivative work. And since FSF's lawyer is a law professor and Rosen is a two-bit hack, you should think twice about listening to Rosen. Incidentally, MySQL's lawyers also disagree with Rosen -- and have gone to court to defend the GPL.

  28. Re:How Many Times... by Brandybuck · · Score: 3, Insightful

    And since you can trivially create a "derivate" (look mom, I added whitespace)...

    A common misconception. You must make a significant change to the original before it is a derivative work. You must ADD value to it. This cannot be done trivially. Adding whitespace is insufficient. On the other hand, merely compiling the source into a binary probably is sufficient, as it counts as translation.

    In any case, if all you've done is add whitespace, then all I need to do is remove that whitespace and file off your GPL, because ONLY that whitespace is under the dual license. Everything else is still under the BSD license because everything else is still original.

    --
    Don't blame me, I didn't vote for either of them!
  29. been there yesterday: GPL author violated BSD (c) by hubertf · · Score: 4, Interesting
    Even if no money is involved, dealing with legal stuff is annoying. I had the experience a few days ago when someone took code from me that's under a BSD license, removed my name & license and put everything under GPL.

    Read the full story at my web page, http://www.feyrer.de/g4u/g4l.html.


    - Hubert