Skip to content

choosing words carefully

As Fabrizio said, software developers like discussions. I agree, as anyone can tell who is following the lists on which I am active ;-)

I think it is the constant struggle to express one’s thoughts clearly when writing program code that is applied to human languages, in particular with license texts. “I have an if here, what about the else case? When writing this, what are the implications when the code is used like that?” These are questions that apply both to programming languages and human languages. Legal licenses are like programs, but instead of instructing dumb computers, they tell people how to behave. The biggest difference is that humans are a lot more creative at finding loop holes. Sometimes it might seem like a computer also has a life of its own, but the root cause is always a hardware or software bug or a misunderstood feature.

The discussion that Fabrizio referred to was about section 13 in the AGPLv3. This issue was raised because uncertainties about the interpretation of the license in the context of client programs currently keep SyncEvolution out of Debian. The position of the FSF on this matter is clear now, but I still think they could improve their line of argumentation by rewriting the new FAQ entry as follows (the highlighted sentence is my addition):

If some network client software is released under AGPLv3, does it have to be able to provide source to the servers it interacts with?

This should not be required in any typical server-client relationship. AGPLv3 requires a program to offer source code to “all users interacting with it remotely through a computer network.” “user” in this context refers to users of the program licensed under the AGPL. In most server-client architectures, it simply wouldn’t be reasonable to argue that the server operator is such a user “interacting with” the client in any meaningful sense.

In some other debate” about words I argued that the term “plug-in” that Funambol used for their SyncML clients didn’t make sense to me – if it’s a plug-in, what does it plug into? The computer/phone/mobile device? Then we would have to call all of our applications a “plug-in”. Today it was mentioned that Funambol is going to drop the “plug-in” label and will use “Sync Client” instead. Not sure whether anyone even remembered the discussion, but secretly I’d like to think that it had an effect, even if it took more than a year…

Post a Comment

Your email is never published nor shared. Required fields are marked *