Distributing GPL code with non-GPL code

I wrote a package for R that includes the source code for the ttf2pt1 program, which compiles during installation. The program is not connected; the code I wrote calls this program using the system2() function, which is basically like calling from the command line. All source code for this program is in its own directory, and I did not modify it at all.

I would like to distribute the package under some version of the GPL, but I do not understand if this is possible. If not, I will be fine with another free software license.

This program has a LICENSE file that allows, but basically requires the inclusion of:

  • Specific Disclaimer
  • Specific Copyright Notice
  • Concrete confirmation

Here is 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. 

In addition, the subcomponent has this notification:

 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 that this license is compatible with the GPL, but I'm not sure what is meant for licensing the entire package.

My questions:

  • Can I distribute the whole package under GPL2 or GPL3?
  • If so, should ttf2pt1 have a separate license?
  • If it is not possible to distribute the entire package under GPL2 / 3, what licenses can I use?
  • What information should I put in the LICENSE file?

Edit: If you can release a package with my code under one license and ttf2pt1 under a different license, I would be happy with that too. There is a previous answer that seems relevant.

+4
source share
3 answers

I don’t understand why you cannot properly wrap the ttf2pt1 source code - turn on its sources, write a wrapper function and call this wrapper function from R. The license explicitly allows this if you observe other conditions (including the LICENSE file, etc. )

R itself contains code from other projects; you can study R (fairly large) sources to see how this happens. And of course, many CRAN packages do this too, so I'm sure you can find suitable examples.

+1
source

This ad article probably makes ttf2pt1 incompatible with the GPL: https://www.gnu.org/licenses/license-list.html#OriginalBSD so you cannot include this file in the GPL'ed R.

It is best to simply include a non-standard LICENSE with all these conditions, if you do not mind having a permit license with your R package.

However, hypothetically assuming that your non-GPL code is GPL compatible, then yes, you can distribute the R package under the general GPL.

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

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

From the point of view that CRAN is happy, it turns out that the general GPL package that they do not like in the DESCRIPTION is that the license field says LICENSE or (GPL> = 2) + LICENSE, where LICENSE contains all the permissions that need to be saved. In particular, they forced me to delete such a LICENSE file. However, it seemed to them that in the “DESCRIPTION” section in the “Author” section you are giving a detailed description of where you received all the software, in the “License” section the GPL is indicated (> = 2) [or depending on which GPL is suitable ] and then, in accordance with copyright law, “See the file (see inst /) COPYRIGHTS. In (inst /) COPYRIGHTS you can include all copyright notices that must be saved. I use the Debian package copyright format http: // www.debian.org/doc/packaging-manuals/copyright-format/1.0/ but you don’t need it. You can also see the COPYRIGHT file in source R.

It would also be useful to keep all original copyright notices in any source files where they are contained. The softwarefreedom.org page has suggestions for this, if you also directly modify this source file using the enhanced GPL, but if you do not change the included source files, you can often leave them untouched.

+1
source

This is not a direct answer to my question, but hadley sent me code to search for CRAN packages that are distributed under non-standard licenses. I used this code to find some examples for work.

 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")) 
0
source

Source: https://habr.com/ru/post/1416102/


All Articles