[Bioc-devel] How to integrate code from a package not available on bioconductor

Kasper Daniel Hansen k@@perd@n|e|h@n@en @end|ng |rom gm@||@com
Thu Feb 11 11:23:27 CET 2021


This question is actually pretty complicated and involves matters of
copyright and academic credit, which are two different things. In general
you cannot take code from the internet and republish it under your own name.

It sounds like you want to include something substantial (as opposed to say
a minor convenience function), making these matters even more important.

Copyright/license-wise: the package is released under GPL (see License
field in the DESCRIPTION) which is somewhat unspecific, but possible to
work with (these days there are numbered versions of the GPL). You might
want to read up on what this means (and there will be different
interpretations because there have been zero-to-few court cases
establishing the interpretation of the GPL). Whatever license the package
operates under, you can almost always get an exception from the authors to
do something else, so if you contact the authors and work something out you
don't need to know the details. So to be specific
  - if you copy code from the github repository you're bound by the
requirements of the license (which may prohibit this)
  - if you contact the authors they can agree to whatever they want to
(assuming they hold copyright)

Some people strongly advocate that when you do this, you add the authors of
the old code to your package, which you certainly can't do without talking
with them.

It is entirely possible that the authors are unresponsive or will be making
requirements you don't want to fulfil, in which case you can't do what you
propose.

Best,
Kasper



On Wed, Feb 10, 2021 at 6:59 PM Ana Carolina Leote <
anacarolinaleote using gmail.com> wrote:

