Re: [R-pkg-devel] Changing License
Hi, we had a related discussion some time ago in the JSS editorial board. It was a long and partly emotional discussion of the pros and cons, but the good news was that if a code is MIT, it can be re-licensed as GPL, while it would not not be possible in the opposite direction (except by the original copyright holders). MIT is less political and more permissive than GPL, but its disadvantage is that someone can take your code, create derived work and then sell the derived work as closed source. Even the original developers may be excluded from derived work, or have to pay for it. The JSS board discussion ended with a request in https://www.jstatsoft.org/pages/view/authors that "Code needs to include the GNU General Public Licence (GPL), versions GPL-2 or GPL-3, or a GPL-compatible license for publication in JSS." where MIT or BSD can be considered as GPL compatible, while packages with some other licenses my need explicit double-licensing by the copyright holder, see also: https://en.wikipedia.org/wiki/License_compatibility "Many of the most common free-software licenses, especially the permissive licenses, such as the original MIT/X license, BSD licenses (in the three-clause and two-clause forms, though not the original four-clause form), MPL 2.0, and LGPL, are GPL-compatible. That is, their code can be combined with a program under the GPL without conflict, and the new combination would have the GPL applied to the whole (but the other license would not so apply)." I would therefore recommend GPL, and you don't make something wrong if you re-license derived work using MIT-licensed code under the GPL. Thomas PS: this is my personal conclusion, I am not a lawyer. -- Dr. Thomas Petzoldt http://tu-dresden.de/Members/thomas.petzoldt __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Changing License
On 30 August 2018 at 08:34, Charles Determan wrote: | It has come to my attention that some of the code I am distributing in one | of my packages was previously licensed under the MIT license. I have | previously released my package under the GPL-3 license. Would it be more | appropriate for me to change the license to MIT? I know no one here is | likely a lawyer but I would like to hear if there is any issue in changing | a license of a currently released package as it is my understanding that my | package should have the MIT license instead. It is my understanding that this is "additive" where licenses are compatible. Look eg at R itself. It is under GPL-2+ but contains code from other folks released under compatible licenses -- as document more precisely in this file https://github.com/wch/r-source/blob/trunk/doc/COPYRIGHTS which enumerates which files (or sets of files and directories) have different copyrights as well as licenses (these terms frequently get mangled, this file does too). As another reference point, Debian formalised something similar in the prescribed format for debian/copyright files (typically installed as /usr/share/doc/${PACKAGE}/copyright for a given package) where sets of files are enumerated and both the copyright and license are stated. See eg https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ for all the gory details. So in short, I think you can simply include a file stating which of the files you re-use are copyrighted by which authors and released under which license. _Your work extending and using those files_ as contained in your package can happily remain under GPL-3 as does the aggregation, while the components your refer to remain in eg MIT. Makes sense? Dirk #notALawyerDisclaimerIfYouNeedIt -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
[R-pkg-devel] Changing License
R developers, It has come to my attention that some of the code I am distributing in one of my packages was previously licensed under the MIT license. I have previously released my package under the GPL-3 license. Would it be more appropriate for me to change the license to MIT? I know no one here is likely a lawyer but I would like to hear if there is any issue in changing a license of a currently released package as it is my understanding that my package should have the MIT license instead. Regards, Charles [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] how to fix checking S3 generic/method consistency ... WARNING
El jue., 30 ago. 2018 a las 9:02, Ulavappa Angadi () escribió: > > Dear sir > > How to fix the below problem and details as below kindly help > > > * checking S3 generic/method consistency ... WARNING > mbferns: > function(x, ...) > mbferns.default: > function(x, y, nf, fsize, bnum) > > predict: > function(object, ...) > predict.mbferns: > function(model1, x) There is a problem in the method signature, as highlighted above. > See section 'Generic functions and methods' in the 'Writing R > Extensions' manual. And this is the relevant section of the manual, where we can read the following: - A method must have all the arguments of the generic, including … if the generic does. So the dots ("...") are missing in mbferns.default and predict.mbferns, and also "model1" should be called "object", instead, in predict.mbferns. Iñaki > > NAMESPACE as below > xport(mbferns) > > S3method(predict,mbferns) > S3method(mbferns,default) > > useDynLib(mbFerns,mbrfern,mbrfern_predict) > > import(plyr) > import(mlbench) > > Functions are as below in Mulit_Branch_Ferns.R > mbferns<-function(x,...) > { UseMethod("mbferns")} > > mbferns.default <- function(x, y, nf=2, fsize=4, bnum=4) { > xx <- .C("mbrfern", as.double(xm), as.integer(y), as.integer(nc), > as.integer(nr), as.integer(c), as.integer(nf), as.integer(fsize), > as.integer(bnum), xmin1=double(nc), xmax1=double(nc), > flist1=integer(nf*fsize), pc=double(c), w=integer(ws)) > model<-list(nc=xx[[3]], c=xx[[5]], nf=xx[[6]], fsize=xx[[7]], > bnum=xx[[8]], min=xx$xmin1, max=xx$xmax1, flist=xx$flist1, w=xx$w, > ylist=ylist, pc=xx$pc) > > class(model)<-"mbferns" > >return(model) > } > > predict.mbferns <- function(model1, x) { > > w1dens <- .C("mbrfern_predict", as.double(xm), as.integer(model1$nc), > as.integer(nr), as.integer(model1$c), as.integer(model1$nf), > as.integer(model1$fsize), as.integer(model1$bnum), as.double(model1$min), > as.double(model1$max), as.integer(model1$flist), as.integer(model1$w), > as.double(model1$pc), ye=integer(nr), prob=double(nr*model1$c) ) > > } > With regards > > Angadi U B > Sr. Scientist > CABin, IASRI, Pusa, New Delhi > > [[alternative HTML version deleted]] > > __ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel -- Iñaki Ucar __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
[R-pkg-devel] how to fix checking S3 generic/method consistency ... WARNING
Dear sir How to fix the below problem and details as below kindly help * checking S3 generic/method consistency ... WARNING mbferns: function(x, ...) mbferns.default: function(x, y, nf, fsize, bnum) predict: function(object, ...) predict.mbferns: function(model1, x) See section 'Generic functions and methods' in the 'Writing R Extensions' manual. NAMESPACE as below xport(mbferns) S3method(predict,mbferns) S3method(mbferns,default) useDynLib(mbFerns,mbrfern,mbrfern_predict) import(plyr) import(mlbench) Functions are as below in Mulit_Branch_Ferns.R mbferns<-function(x,...) { UseMethod("mbferns")} mbferns.default <- function(x, y, nf=2, fsize=4, bnum=4) { xx <- .C("mbrfern", as.double(xm), as.integer(y), as.integer(nc), as.integer(nr), as.integer(c), as.integer(nf), as.integer(fsize), as.integer(bnum), xmin1=double(nc), xmax1=double(nc), flist1=integer(nf*fsize), pc=double(c), w=integer(ws)) model<-list(nc=xx[[3]], c=xx[[5]], nf=xx[[6]], fsize=xx[[7]], bnum=xx[[8]], min=xx$xmin1, max=xx$xmax1, flist=xx$flist1, w=xx$w, ylist=ylist, pc=xx$pc) class(model)<-"mbferns" return(model) } predict.mbferns <- function(model1, x) { w1dens <- .C("mbrfern_predict", as.double(xm), as.integer(model1$nc), as.integer(nr), as.integer(model1$c), as.integer(model1$nf), as.integer(model1$fsize), as.integer(model1$bnum), as.double(model1$min), as.double(model1$max), as.integer(model1$flist), as.integer(model1$w), as.double(model1$pc), ye=integer(nr), prob=double(nr*model1$c) ) } With regards Angadi U B Sr. Scientist CABin, IASRI, Pusa, New Delhi [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel