Converting GPL code to new language, can I change the license?

Discussion in 'Mac Programming' started by foidulus, Mar 3, 2011.

  1. foidulus macrumors 6502a

    Joined:
    Jan 15, 2007
    #1
    There is a (relatively) simple library that I would like to convert from C++ to C, and then incorporate into a BSD licensed project I am working on.

    Am I allowed to look at the GPL code, convert it, then release the result as BSD? Or do I have to go more "clean room" and totally re-implement the algorithm without looking at the GPL code.

    Yes I know the standard "get a lawyer" answer, but I was wondering if anyone had any experience with this.
     
  2. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    I am not a lawyer but I'd say this: if you read their code and just re-type it/convert it to another language you are "tainted" by the GPL licensed implementation.
     
  3. ncl macrumors member

    Joined:
    Aug 16, 2008
    #3
    Not a lawyer but I'd say no. Translation from one programming language to another is considered a derivative work (section 0). And derivative of a GPL licensed work must be licensed under the GPL.
    GPL v2, section 2 b)
    GPL v3, section 5 c)
     
  4. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #4
    Wirelessly posted (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5)

    The way big corporations do this is to look at the code and write a detailed spec that itself contains none of the copyrighted material. The give the spec to someone else who has never seen the code (perhaps they can't even read the code's original language), only your spec.
     
  5. foidulus thread starter macrumors 6502a

    Joined:
    Jan 15, 2007
    #5
    Unfortunately I'm not a big corp, I'm just a lowly grad student, I don't own the rights to change the license of the code I want to integrate the GPL code with.

    Well, if I cannot change the language, is creating a separate iPhone library, releasing the code to said library under GPL, then statically linking it to an iPhone application considered a violation?
     
  6. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #6
    You are still creating a derivative work so your derivative work has to be GPL (and you cannot give yourself a different license to your derivative work). If you statically link to said derivative work (the library) you must release your iPhone app code as GPL as well.

    This is what Balmer meant when he said "Linux is a cancer". He was really referring to the GPL and the way that anything that is linked against it turns GPL as well.
     
  7. GorillaPaws macrumors 6502a

    GorillaPaws

    Joined:
    Oct 26, 2003
    Location:
    Richmond, VA
  8. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #8
    Consider it the same as a very expensive proprietary license. Pay up, or re-implement from spec.
     
  9. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #9
    Which library is it anyway? Most libraries use LGPL precisely for this reason. Maybe someone here can point you to an alternative with a more compatible license.

    B
     
  10. crackpip, Mar 4, 2011
    Last edited: Mar 4, 2011

    crackpip macrumors regular

    Joined:
    Jul 23, 2002
    #10
    I am also not a lawyer, but in general algorithms are not subject copyright only the source code itself. Now it is possible that a process is patented; however, FOSS resistance to software patents would make me think this is not an issue.

    The reason you need to follow the GPL license is because the source code is under copyright protection. As long as you don't copy significant portions of the source code (which includes simply renaming variables), rewriting in a different language is simply reimplementing the algorithm and would not be subject to that clause in the GPL, i.e. you could license the code under BSD.

    crackpip
     
  11. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #11
    Translations of books into other languages are usually considered to be covered under the copyright of the work in its original language. The usual thinking is that specifications of the algorithms used are not. (But IANAL.)
     
  12. Mac_Max macrumors 6502

    Joined:
    Mar 8, 2004
    #12
    If you're worried about licensing, a clean room approach (or at least something that looks like that) is probably the best way to go. Or do some googling to find something licensed under a less restrictive license for your purposes. Or contact the author and ask him to do a secondary license (the author can license it in more than one flavor even if the licenses conflict) in LGPL or BSD license.
     
  13. foidulus thread starter macrumors 6502a

    Joined:
    Jan 15, 2007
    #13
    Thanks for all the advice. I ultimately wound up doing what everyone here suggested, just re-implementing the algorithm in C. Just did my first commit to Google code with a BSD license, I personally don't like GPL. Still a little rough around the edges, but it works. Thanks for all your help!:D
     
  14. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #14
    Congratulations. BSD is a great license with a long history.

    Rough around the edges is fine for a start. And a new different set of bugs is probably great evidence that the code isn't just a copy.
     

Share This Page