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

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

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

  5. 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;
    }