> This is the repository: https://github.com/Vivianstats/scImpute
>
> *Ana Carolina Leote*
> *MSc. Biological Engineering*
> *PhD student at the Cologne Graduate School for Ageing Research*
> *Cellular networks and systems biology (Beyer group), **CECAD Research
> Center*
> https://www.linkedin.com/in/anacarolinaleote/
>
>
> On Wed, Feb 10, 2021 at 6:44 PM Vincent Carey <stvjc using channing.harvard.edu>
> wrote:
>
> > It is wise to be careful here.  If we don't know the provenance of the
> > code in github it might actually be someone else's.
> > It reminds me of the Numerical Recipes events, in which folks
> > redistributed proprietary code without permission.
> > What repo are we talking about anyway?
> >
> > On Wed, Feb 10, 2021 at 12:38 PM Martin Morgan <mtmorgan.bioc using gmail.com>
> > wrote:
> >
> >> I don’t know what the legal requirement is.
> >>
> >> As a human if I hadn’t given explicit consent I’d like to be asked. And
> >> if I had used someone else’s code I’d like it to be transparent that my
> use
> >> was legitimate, and a private exchange of email between me and the other
> >> individual consenting to use their code wouldn’t be transparent enough.
> >> Hopefully I’m not being hypocritical here.
> >>
> >> Martin
> >>
> >> From: Ana Carolina Leote <anacarolinaleote using gmail.com>
> >> Date: Wednesday, February 10, 2021 at 10:24 AM
> >> To: "Kern, Lori" <Lori.Shepherd using roswellpark.org>
> >> Cc: Martin Morgan <mtmorgan.bioc using gmail.com>, Wolfgang Huber <
> >> wolfgang.huber using embl.org>, "bioc-devel using r-project.org" <
> >> bioc-devel using r-project.org>
> >> Subject: Re: [Bioc-devel] How to integrate code from a package not
> >> available on bioconductor
> >>
> >> My motivation to include this package is that my own package includes,
> >> but is not limited to, an ensemble of different packages that attempt to
> >> solve the same problem, besides my own solution, since I did some work
> >> showing they all have their pros and cons. At the moment my package does
> >> not include this one, because of all the problems here raised, but
> since it
> >> is arguably more popular than all other "alternative" packages, I felt I
> >> should include it. This is why using an alternative package
> unfortunately
> >> does not solve my problem. I also looked in the page Lori shared but
> this
> >> package is not there. However you do raise very valid points. I think I
> >> need to weigh the cost of changing the code against the additional
> >> usefulness my package can gain more carefully than I did so far.
> >>
> >> I do have one additional question, though. Martin mentioned the license
> >> compatibility. There is no license at all in the GitHub repository of
> this
> >> package. I did some searching but I'm not sure what the default GitHub
> >> copyright means for bioconductor distribution. Does it mean I am not
> >> allowed to include this code in case I do wish to go forward with taking
> >> the code "as is"?
> >>
> >> Thanks again for all your helpful responses. It's great as a new
> >> developer to have such support.
> >>
> >> Best,
> >> Carolina
> >>
> >> Ana Carolina Leote
> >> MSc. Biological Engineering
> >> PhD student at the Cologne Graduate School for Ageing Research
> >> Cellular networks and systems biology (Beyer group), CECAD Research
> Center
> >> https://www.linkedin.com/in/anacarolinaleote/
> >>
> >>
> >> On Wed, Feb 10, 2021 at 3:50 PM Kern, Lori <
> Lori.Shepherd using roswellpark.org
> >> <mailto:Lori.Shepherd using roswellpark.org>> wrote:
> >> Have you looked at some of the scRNA packages that are already on
> >> Bioconductor to see if there is similar functionality in an existing
> >> package already accepted?
> >> You can search for packages that have scRNA in the package name or title
> >> on this page:
> >> http://bioconductor.org/packages/release/BiocViews.html#___Software
> >>
> >> depending there is also a single cell workflow that might point to
> >> similar functionality
> >>
> >>
> http://bioconductor.org/packages/release/workflows/html/simpleSingleCell.html
> >>
> >>
> >>
> >>
> >> Lori Shepherd
> >>
> >> Bioconductor Core Team
> >>
> >> Roswell Park Comprehensive Cancer Center
> >>
> >> Department of Biostatistics & Bioinformatics
> >>
> >> Elm & Carlton Streets
> >>
> >> Buffalo, New York 14263
> >>
> >> ________________________________
> >> From: Bioc-devel <bioc-devel-bounces using r-project.org<mailto:
> >> bioc-devel-bounces using r-project.org>> on behalf of Martin Morgan <
> >> mtmorgan.bioc using gmail.com<mailto:mtmorgan.bioc using gmail.com>>
> >> Sent: Wednesday, February 10, 2021 9:36 AM
> >> To: Ana Carolina Leote <anacarolinaleote using gmail.com<mailto:
> >> anacarolinaleote using gmail.com>>; Wolfgang Huber <wolfgang.huber using embl.org
> >> <mailto:wolfgang.huber using embl.org>>
> >> Cc: bioc-devel using r-project.org<mailto:bioc-devel using r-project.org> <
> >> bioc-devel using r-project.org<mailto:bioc-devel using r-project.org>>
> >> Subject: Re: [Bioc-devel] How to integrate code from a package not
> >> available on bioconductor
> >>
> >> If the package is already widely used, then I guess it provides useful
> >> functionality, and so your package doesn't have to provide that
> >> functionality, so perhaps a better solution is to refer users to the
> >> unsupported package in your vignette??
> >>
> >> What you say about not being maintained in over a year is probably the
> >> main concern with using code that is not in CRAN or Bioconductor.
> Already
> >> the code could be buggy, not well tested, and poorly documented (even if
> >> widely used! and of course the code / documentation could be
> excellent...)
> >> because it has not been subject to regular R CMD check etc or to initial
> >> review. And now the original author of the code is not maintaining it,
> so
> >> *you* have to fully understand it so that you can address bugs etc. As a
> >> 'developer' this could be my worst nightmare -- having to spend my time
> >> cursing at code somebody else wrote, instead of cursing at my own code!
> >>
> >> The license of the package needs to permit use of the code, or may
> >> restrict how your own code is used (e.g., if the package is licensed for
> >> 'academic use only' then likely your package would need to be licensed
> >> similarly, and then would not be appropriate for Bioconductor).
> >>
> >> All of these would discourage me from adopting this code.
> >>
> >> Martin
> >>
> >> On 2/10/21, 9:11 AM, "Bioc-devel on behalf of Ana Carolina Leote" <
> >> bioc-devel-bounces using r-project.org<mailto:
> bioc-devel-bounces using r-project.org>
> >> on behalf of anacarolinaleote using gmail.com<mailto:
> anacarolinaleote using gmail.com>>
> >> wrote:
> >>
> >>     Dear all,
> >>     Thank you so much for the great input and to Wolfgang for raising
> >> these
> >>     points.
> >>     I am afraid I gain more than I lose by including this particular
> >> package,
> >>     as it is somewhat commonly used in the scRNA-seq community. It seems
> >> not to
> >>     be maintained in over a year, however, judging by the dates of the
> >> latest
> >>     response to issues and commits on GitHub. For this reason I think
> the
> >>     probability of it being updated is low, so I was planning to take
> the
> >> code
> >>     "as is" and assume maintainership - this after contacting the
> authors
> >> as
> >>     suggested.
> >>
> >>     Thanks and best wishes,
> >>     Carolina
> >>
> >>     *Ana Carolina Leote*
> >>     *MSc. Biological Engineering*
> >>     *PhD student at the Cologne Graduate School for Ageing Research*
> >>     *Cellular networks and systems biology (Beyer group), **CECAD
> Research
> >>     Center*
> >>
> >>
> https://secure-web.cisco.com/1JCGueviBWl7DVrqkMofRc1S6sTjcVSsAg_KFX33Rpki72itBTsrUNlyADxYZ8tuocj7u69YtSf-7bFFmVOQMd1LvSaQzIL3jICkqmRGElXvH6G1o3ApsV6GOaWTR_XtENn8RxRS3QttiyUulE0H01k-_iWcOhrzOp-LHAeNI07GwXycEjob0NEObtaQ7SpF5MCbuDjEVhJyY2_-nmtHPv-WC5Z8PNo0Ua3teNqOKv2ki1VriQI-M9WQVuOr2S28BGuI69w0aQMQmbHz1wuNxeuWxqdYybR1_49yIN2ZLjcikEyXy-RetsPZByGvHX1_i/https%3A%2F%2Fwww.linkedin.com%2Fin%2Fanacarolinaleote%2F
> >>
> >>
> >>     On Wed, Feb 10, 2021 at 2:51 PM Wolfgang Huber <
> >> wolfgang.huber using embl.org<mailto:wolfgang.huber using embl.org>>
> >>     wrote:
> >>
> >>     >
> >>     >
> >>     > > Il giorno 10feb2021, alle ore 14:31, Kern, Lori
> >>     > <Lori.Shepherd using RoswellPark.org> ha scritto:
> >>     > >
> >>     > > Have you reached out to the maintainer of the github package to
> >> see if
> >>     > they would plan on submitting to CRAN or Bioconductor?
> >>     > > If they do not,  you could see if they are okay with you
> >> including the
> >>     > code in your package and then clearly indicate their authorship in
> >> the man
> >>     > pages and by giving contributor credit in the DESCRIPTION. They
> >> might also
> >>     > include CITATION information in their package to include?
> >>     > >
> >>     > > Others might have additional thoughts?
> >>     >
> >>     > Ana,
> >>     >
> >>     > if you are in a position to take that other code “as is” and then
> >> assume
> >>     > maintainership over it, this may be a way forward. However,
> >> consider these
> >>     > issues in advance:
> >>     > - What happens if these other authors change their code on GitHub?
> >> Will
> >>     > you also synchronize the copy in your own package, or leave it as
> >> is? This
> >>     > requires a process and potentially continuous resources.
> >>     > - Who is responsible for fixing bugs in that copied code?
> >>     > - There are many reasons why people might not put their code on
> >> CRAN and
> >>     > Bioconductor, but in case it is a sign of low confidence in the
> >> quality of
> >>     > the code or low commitment to maintain it, depending on it incurs
> >>     > additional technical debt for you.
> >>     >
> >>     > Are there maybe other packages (on CRAN/Bioconductor) that provide
> >> what
> >>     > you need?
> >>     >
> >>     >         Kind regards
> >>     >                 Wolfgang
> >>     >
> >>     >
> >>     > >
> >>     > > Cheers,
> >>     > >
> >>     > >
> >>     > > Lori Shepherd
> >>     > >
> >>     > > Bioconductor Core Team
> >>     > >
> >>     > > Roswell Park Comprehensive Cancer Center
> >>     > >
> >>     > > Department of Biostatistics & Bioinformatics
> >>     > >
> >>     > > Elm & Carlton Streets
> >>     > >
> >>     > > Buffalo, New York 14263
> >>     > >
> >>     > > ________________________________
> >>     > > From: Bioc-devel <bioc-devel-bounces using r-project.org<mailto:
> >> bioc-devel-bounces using r-project.org>> on behalf of Ana
> >>     > Carolina Leote <anacarolinaleote using gmail.com<mailto:
> >> anacarolinaleote using gmail.com>>
> >>     > > Sent: Wednesday, February 10, 2021 5:14 AM
> >>     > > To: bioc-devel using r-project.org<mailto:bioc-devel using r-project.org> <
> >> bioc-devel using r-project.org<mailto:bioc-devel using r-project.org>>
> >>     > > Subject: [Bioc-devel] How to integrate code from a package not
> >> available
> >>     > on bioconductor
> >>     > >
> >>     > > Dear all,
> >>     > >
> >>     > > I am a package maintainer and would like to add a functionality
> >> that
> >>     > > depends on another package which is not available in
> >> bioconductor, only
> >>     > via
> >>     > > GitHub. I would like to make the necessary changes in order to
> be
> >> able to
> >>     > > use their code in my package. Can anyone point me towards the
> >> best way to
> >>     > > proceed without undermining the authorship of the original
> >> developers? Is
> >>     > > copying their code to my package and editing it to bioconductor
> >> standards
> >>     > > appropriate?
> >>     > >
> >>     > > Thank you and best wishes,
> >>     > > Carolina
> >>     > >
> >>     > > *Ana Carolina Leote*
> >>     > > *MSc. Biological Engineering*
> >>     > > *PhD student at the Cologne Graduate School for Ageing Research*
> >>     > > *Cellular networks and systems biology (Beyer group), **CECAD
> >> Research
> >>     > > Center*
> >>     > >
> >>     >
> >>
> https://secure-web.cisco.com/1sN_yjFZ4rXsNHMf8Fp8CJTySgKw-1exyK2uoJVgve2HB-ffaKVZpjVqnqKkiHfvj-8XfBD5L-E-u5CSB1GVD7eouovHeu4HCMh60N2H2o2WA8SOPodHnGfUgo8J3fWYeoSrQCiNJ5M4yE2VTnUi-WGlGdJeBDFxKTQwTFVThCjoTyAwk1tTdVAznZxVTGkCNBmBuV1Na-a0-81QaIYra4grO9-57FesPlxZIA0WUU9icoS3LgqlPTUhsmLZUM0NmejCSrTNSDA9AzDs7tB66TW4lBTvaNpOHMrk5wPCYIPckLqpDkVL3HnRSiWmXdWJE/https%3A%2F%2Fwww.linkedin.com%2Fin%2Fanacarolinaleote%2F
> >>     > >
> >>     > >        [[alternative HTML version deleted]]
> >>     > >
> >>     > > _______________________________________________
> >>     > > Bioc-devel using r-project.org<mailto:Bioc-devel using r-project.org>
> >> mailing list
> >>     > >
> >>     >
> >>
> https://secure-web.cisco.com/1vxzYOt1Hk0jYyShxe8B714l2GGAvh6Qvfo2Ey_49Ro47iSw83aMqNIB5Qv3keiqGApswE2x6TuWzoZjp-NJuEJcrt-skDYLR1Lsd0m1gCdOno-5vOXu1DHnuKsRkZQEyXRX00TjWpnBjbIwuJq5ll1xYmpurSpXNAagbyUQpcfZ136DgLhfGEM63BY-2KzMOwYsXqzpFhqcGhYhR1BkRDJBlIK7NjrhbsQ_8f4Hn2n7yvll4i20POhhaeiLBMZwwu0HXiWtT8v6VNA8pbxf7YxHpISCef2JJErtEjx21uA1ZQxeTNYg3X_37zZDJYGcZ/https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel
> >>     > >
> >>     > >
> >>     > >
> >>     > > This email message may contain legally privileged and/or
> >> confidential
> >>     > information.  If you are not the intended recipient(s), or the
> >> employee or
> >>     > agent responsible for the delivery of this message to the intended
> >>     > recipient(s), you are hereby notified that any disclosure,
> copying,
> >>     > distribution, or use of this email message is prohibited.  If you
> >> have
> >>     > received this message in error, please notify the sender
> >> immediately by
> >>     > e-mail and delete this email message from your computer. Thank
> you.
> >>     > >       [[alternative HTML version deleted]]
> >>     > >
> >>     > > _______________________________________________
> >>     > > Bioc-devel using r-project.org<mailto:Bioc-devel using r-project.org>
> >> mailing list
> >>     > >
> >>
> https://secure-web.cisco.com/1f6up7Mr3XFX7UIZXs-S7FsYPr7GhWcGVmoQ7QPx6T0YDmFA1DagANyYYPWAWrtHAKr_0SdV96OLopxh-Z1qWJMiN_iiVd1muYeU94eI4Ip8UT1DKqpWKtxvtUz-MYv3WsHs0a_ULiE-hAkUNJF9gdbQjXGGUH27V3AgY5RKK-LcUwacDFJjUhkBlDAZjPbPii9n0xTvpLdYDLYWKAnzoOpV1E00Uq3mfTY1e1oH6N2C3cpkekggh7a8ituOQ977Zl2k3fMIHXS2r5lYnqzzVS0ONQ3A8g9Qjc6hX1lbAAM8iy5AZiKSQ1FMue9vvccjq/https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel
> >>     >
> >>     >
> >>
> >>          [[alternative HTML version deleted]]
> >>
> >>     _______________________________________________
> >>     Bioc-devel using r-project.org<mailto:Bioc-devel using r-project.org> mailing
> >> list
> >>
> >>
> https://secure-web.cisco.com/1f6up7Mr3XFX7UIZXs-S7FsYPr7GhWcGVmoQ7QPx6T0YDmFA1DagANyYYPWAWrtHAKr_0SdV96OLopxh-Z1qWJMiN_iiVd1muYeU94eI4Ip8UT1DKqpWKtxvtUz-MYv3WsHs0a_ULiE-hAkUNJF9gdbQjXGGUH27V3AgY5RKK-LcUwacDFJjUhkBlDAZjPbPii9n0xTvpLdYDLYWKAnzoOpV1E00Uq3mfTY1e1oH6N2C3cpkekggh7a8ituOQ977Zl2k3fMIHXS2r5lYnqzzVS0ONQ3A8g9Qjc6hX1lbAAM8iy5AZiKSQ1FMue9vvccjq/https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel
> >> _______________________________________________
> >> Bioc-devel using r-project.org<mailto:Bioc-devel using r-project.org> mailing list
> >>
> >>
> https://secure-web.cisco.com/1f6up7Mr3XFX7UIZXs-S7FsYPr7GhWcGVmoQ7QPx6T0YDmFA1DagANyYYPWAWrtHAKr_0SdV96OLopxh-Z1qWJMiN_iiVd1muYeU94eI4Ip8UT1DKqpWKtxvtUz-MYv3WsHs0a_ULiE-hAkUNJF9gdbQjXGGUH27V3AgY5RKK-LcUwacDFJjUhkBlDAZjPbPii9n0xTvpLdYDLYWKAnzoOpV1E00Uq3mfTY1e1oH6N2C3cpkekggh7a8ituOQ977Zl2k3fMIHXS2r5lYnqzzVS0ONQ3A8g9Qjc6hX1lbAAM8iy5AZiKSQ1FMue9vvccjq/https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fbioc-devel
> >>
> >> This email message may contain legally privileged and/or confidential
> >> information. If you are not the intended recipient(s), or the employee
> or
> >> agent responsible for the delivery of this message to the intended
> >> recipient(s), you are hereby notified that any disclosure, copying,
> >> distribution, or use of this email message is prohibited. If you have
> >> received this message in error, please notify the sender immediately by
> >> e-mail and delete this email message from your computer. Thank you.
> >>
> >>         [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> Bioc-devel using r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >>
> >
> > The information in this e-mail is intended only for th...{{dropped:16}}
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>


-- 
Best,
Kasper

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list