gnunet-developers
[Top][All Lists]
Advanced

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

Re: Pre-announcement of partial Scheme port of client libraries


From: Christian Grothoff
Subject: Re: Pre-announcement of partial Scheme port of client libraries
Date: Wed, 15 Sep 2021 16:12:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

On 9/15/21 12:57 PM, Maxime Devos wrote:
> Hi,
> 
> I've been porting parts of the client libraries of GNUnet to Guile (*) and
> changing a few things.  It now has sufficient functionality for a v0.1
> POC release (**), but I have a few questions to ask before I announce it.

Nice.

> (*) See ‘4. Relation to gnunet-guile’ for differences with
> <https://git.gnunet.org/gnunet-guile2.git/> and
> <https://git.savannah.gnu.org/cgit/guix/gnunet.git/>;.
> (**) It can talk with the NSE service.
> 
> 1. Name
> 
>    I've been calling the port ‘Scheme-GNUnet’.  Would this be acceptable,
>    or do I have to remove GNUnet from the name?

See https://git.gnunet.org/: usually we'd call it gnunet-scheme. At
least that'd be consistent with the cocoa, go, nim, java and python
bindings / integrations...

> 2. Infrastructure
> 
>    As it is library for interacting with GNUnet services, I thought
>    the pre-existing gnunet-developers@gnu.org, help-gnunet@gnu.org and
>    info-gnunet@gnu.org mailing lists might be appropriate.  Can I direct
>    people help-gnunet@ for help about Scheme-GNUnet and gnunet-developers@
>    for sending patches for Scheme-GNUnet?  And can I send release 
> announcements
>    at info-gnunet@?

Yes, alas I might need to manually approve info-gnunet@ (ditto for
messages from non-subscribers), so they might arrive with some delay.

> 3. Copyright assignment
> 
>    I noticed most source code of GNUnet, with some exceptions, only lists
>    ‘GNUnet e.V.’ under the copyright notices.  Would it be possible for
>    contributors to Scheme-GNUnet to (if they want to) assign the copyright
>    to GNUnet e.V.?  And would this be desirable?

Yes, that would be desirable (also for your contributions), as that
could allow GNUnet e.V. to re-license/dual-license if ever required.
Note that the process is very simple (one signature), can be done under
a pseudonym (if you contribute under a pseudonym), and you also get to
keep the copyright! See https://gnunet.org/en/copyright.html for details.

As a rule of thumb, if you want write-access to git.gnunet.org, you must
sign the copyright agreement (technically what we do is not an
_assignment_ but _sharing_ of the copyright).

> 4. Relation to gnunet-guile (not a question).
> 
> Some may be wondering why I didn't use the
> <https://git.savannah.gnu.org/cgit/guix/gnunet.git/> or
> <https://git.gnunet.org/gnunet-guile2.git> Guile bindings instead of writing
> my own <https://notabug.org/maximed/scheme-gnunet>;.  The answer is that:
> 
>    (1) I didn't write Guile->C bindings, I ported parts of GNUnet from C to
>        Guile
>    (2) A few parts of the Guile bindings are reused in the Guile port
>    (3) there were some crashes with the Guile bindings (things like
>        NULL-pointer exceptions)
>    (4) I couldn't figure out the issue
>    (5) I would like to use GNUnet from within guile-fibers, but didn't succeed
>        in letting the C event loop cooperate with guile-fibers' scheduling
>    (6) I find Scheme easier to hack on than C.

I think that's a fine (and maybe generally preferable) approach rather
than doing bindings. I'd just not do the crypto itself directly in
Guile, that's likely neither performant nor safe. The real question is,
does your work render the bindings obsolete?

> For the interested, I have included a copy of the manual.

Very nice ;-).

Happy hacking!

-Christian

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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