Skip to content

[Bioc-devel] Question on GPL2 license copyright

9 messages · Jiping Wang, Jianhong Ou, Ph.D., Egon Willighagen +3 more

#
Hi,

I have a general question about Bioconductor package copyright. I have a Bioconductor package. I recently found most of the core codes of my package have been mostly copied and packaged into another package and published in Bioconductor. Although the new package says it?s a ?derivative? of my package. But does it violate the copyright under GPL-2?  Thanks.

Best,
Ji-Ping Wang
#
Does that package import or depend on your package?

From: Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of Jiping Wang <jzwang at northwestern.edu>
Date: Wednesday, July 27, 2022 at 11:03 AM
To: bioc-devel at r-project.org <bioc-devel at r-project.org>
Subject: [Bioc-devel] Question on GPL2 license copyright
Hi,

I have a general question about Bioconductor package copyright. I have a Bioconductor package. I recently found most of the core codes of my package have been mostly copied and packaged into another package and published in Bioconductor. Although the new package says it?s a ?derivative? of my package. But does it violate the copyright under GPL-2?  Thanks.

Best,
Ji-Ping Wang
#
Not to my understanding. The core codes (Fortran) from my package were identically copied with only function name change in their package. If they call functions or import functions from my package, that?s not an issue. But instead they just copied my codes and made their package.

From: Jianhong Ou, Ph.D. <jianhong.ou at duke.edu>
Date: Wednesday, July 27, 2022 at 10:15 AM
To: Jiping Wang <jzwang at northwestern.edu>, bioc-devel at r-project.org <bioc-devel at r-project.org>
Subject: Re: [Bioc-devel] Question on GPL2 license copyright
Does that package import or depend on your package?

From: Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of Jiping Wang <jzwang at northwestern.edu>
Date: Wednesday, July 27, 2022 at 11:03 AM
To: bioc-devel at r-project.org <bioc-devel at r-project.org>
Subject: [Bioc-devel] Question on GPL2 license copyright
Hi,

I have a general question about Bioconductor package copyright. I have a Bioconductor package. I recently found most of the core codes of my package have been mostly copied and packaged into another package and published in Bioconductor. Although the new package says it?s a ?derivative? of my package. But does it violate the copyright under GPL-2?  Thanks.

Best,
Ji-Ping Wang
#
If that code is not GPL2 and therefore the full package too, then that's a
license infringement.

Wrapping GPL code in other code is generally only allowed when: 1. clean
room reimplementation of the ideas (from what you say not the case), 2. the
reused code has a clean API and can be easily be replaced by something else
(does not seem to be the case either).

Egon
On Wed, 27 Jul 2022 at 17:18, Jiping Wang <jzwang at northwestern.edu> wrote:

            

  
    
#
I think if the package copied you code is also published in GPL license 
and other people can access all the code of that package (it's likely 
the case in bioconductor), then there is no problem.

Best,
Chen
On 27.07.22 17:18, Jiping Wang wrote:
#
I have been in touch with the parties concerned with this licensing problem.
I will get back to the list when we have some resolution.  Thank you all
for your comments.
On Wed, Jul 27, 2022 at 8:53 AM Meng, Chen <mengchen18 at gmail.com> wrote:

            

  
    
#
Sections 1-2 of the GPL-2.0 license (
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) explicitly allow
copying and distribution of verbatim or modified copies of the Program,
provided inclusion of "an appropriate copyright notice and disclaimer of
warranty" and that modified files are prominently labeled as such. The
license HOWTO (https://www.gnu.org/licenses/gpl-howto.html) recommends
including a copyright notice, otherwise, creators of derivative work or
others redistributing wouldn't know what copyright notice to include (ie it
could be you, or your employer, university, etc). So I am not a lawyer, but
I think you're within your rights to add a copyright notice and ask (and
require if it came to that) that the author of the other package include
that copyright notice prominently in their program, but you can't stop
anyone from copying your code verbatim or with modification and using it in
their program. I also think that it is the responsibility of the copyright
holder to enforce that, not the responsibility of any Bioconductor
representative (I know you didn't ask for that, but since Vince
volunteered).


Excerpts from https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html:


*1.* You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this
License and to the absence of any warranty; and give any other recipients
of the Program a copy of this License along with the Program.

*2.* *You may modify your copy or copies of the Program or any portion of
it, thus forming a work based on the Program, and copy and distribute such
modifications or work under the terms of Section 1 above*, provided that
you also meet all of these conditions:
*a)* You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.*b)* You must cause
any work that you distribute or publish, that in whole or in part contains
or is derived from the Program or any part thereof, to be licensed as a
whole at no charge to all third parties under the terms of this License.*c)* If
the modified program normally reads commands interactively when run, you
must cause it, when started running for such interactive use in the most
ordinary way, to print or display an announcement including an appropriate
copyright notice and a notice that there is no warranty (or else, saying
that you provide a warranty) and that users may redistribute the program
under these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but does not
normally print such an announcement, your work based on the Program is not
required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be
reasonably considered independent and separate works in themselves, then
this License, and its terms, do not apply to those sections when you
distribute them as separate works. But when you distribute the same
sections as part of a whole which is a work based on the Program, the
distribution of the whole must be on the terms of this License, whose
permissions for other licensees extend to the entire whole, and thus to
each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works
based on the Program.

In addition, mere aggregation of another work not based on the Program with
the Program (or with a work based on the Program) on a volume of a storage
or distribution medium does not bring the other work under the scope of
this License.
#
Thanks to all of you who provided prompt and helpful input.

Given the information I heard, suppose someone downloads your bioconductor package and makes some minor changes (for example, change some parameters of the model or some peripheral) with most core codes unchanged, and then re-package it with a different name and submits to bioconductor, that would be legal under the GPL license? But would it be ethical?

In my situation, the new package basically cloned my package but using a claimed different HMM profile trained based on my other work. Even when I updated my package to comply with the Bioconductor rule regarding passing file name from R to Fortran later, I found the other group immediately copied my solution in codes to handle this issue.

In their accompanying paper the other authors published in June 2021, they compared their package with my package and claimed the superiority of the performance based on the old version of my package. However in fact,  in Nov 2020, my package had a major update and it was subsequently deposited to Bioconductor repository with new functions integrated. The update was also published at my github at the same time (the exact date can be found in my github). The paper they published was not based on the most updated status of my package at that time. Even in current manual of the other package, they still had inaccurate description about my package. Such inaccurate comparison and description of my package does cause negative effect to my package and my work.

We publish tools in Bioconductor because we want to share with the community. However if it becomes the case or trend that users can make minor changes in peripheral of your package and re-package it and rename it and resubmit to biocondcutor, that seems to be problematic to me.

Sincerely,
Ji-Ping Wang





From: Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of Levi Waldron <lwaldron.research at gmail.com>
Date: Wednesday, July 27, 2022 at 1:41 PM
To: Vincent Carey <stvjc at channing.harvard.edu>
Cc: bioc-devel <bioc-devel at r-project.org>
Subject: Re: [Bioc-devel] Question on GPL2 license copyright
Sections 1-2 of the GPL-2.0 license (
https://urldefense.com/v3/__https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T8bBy7NI$<https://urldefense.com/v3/__https:/www.gnu.org/licenses/old-licenses/gpl-2.0.en.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T8bBy7NI$> ) explicitly allow
copying and distribution of verbatim or modified copies of the Program,
provided inclusion of "an appropriate copyright notice and disclaimer of
warranty" and that modified files are prominently labeled as such. The
license HOWTO (https://urldefense.com/v3/__https://www.gnu.org/licenses/gpl-howto.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9TwRR7g9A$ ) recommends
including a copyright notice, otherwise, creators of derivative work or
others redistributing wouldn't know what copyright notice to include (ie it
could be you, or your employer, university, etc). So I am not a lawyer, but
I think you're within your rights to add a copyright notice and ask (and
require if it came to that) that the author of the other package include
that copyright notice prominently in their program, but you can't stop
anyone from copying your code verbatim or with modification and using it in
their program. I also think that it is the responsibility of the copyright
holder to enforce that, not the responsibility of any Bioconductor
representative (I know you didn't ask for that, but since Vince
volunteered).


