Licenses

204 views
Skip to first unread message

dja...@gmail.com

unread,
Sep 29, 2016, 4:12:41 AM9/29/16
to golang-nuts
Hi,
May be OT, but:

Can i  translate some GPLv2 licensed C code to GO, and publish it under BSD new license ?
Code comments are from original C code.

Also, Can I in my BSD licensed GO project, link to GPLv2 library ?

Regards,
Djadala


T L

unread,
Sep 29, 2016, 4:24:51 AM9/29/16
to golang-nuts, dja...@gmail.com


On Thursday, September 29, 2016 at 4:12:41 PM UTC+8, dja...@gmail.com wrote:
Hi,
May be OT, but:

Can i  translate some GPLv2 licensed C code to GO, and publish it under BSD new license ?
Code comments are from original C code.

Also, Can I in my BSD licensed GO project, link to GPLv2 library ?

no
 

Regards,
Djadala


T L

unread,
Sep 29, 2016, 4:40:40 AM9/29/16
to golang-nuts, dja...@gmail.com


On Thursday, September 29, 2016 at 4:24:51 PM UTC+8, T L wrote:


On Thursday, September 29, 2016 at 4:12:41 PM UTC+8, dja...@gmail.com wrote:
Hi,
May be OT, but:

Can i  translate some GPLv2 licensed C code to GO, and publish it under BSD new license ?
Code comments are from original C code.

but IMO, sometimes, it is really hard to judge if the new code is translated from the old code or implemented from scratch.
 

andrey mirtchovski

unread,
Sep 29, 2016, 7:56:31 AM9/29/16
to dja...@gmail.com, golang-nuts
> Also, Can I in my BSD licensed GO project, link to GPLv2 library ?

You may link to the library via cgo if the author has given you
permission to do so. Usually this is done via a separate COPYING.LIB
file which contains the GNU LGPLv2 text in the library's repository
(the COPYING file still contains GPLv2). One example that I can think
on top of my head, but it's literally everywhere:

http://procps.cvs.sourceforge.net/procps/procps/

In this case you need to provide sources for the library and full
object files to relink the project if someone wants to, or better yet
always link dynamically.

rabbit hole this way:
http://copyleft.org/guide/comprehensive-gpl-guidech11.html#x14-9600010

Eric Johnson

unread,
Sep 29, 2016, 1:14:51 PM9/29/16
to golang-nuts, dja...@gmail.com


On Thursday, September 29, 2016 at 1:12:41 AM UTC-7, dja...@gmail.com wrote:
Hi,
May be OT, but:

Can i  translate some GPLv2 licensed C code to GO, and publish it under BSD new license ?
Code comments are from original C code.

The correct way to do this would be to perform a "clean-room" implementation. Have one person create a specification based on the original C library, and have a second person implement the specification. Ideally, the form of the specification is neither C nor Go. The second person should not, under any circumstances, look at the original C code.

Eric

Ian Lance Taylor

unread,
Sep 30, 2016, 10:18:28 AM9/30/16
to dja...@gmail.com, golang-nuts
On Thu, Sep 29, 2016 at 1:12 AM, <dja...@gmail.com> wrote:
> Hi,
> May be OT, but:
>
> Can i translate some GPLv2 licensed C code to GO, and publish it under BSD
> new license ?
> Code comments are from original C code.

Despite some other replies here, I think you probably can, though you
can't copy the comments. Note that I am not a lawyer. And, that
said, don't do it, and don't do a clean room reimplementation either.
Respect the wishes of the original author, or explicitly ask
permission. The free software community runs on respect for coders.
Don't breach that respect.


> Also, Can I in my BSD licensed GO project, link to GPLv2 library ?

Despite some other replies here, the answer to the question is
definitely yes, as long as you respect the requirements that the two
licenses impose on the fully linked program. People link BSD and
GPLv2 code together all the time.

Ian

dja...@gmail.com

unread,
Sep 30, 2016, 10:29:18 AM9/30/16
to golang-nuts
Thanks all for answers, 
Ian, can you please explain (briefly) what are requirements that the two 
licenses impose on the program ?
Again thanks.

Djadala

Ian Lance Taylor

unread,
Sep 30, 2016, 10:38:49 AM9/30/16
to dja...@gmail.com, golang-nuts
On Fri, Sep 30, 2016 at 7:29 AM, <dja...@gmail.com> wrote:
>
> Ian, can you please explain (briefly) what are requirements that the two
> licenses impose on the program ?
> Again thanks.

Both licenses are entirely readable, and I encourage you to read them.

Briefly, the GPLv2 requires that when you distribute the fully linked
binary you also distribute the complete source code used to build it,
or make that source code available in some fashion. The BSD license
requires that when you distribute the fully linked binary you avoid
claiming an endorsement from the original author. Both licences
require that you include a copy of the copyright statement and the
license, including any warranty disclaimer.

For both licenses, if you simply distribute the source code rather
than a linked binary, then there are no additional requirements other
than including copies of the license (and not claiming an
endorsement).

For both licenses, if you link the code together into a linked binary
and do not distribute that binary--that is, you only run it yourself,
and you don't give a copy to anybody else--then there are no
restrictions on how you may run that binary.

Ian
Reply all
Reply to author
Forward
0 new messages