[Top][All Lists]

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

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

From: Maxime Devos
Subject: Re: Pre-announcement of partial Scheme port of client libraries
Date: Wed, 15 Sep 2021 22:07:56 +0200
User-agent: Evolution 3.34.2

Christian Grothoff schreef op wo 15-09-2021 om 16:12 [+0200]:
> 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
> > <> and
> > <>;;.
> > (**) 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 usually we'd call it gnunet-scheme. At
> least that'd be consistent with the cocoa, go, nim, java and python
> bindings / integrations...

Right.  I think I'll rename it to gnunet-scheme or gnunet-guile.  The latter
might cause confusion with <> though

> > 2. Infrastructure
> > 
> >    As it is library for interacting with GNUnet services, I thought
> >    the pre-existing, and
> > 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.

Messages to info-gnunet@ will be relatively infrequent, so that shouldn't
be a problem.

> > 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 for details.

I don't have access to a printer at the moment, so this will have to wait
a little.

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

FWIW, the title of ‘copyright.pdf’ is ‘Copyright Assignment Agreement for
Contributors to GNUnet’.

> > 4. Relation to gnunet-guile (not a question).
> > 
> > Some may be wondering why I didn't use the
> > <> or
> > <> Guile bindings instead of writing
> > my own <>;;.  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.

Bindings for crypto libraries already exist and appear to work well
and easy to use.  E.g. guile-gcrypt has been succesfully used in Guix
and nettle's C API seems trivial to wrap.  The pure crypto (I'm including
hashing here) will be done by a wrapped C library.

>  The real question is,
> does your work render the bindings obsolete?

At the moment, not yet, because it doesn't support GNS, DHT, FS ...
But eventually, I think it will.

> > For the interested, I have included a copy of the manual.
> Very nice ;-).
> Happy hacking!


Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

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