Slashdot Mirror


Writing a Contract for GPL'd Code?

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

9 of 28 comments (clear)

  1. Re:Something doesn't sound right. by thegrassyknowl · · Score: 4, Interesting

    My memory is a little rusty (pun intended) but Rusty Russel did this with the Linux firewall code, did he not?

    --
    I drink to make other people interesting!
  2. Re:Something doesn't sound right. by IWannaBeAnAC · · Score: 2, 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.

  3. Re:Something doesn't sound right. by anon+mouse-cow-aard · · Score: 3, Insightful

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

  4. Make a contract based on functional results by Qbertino · · Score: 4, Interesting

    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.

    --
    We suffer more in our imagination than in reality. - Seneca
  5. Write it simple by nuggz · · Score: 3, Insightful

    Write out simply what you want, and see a lawyer.
    It should only take a few minutes.

  6. Ask Eben Moglen by MathFox · · Score: 3, Interesting
    or one of the other experts working for the Software Freedom Law Center.

    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.

    --
    extern warranty;
    main()
    {
    (void)warranty;
    }
  7. The problem by GodInHell · · Score: 2, Interesting

    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.

    -GiH

  8. Everything you listed in the summary: by JoshJ · · Score: 2, Insightful

    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.

  9. Process suggestions. by kfogel · · Score: 2, Informative

    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

    by the way.

    Good luck,
    -Karl

    --
    http://www.red-bean.com/kfogel