[IRCServices Coding] contributing to ircservices : legal and coding standards problems

Andrew Church achurch at achurch.org
Fri Dec 13 19:17:25 PST 2002


     Short answer: don't send me code (and see FAQ Z.8).

     Long answer:

>1/ While developping a complex module such as botserv, I'll probably
>come accross things like missing callbacks, etc. I haven't started
>coding, but it seems there's no callback for messages sent to a channel.
>(I'm not sure of the m_privmsg callback not ignoring channel privmsgs).
>So I'll probably have to modify things in ircservices. Since my
>module(s) would be distributed under the GPL (I'm not even part of the
>team of any network), I have 3 solutions :

     Alternatively, you could suggest to me "I need a callback to do X",
and I'd probably add it, or at least tell you an alternative way to do it.

>"Furthermore, any submissions of modules, code, documentation, or any
[...]
>your situation.)"
>a. this is against french law, and probably laws from many other
>countries : some rights of the author can't be given to someone else.

     I can't say anything about other countries' laws.  If this ever
becomes a factual problem I'll deal with it at that time.

>b. this is against the free software idea.

     There is no such thing as "the free software idea".  There are a whole
bunch of "free software ideas"; I don't necessarily agree with all of them.
I go into some discussion of this in question Z.8 in the FAQ.

>c. if I code sthing, then contribute it to ircservices, I would no
>longer be the author of this, so I couldn't, for example, include it in
>a commercial product I distribute.

     This is true.

>I don't understand why this clause is needed. There's no risk with
>including GPLed code or FDLed documentation in a project, since neither
>the GPL nor the FDL can be revoked. Could you please explain ?

     That clause was originally used for translations, which I feel I have
every right to claim ownership for (and at least US and Japanese copyright
law guarantee this, IIRC).  I extended it to cover all code just to make my
life simpler, so that I don't have to worry about who owns what code and
contributed it under what conditions, and also to cover my back in case
some crackpot tries to claim rights to my code, as happened once before.
(Look at docs/copyright.html, among other places, and note that I
specifically state "version 2" of the GPL, not the "version 2 or any later
version" that most people use--I might not be able to include such code in
Services due to the difference in licensing terms.)

     In reality, it makes very little difference, as I almost never include
code people send me "as-is"--I rewrite it myself.  The reasoning for this
is explained more fully in question Z.8 in the FAQ.

>2/ Coding standards (section 6.4)
>I understand your identifier naming conventions. But there's no need for
>Formatting conventions. What about using GNU indent, which is highly
>configurable, and provide a .indent.pro file for ircservices, so that
>everyone can submit code that matches your very own formatting
>conventions ?

     I can do indenting fine on my own and have no need or desire to use a
tool to do it.  If you can't format your code like mine (and you should
always match the existing style when you modify a program), then I don't
want to see your code.

  --Andrew Church
    achurch at achurch.org
    http://achurch.org/