unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: <tomas@tuxteam.de>
To: Nate Rosenbloom <nate.rosenbloom@gmail.com>
Cc: "guile-user@gnu.org" <guile-user@gnu.org>
Subject: Re: re-writing algorithms in Guile
Date: Tue, 29 Jun 2021 16:20:59 +0200	[thread overview]
Message-ID: <20210629142059.GA12503@tuxteam.de> (raw)
In-Reply-To: <DM5PR04MB089091E1AD31007B33FF7247F6029@DM5PR04MB0890.namprd04.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 1619 bytes --]

On Tue, Jun 29, 2021 at 01:52:56PM +0000, Nate Rosenbloom wrote:
> 
> > This reason is not stated in the Stack Exchange post, and I believe
> > it’s inaccurate (although, I am not a lawyer either). I think the
> > reason is that you are reading the original implementation to write
> > your own, so you are some kind of a compiler, or translator (as for
> > human spoken languages). As such, what you write is mostly the other
> > person’s work, so you should not claim copyright about it.
> 
> Sorry, I should have been more specific, the rewritten algorithm would not be the same, but it would be a derivative work and still covered by copyright of the original work.

I think the legal concept of "derivative work" is far more complex than
we'd all like. See [1] to get an idea.

With the caveat that I'm not a lawyer (heh), I think the "red line" lies
between those two extremes: (a) you read the original, understand the
algorithm and write your program based on this understanding. Best if
you forget details like variable naming, program structure, etc. Only
the "pure" algorithm survives, and (b) you translate the program line
by line (although that would be pretty hard between C and, say, idiomatic
Scheme). (a) is almost certainly not a derivative work, while (b) would
be, most probably.

To make sure you can cleanly /prove/ you did (a), some do what is called
a "clean room implementation". Fred looks at the original program and
tells Gina "how it works", and Gina implements the new one.

Cheers

[1] https://copyleft.org/guide/comprehensive-gpl-guidech5.html

 - t

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2021-06-29 14:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 21:38 re-writing algorithms in Guile Tim Meehan
2021-06-28 21:50 ` Zelphir Kaltstahl
2021-06-29  4:09   ` Nate Rosenbloom
2021-06-29  4:38     ` Vivien Kraus via General Guile related discussions
2021-06-29 13:52       ` Nate Rosenbloom
2021-06-29 14:20         ` tomas [this message]
2021-06-29 23:48           ` Tim Meehan
2021-06-30  7:29             ` tomas
2021-06-29  5:26 ` Jay Sulzberger
2021-06-29  6:08   ` Dr. Arne Babenhauserheide
2021-06-29  6:08 ` Dr. Arne Babenhauserheide
2021-06-29  7:56 ` tomas
2021-06-29  8:56   ` Vivien Kraus via General Guile related discussions

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210629142059.GA12503@tuxteam.de \
    --to=tomas@tuxteam.de \
    --cc=guile-user@gnu.org \
    --cc=nate.rosenbloom@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).