O'Reilly Open Source Convention
Books Safari Bookshelf Conferences O'Reilly Network

Arrow Home
Arrow Registration
Arrow Speakers
Arrow Keynotes
Arrow Tutorials
Arrow Sessions
Arrow At-a-Glance
Arrow Wiki
Arrow BOFs
Arrow Events
Arrow Exhibitors
Arrow Sponsors
Arrow Hotel/Travel
Arrow Venue Map
Arrow See & Do
Arrow Tips for
Arrow Press
Arrow Mail List



SOLD OUT GPL Compliance for Programmers
David Turner, GPL Compliance Engineer, Free Software Foundation

Track: Linux
Date: Tuesday, July 27
Time: 8:45am - 12:15pm
Location: Willamette


Learn how to write software that complies with the GPL and LGPL. This tutorial is for developers, and complements Bradley Kuhn's tutorial for managers and lawyers. No familiarity with licensing is required. This course will cover compliance issues in C++, Java, and Perl, but only knowledge of C is required.

Tutorial Outline:

  1. Introduction to Free Software Licensing
    1. GPL
    2. LGPL
    3. GPL-incompatible licenses

  2. Derivative works under copyright law
    1. Copying
    2. Linking
    3. Fork/exec

  3. Compliance issues by programming language
    1. C
      -the easy case
    2. C++: Templates
      -without the export keyword
    3. Perl, Python and Java
      -pure dynamic linking
    4. Lisp

  4. Not-so-special cases
    1. Plug-ins
    2. Kernel modules
    3. Executable compression

  5. Source code provision
    1. The easy way: with the binaries
    2. The hard way: an offer
    3. Various forbidden ways

  6. Copyright notices, notice of changes, etc.

  7. Odds and Ends
    1. External obligations
    2. Patents
    3. Reverse engineering

  8. Common exceptions to the GPL
    1. Generic linking exception
      1. ibstdc++
    2. Specific linking exception
    3. Linking over a controlled interface
Turner elaborates on his session plans: "My presentation discusses my work for the Free Software Foundation. (I've been working for FSF for over two years now. I met Bradley Kuhn, our executive director, at Yet Another Perl Conference, 2001, in Montreal, and volunteered to answer licensing questions from the public.) My presentation is aimed at developers, but doesn't show off any cool technology. So, I'm not sure how to attract interest to it from non-developers, except when I do my Steve Ballmer impression at halftime. Everything I discuss should apply to all projects incorporating GPL and LGPL-licensed software. One very important point is the importance of getting things right first. Many people try to get a product out the door first and worry about licensing later. That's a recipe for disaster."

O'Reilly Home | Privacy Policy

© 2004, O'Reilly Media, Inc.