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.

9 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...
    1. Re:Even without the book, by stephanruby · · Score: 2, Informative
      "So if I find out that Microsoft are just about to launch a new soup called 'Wibble', I can start selling my own 'Wibble' soup first, then claim they are infringing my trademark when they launch? There must be something that prevents this."

      IANAL, but three quick thoughts.

      First, registering a trademark is not cheap. I could be way off, but I think I remember it used to cost five or six thousand dollars per year per trademark per category (but this figure may include lawyer fees, I don't remember).

      Second, in order for you to have the right to sue Microsoft, you would have to register the trademark Wibble in the software category and you would have to make Wibble a software. As far as I am aware, you could make yourself a soup called Windows and noone would stop you.

      Third, Microsoft will do a trademark/corporate name search and it will reserve the trademark before making an announcement. So, you may be able to use the trademarked name yourself, but you won't be able to sue Microsoft for infringement if you didn't register the trademarked name first.

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

    1. Re:Linux changes. by 0racle · · Score: 2, Informative
      Hope thats not all you read.
      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.
      Seems to me a manufacturer might be distributing the product they manufacture.
      --
      "I use a Mac because I'm just better than you are."
  3. "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.

  4. 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!

  5. 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!
  6. Re:Funny... by CorwinOfAmber · · Score: 2, Informative
    As for the gpl/lgpl thing, i was just answering to the article:
    " he carefully made sure the proprietary code in his system would only be dynamically linked to the GPL-protected code."

    According to the GPL FAQ even dynamically linking proprietary code with GPL code is not allowed. See in particular GPL and plugins, Mere Aggregation, and Windows Runtime and GPL.

    --
    My future's determined by Thieves, thugs, and vermin -- The Offspring
  7. Re:A GPL question by Carl+T · · Score: 2, Informative

    If you distribute MyApp it must be under the GPL regardless of whether you have made changes to LibFoo. Well, at least if linking is considered to be "combining two modules into one program". See the GPL FAQ, and specifically this.

    --

    This signature is not in the public domain.