Excerpts from https://urldefense.com/v3/__https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T8bBy7NI$<https://urldefense.com/v3/__https:/www.gnu.org/licenses/old-licenses/gpl-2.0.en.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T8bBy7NI$> :


*1.* You may copy and distribute verbatim copies of the Program's source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this
License and to the absence of any warranty; and give any other recipients
of the Program a copy of this License along with the Program.

*2.* *You may modify your copy or copies of the Program or any portion of
it, thus forming a work based on the Program, and copy and distribute such
modifications or work under the terms of Section 1 above*, provided that
you also meet all of these conditions:
*a)* You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.*b)* You must cause
any work that you distribute or publish, that in whole or in part contains
or is derived from the Program or any part thereof, to be licensed as a
whole at no charge to all third parties under the terms of this License.*c)* If
the modified program normally reads commands interactively when run, you
must cause it, when started running for such interactive use in the most
ordinary way, to print or display an announcement including an appropriate
copyright notice and a notice that there is no warranty (or else, saying
that you provide a warranty) and that users may redistribute the program
under these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but does not
normally print such an announcement, your work based on the Program is not
required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be
reasonably considered independent and separate works in themselves, then
this License, and its terms, do not apply to those sections when you
distribute them as separate works. But when you distribute the same
sections as part of a whole which is a work based on the Program, the
distribution of the whole must be on the terms of this License, whose
permissions for other licensees extend to the entire whole, and thus to
each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works
based on the Program.

In addition, mere aggregation of another work not based on the Program with
the Program (or with a work based on the Program) on a volume of a storage
or distribution medium does not bring the other work under the scope of
this License.


_______________________________________________
Bioc-devel at r-project.org mailing list
https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/bioc-devel__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T9Ckhfeu$<https://urldefense.com/v3/__https:/stat.ethz.ch/mailman/listinfo/bioc-devel__;!!Dq0X2DkFhyF93HkjWTBQKhk!RtUM9L2K0SMxZ-TwmjUbvyIwbpn-ofbzikotgJpb8HphprPUtbWTtNBxbLeUICwEgllggYmicd3ylLZEdVEvNAw9T9Ckhfeu$>
#
Dear Ji-Ping and all, here are some more thoughts of my own on software
licensing and ethics, in case they are helpful. I separate out questions of
software licensing and code reuse from academic conduct/misconduct:

Software licensing and code reuse: I think it's fair to say that the
emphasis of the GPL license is on ensuring the freedom of anyone to copy,
modify, and redistribute the software, and on not allowing anyone to
restrict that freedom on derivatives - not on ensuring attribution,
although GPL does maintain copyright and requires anyone copying or
modifying and distributing to prominently display the original copyright
notice and to indicate which files have been modified and when. There are
situations where direct code copying is really advantageous to users, as a
few examples, to incorporate code from another package without requiring
all of that package's dependencies, to incorporate code from packages not
in CRAN or Bioconductor or unpackaged code, or to fix compilation / linking
problems. In other instances where it's not beneficial to users, it's still
allowed by the license and within the spirit of the GPL license.

Academic conduct/misconduct: if someone copies your code and claims it as
their own work without attribution, that could represent plagiarism and
academic misconduct, even if it would be allowed by the software license.
For example, code under a completely public domain license like CC0 that
surrenders copyright, or writing that is too old to be protected by
copyright, must be attributed and not claimed as your own. That is normally
the realm of journals and universities to adjudicate and take action on.
The Bioconductor project isn't currently equipped to adjudicate matters of
academic integrity, and as far as I know, no other distributor of
open-source software tries to do it either.

On the other hand, benchmarking against an old version of your software may
be misleading and not very fair, but probably not misconduct or even
incorrect if they stated the software version they benchmarked against. I
would think the available remedy is a rebuttal letter/editorial, or
publishing updated benchmarking with the new version of your software. I've
experienced unfair and inaccurate characterizations of my own work too, but
ended up deciding that the most effective way forward was just to continue
trying to improve my own product and to communicate its value, because I
think most users decide what software to use based on their own experience
and understanding of what the software can do for them, rather than on what
competitors say about each other.

I hope that this experience won't discourage you from submitting to
Bioconductor, especially since these same issues exist no matter where you
publish your software.

Sincerely,
Levi