guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hygienic rewrite of (ice-9 expect)


From: Maxime Devos
Subject: Re: Hygienic rewrite of (ice-9 expect)
Date: Mon, 29 May 2023 23:33:12 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1

>p 29-05-2023 om 03:40 schreef Daniel Dinnyes:
Thanks for the reply.

On Sun, 28 May 2023 at 14:39, Maxime Devos <maximedevos@telenet.be <mailto:maximedevos@telenet.be>> wrote:

    I think this would gather more replies if:

       1. It is sent as a patch that can be applied to the Guile source
    tree.

    (You wrote:

      > If the community likes this implementation, I would be happy to
      > apply/rebase my changes onto the official repo, and then we can go
      > from there!

    but to determine whether I'm happy with it, it would be convenient if
    this were a proper patch.)
    (I'm not actually reviewing Guile stuff at the moment, but I find it
    likely that some others might hold the same view.)


Regarding patches, I think I've read somewhere that GNU wants contributions in some different format, than just URLs to pull-able GIT repos. Could you share with me some guide how to do such patches,
or what format they are needed?

Format: the result of 'git send-email', or 'git format-patch + attach the patch as an attachment'. I've heard that the guide at <https://git-send-email.io/> for 'git send-email' is good.

Still, setting up a fork + sending a PR (by e-mail), while not the most preferred format, would still be pretty good (‘git diff’ can then be used!).

I am assuming this <https://git.savannah.gnu.org/cgit/guile.git/> is the repo of current guile tree, onto which to apply my changes.

Yes.

Onto which branch?

The branch named 'main'.

Would it possible to fork the repo on savannah, and then raise a PR from there instead of patches?

Savannah doesn't have a notion of 'forks' AFAIK. (Emphasis on the ‘I don't know’ in ‘AFAIK’, maybe it actually does have them in some form.)

However, you can do a PR ‘manually’ by setting up a fork of the repo at some random hosting site of your choice, pushing some commits there, and sending a (free-form) e-mail to guile-devel@gnu.org with a message containing information on where to find the repository and which branch/commit.

(You don't need PR / fork buttons to do PRs and forks!)

Also, I've tried to create account on savannah, but it keeps getting deleted.
What would you recommend I do to ensure my account doesn't get removed?

I don't have clue; I only fetch from savannah, I don't have an account there.

[...] I am not sure I would agree with your assessment about /illegality/, and the /derivative work/ categorization. Even though these macros happen to expand to something similar as the original ice-9 implementation, the code itself is quite significantly different! If this is to be used in ice-9, it would have to completely replace the original expect.scm file, as nothing was copy/pasted from there. The fact that parameter binding names are the same is necessary for backwards compatibility, so those wouldn't count even under the US laws <https://www.bbc.co.uk/news/technology-56639088>.

I assumed it is a derivative work because you presented it as a ‘rewrite of [the original]’. Maybe it's possible to rewrite something a lot until its no longer a derivative work (I don't know if that's possible), but by default I'd assume that rewrites are derivative works.

I didn't use ‘same procedure names’ as a reason (as you wrote, those aren't a problem).

On second thought, I am wrong! The expect-select helper function looks like a direct copy-paste job... little naughty me!

TBC, I ascribe no guilt. The thing is that I've noticed in the past that people often use the GPL without knowing what that entails precisely, which can have unintended consequences, like e.g. unintentionally licensing something as GPLv1+ instead of GPLv3+ (or GPLv3+ instead of GPLv3, but that mistake is actually pretty convenient for distributions :P).

(Also, Guile relies on the (L)GPL as a form of protection against some forms of malice, so I think it's important that we also follow the (L)GPL terms itself.)

Nevertheless, I would be happy to add the necessary notices if that is required.
Also, IIRC there would be another copyright assignment administrative work
somewhere down the line?

The copyright assignment used to be required, but nowadays its optional. Still, it does appear to be preferred. You would get an e-mail by a Guile maintainer with more info, it's not something you initiate yourself.

The page https://www.fsf.org/licensing/contributor-faq sort-of implies the opposite, but IIRC there is another page somewhere or gnu.org that doesn't; I don't know what's up with that. (Either way, I'd think that things will work out in the end.)

Best regards,
Maxime Devos

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]