On 5/23/20 12:48 AM, Alessio Vanni wrote: > Thank you. It's better than nothing I suppose; at least I'm not left > here scratching my head, as I can look into those places you suggested. > Anyway, if possible I'd still like to know why `GNUNET_SERVICE_start' > adds a handler for that type of message. It's convenient for the core > which might actually use those messages, but unless there is another > reason you might want to add it from a function not used to deal with > third-party applications too. I mean, it's still adding a handler for > message type 6 which might be an application-specific message type...
Actually, no. Type 6 implements our *Affero* GPL mechanism to provide anyone who accesses *any* GNUnet service with the means to download the source code. GNUnet is released under the AGPL, which specifically states that such a mechanism to obtain the source must not be disabled. So a third-party application would be in violation of the AGPL license if it disabled this particular handler. Basically, that's the one "freedom" the *Affero* GPL takes away: the freedom to remove or disable a "download source" mechanism. Now, admittedly it could be documented better, but it was mostly added as a quick hack before a release when we switched to the AGPL. Finally, in general we'll want even third-party applications to use message types that are "registered" globally. We recently setup https://gana.gnunet.org/ which will be used to facilitate this.
signature.asc
Description: OpenPGP digital signature