Distributing GPL code with non

I've written a package for R which includes the source code for a program, ttf2pt1, which is compiled on installation. The program is not linked to; the code I've written invokes this program with a function called system2() , which is basically like invoking it from the command line. The entire source code for this program is in its own directory, and I haven't modified it at all.

I would like to distribute the package under some version of the GPL, but it's unclear to me whether this is possible. If not, I would be OK with another free software license.

This program has a LICENSE file which is permissive, but basically requires including:

  • A specific disclaimer
  • A specific copyright notice
  • A specific acknowledgement
  • Here's the text:

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
    3. All advertising materials mentioning features or use of this software
       must display the following acknowledgement:
         This product includes software developed by the TTF2PT1 Project
         and its contributors.
    

    Additionally, a subcomponent has this notice:

    Copyright (c) 1992 by I. Lee Hetherington, all rights reserved.
    Permission is hereby granted to use, modify, and distribute this program
    for any purpose provided this copyright notice and the one below remain
    intact.
    

    I believe this license is compatible with the GPL, but I'm not sure what the implications are for licensing the overall package.

    My questions:

  • Can I distribute the whole package under the GPL2 or GPL3?
  • If so, does the ttf2pt1 program need to have a separate license?
  • If it's not possible to distribute the whole package under the GPL2/3, what licenses can I use?
  • What information must I put in the LICENSE file?
  • Edit: If it's possible to release the package with my code under one license and ttf2pt1 under another license, I'd be happy with that also. There's a previous answer that seems relevant.


    I don't see why you can't properly wrap the source code of ttf2pt1 -- include its sources, write a wrapper function and call that wrapper function from R. The license clearly permits this provided you abide by the other terms (include its LICENSE file etc pp).

    R itself contains code from other projects; you could study R's (fairly large) sources to see how it does that. And of course many CRAN packages do too so I am sure you can find suitable examples.


    That advertising clause probably renders ttf2pt1 non-compatible with the GPL: https://www.gnu.org/licenses/license-list.html#OriginalBSD so you can't include that file in a GPL'ed R package.

    Your best bet might be just to include a non-standard LICENSE with all those terms if you don't mind having a permissive license with your R package.

    However, hypothetically assuming your non-GPL code were GPL compatible then yes you could distribute the R package under an overall GPL license.

    I have packagess (optparse, argparse) that combines GPL (>=2) code with code under the GPL-compatbible Python license which contains a mandatory license notice.

    Here is a good resource that the FSF directed me to about incorporating gpl-compatible code with mandatory copyright notices with GPL code: http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html

    In terms of making CRAN happy it turns out if the overall package is GPL'ed that they do not like in the DESCRIPTION that the license field says LICENSE or (GPL >= 2) + LICENSE where LICENSE contains all the permissive copyright notices you need to preserve. In particular they forced me to remove such a LICENSE file. However they seemed okay that in DESCRIPTION under Author you give a high-level description of where you got all the software from, under License say GPL (>= 2) [or whichever GPL is appropriate] and then under Copyright say "See file (inst/)COPYRIGHTS. In (inst/)COPYRIGHTS you can include all the copyright notices you are required to preserve. I use the Debian Package Copyright Format http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ but you don't need to. You can also look at the COPYRIGHT file in the R source.

    It would also be a good idea to preserve all the original copyright notices in any source files where they are contained. The softwarefreedom.org page has suggestions for that if you are also directly modifying that source file with GPL'ed enhancements but if you aren't changing the included source files you can often leave them untouched.


    This isn't a direct answer to my question, but hadley sent me some code to find CRAN packages that are distributed under non-standard licenses. I used this code to find some examples to work from.

    local <- file.path(tempdir(), "packages.rds")
     download.file("http://cran.R-project.org/web/packages/packages.rds", local,
       mode = "wb", quiet = TRUE)
     on.exit(unlink(local))
     cp <- readRDS(local)
     rownames(cp) <- unname(cp[, 1])
    cp <- as.data.frame(cp, stringsAsFactors = F)
    table(cp$License)
    library(stringr)
    subset(cp[c("Package", "License")], str_detect(License, "LICENSE"))
    
    链接地址: http://www.djcxy.com/p/79542.html

    上一篇: 编写脚本的GPL库:脚本应该如何获得许可?

    下一篇: 分配非GPL代码