Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Writing a Contract for GPL'd Code? 28

An anonymous reader wonders: "I am working as an independent developer for a client I have a long relationship with, and of whom I used to be an employee. I've made informal contracts in the past for development work, but this job is much more significant. Also, the client has gone to court over software development in the past; he was in the right to do so, but I need to cover myself. The product will be released under the (L)GPL and copyrighted by me, and the client will also be agreeing to open the license and give me the copyright on some code I previously developed. I plan to consult a lawyer, but I just want a little more direction before I start investing hours. Are there any resources I should know about, beyond what the FSF has to offer?"
This discussion has been archived. No new comments can be posted.

Writing a Contract for GPL'd Code?

Comments Filter:
  • Let me get this straight...

    You're getting paid to write code for a client, who is then going to turn around and distribute it freely?

    And after you're done with the project, he/she intends to give you ownership/copyright of prior code you've written?

    Something sounds a bit fishy to me. Get a lawyer that specializes in cases like this.

    • by thegrassyknowl ( 762218 ) on Saturday February 03, 2007 @09:08AM (#17872410)
      My memory is a little rusty (pun intended) but Rusty Russel did this with the Linux firewall code, did he not?
    • Re: (Score:3, Interesting)

      This isn't fishy at all, it is common practice. There are many business that rely on just this - contracting work to add features or even develop projects from scratch under the GPL license. Cygnus (later bought out by redhat, unfortunately) is a famous example.
      • Well, the fishy part is that it sounds like *only* if he takes this job on will he be given copyright for the code he has previously written. (Almost sounds like the client is holding his code hostage, so to speak.)
        • by Fastolfe ( 1470 )
          Or the company rightfully owns the code and the programmer here would like to make a deal to transfer ownership to him? I don't see anything sinister here. If I wrote something really slick for a former employer, and some time later I wanted to use it, I might try to deal with them to get ownership of it (or at least a license to use it).
    • by anon mouse-cow-aard ( 443646 ) on Saturday February 03, 2007 @09:47AM (#17872708) Journal
      It is unusual in that it sounds to me like a company that "gets it". The company likely just wants to use the code in their business, but is not in the software business. Amazon was an early contributor to apache, because they needed a web server to run their business.

      I have been in a situation where the only software available for a business need cost in the middling six digit territory, and managed to replace this application with some about 10000 lines of python scripting. Do I want to sell this application? It is not my business (we are not even a development shop, not enough of a team, need marketing, etc...) Do I want to maintain it forever? If I open source it, there is a chance that outside people will help. If we keep it in-house, we are just condemned to supporting it forever. It does not cost us anything to use a public svn repository, people have to get to whatever the development process is.

      The company could be making widgets, and just need software that runs them. This could be a driver, or it could be some packaging around a linux distro for some appliance. 99% of the code would be GPL in such a case, maintaining the 1% contributed by this guy would likely just make for bad publicity if they only release the 99%.

    • If what the client needs is a new ability provided by that code, rather than a product they wish to distribute which this code is part of, then the approach seems logical. Many OSS projects, which are already large and useful, offer someone to sponsor a certain missing feature that they need. It is still releases as open source, and the client gets the feature they need, so everyone is happy.
  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Saturday February 03, 2007 @10:21AM (#17872920)
    I've done the exact same thing myself. Make a contract over the functionality and the service delivered that excludes code and implementation specs and agree verbally to GPL all parts exepct any CI and branding stuff the company uses. Think about a generic name for the GPL side of the project. Then anything that goes GPL is entirely in your hands and there's no need for a contract handling the GPL. It's a wonderfull foundation for working with larger partners. They don't have to pay further than needed, no need for both to fight wether they bought a result or some code and you don't need to feel ripped off as there's a funded GPL project out there with your name on it. It's a win-win situation.
    • or at least living in a jurisdiction that doesn't criminalize practicing law without a license, because you just did.
      • by bondsbw ( 888959 )

        practicing law without a license, because you just did.
        Practicing law requires an agreement between the attorney and the party being advised for legal services rendered. The attorney usually gets money in exchange for those services. No such agreement exists. This is Slashdot after all... using your logic, half of all posts should be prefixed with "IANAL but...".
      • by juergen ( 313397 )
        Let's assume he is from Germany. German courts understand about common sense. There is no need to put up silly disclaimers on everything.

        Obviously, he just gave a report of what he did and how it worked out. He specifically does not claim to be a laywer, and does not advise as such. Common sense dictates you cannot take a comment on slashdot as legal advice. EVER. Any German judge would laugh you out of court, and make you pay both sides fees.

        Geez, not that hard really. And in case you wonder, IANAL, althou
  • Write it simple (Score:4, Insightful)

    by nuggz ( 69912 ) on Saturday February 03, 2007 @10:38AM (#17873020) Homepage
    Write out simply what you want, and see a lawyer.
    It should only take a few minutes.
    • Write out simply what you want, and see a lawyer. It should only take a few minutes.

      Anything that takes a lawyer, takes a lot more than "a few minutes". A few HOURS, if you are lucky.

      It's probably possible to cut down on the time required if you can find an existing contract that does pretty much what you need.

  • Ask Eben Moglen (Score:4, Interesting)

    by MathFox ( 686808 ) on Saturday February 03, 2007 @10:54AM (#17873138)
    or one of the other experts working for the Software Freedom Law Center [softwarefreedom.org].

    As far as I see it is essential that write down that the application will be distributed under the GPL and that you'll get the copyrights on the finished work (if that's the deal.) Under the "work for hire" doctrine your employer normally gets the copyrights on your work.
    Copyrights have to be transferred in writing, but a copyright transfer can be seen as payment. You could put something like: "Upon completion of the work [employer] will transfer the copyrights on ..." in your employment contract; but you should get another paper with the actual transfer.
    I would not mind leaving copyrights with an employer, if I got full relicensing rights. What matters is that I can give permission to xxxBSD to use a BSD license for my code.

    Disclaimer: IANAL, use this advice at your own risk. If it breaks, you may keep the pieces, etc. etc.
    Remember, this is Slashdot.

  • the client has gone to court over software development in the past

    Was this over software ownership, quality of development, or something else? Seems like you know this firm well and you are suspicious. Make sure your lawyer understands why so this perceived risk is covered by whatever you get in writing.
  • The problem (Score:3, Interesting)

    by GodInHell ( 258915 ) * on Saturday February 03, 2007 @02:57PM (#17874986) Homepage
    Those who will give you advice here, probably aren't up to snuff on contract law.

    Those who are up to snuff on contract law probably won't open themselves to liability by offering advice without the protection of a thorough interview, etc.

    The best advice - get a lawyer, read everything twice - and.. just before you sign the contract.. ask the other party to certify that you've talked about and examined everything in the contract in the past - that they haven't added text or hidden anything from you.

    Then, if they try to pull out a weird explanation in court, you have their word in front of the wittnesses to the contract to counter that weird interpretation.

  • by JoshJ ( 1009085 ) on Saturday February 03, 2007 @03:19PM (#17875190) Journal
    All that stuff- even the old code being released under the GPL and the copyright officially belonging to you (it's likely that it was not specified originally, and there could be an issue over it in the future if it isn't specified now)- all of it should go in the contract.

    IANAL, so what you should do is write down everything you want in the contract, put the thing aside for a day, make sure you didn't forget anything, think about it for another day, then call the lawyer and explain the situation to him and show him the paper.
  • Would you be so kind as to have the contract GPL'd so it can help the rest of us if we ever end up in the same situation? :)
    • The contract is likely to have enough specifics about the deal here and the state the deal is made in so as to be useless for most everyone else. Attempting to re-use someone else's contract without running it by your own attorney wouldn't be very smart, and since he is almost certainly going to have to make changes to it, why not just let him draft it from scratch?
      • Edmund: "Baldrick, have you no idea what irony is?"
        Baldrick: "Yes, it's like goldy and bronzy only it's made out of iron."
  • Process suggestions. (Score:3, Informative)

    by kfogel ( 1041 ) on Sunday February 04, 2007 @08:12PM (#17884308) Homepage
    Will you be engaging an external development community as part of this contract? Will you be writing new code from scratch, or integrating it into an existing codebase (and if so, is that existing codebase already open source or not)?

    Retaining copyright for yourself is a good idea; you can just make sure the contract grants the other party "perpetual, royalty-free, non-exclusive, irrevocable rights to use, sublicense, and distribute the software" or something like that (I am not a lawyer, though -- and you might want to take out the 'sublicense', depending on your goals, consult a lawyer about that).

    I wrote a little bit about this process in

          http://producingoss.com/html-chunk/contracting.htm l [producingoss.com]

    by the way.

    Good luck,

"The number of Unix installations has grown to 10, with more expected." -- The Unix Programmer's Manual, 2nd Edition, June, 1972