[Mono-devel-list] ByteFX development

Joshua Tauberer tauberer at for.net
Wed Sep 22 11:05:00 EDT 2004

Michael L Torrie wrote:
> At that point, linking
> to a DLL is reduced merely to a messaging protocol, which then asks the
> loaded question, does speaking a protocol bind you to a license?

You've confounded a few issues.  Linking, I guess, means two things.  1) 
It's the development-time process of creating an object file that 
references another object file.  2)  It's the run-time process of 
loading another object file into your address space, or whatever. 
Similarly, speaking a protocol is 1) the actual implementation of a 
protocol in a program, created at development-time, or 2) the run-time 
process of actually communicating with another program using a protocol.

What happens at run-time is irrelevant for the GPL.  The only thing that 
matters is whether your code is somehow in at least some small way 
derived from someone else's.

Let's assume all development-time linking makes the result a derived 
work. Definition 1 linking means you have to follow the GPL.  Definition 
2 linking is irrelevant.

Speaking a protocol definitions 1 and 2 don't parallel.  A protocol 
itself cannot be GPLed.  Protocols are not protected by copyright law. 
Thus merely implementing a protocol that happens to be used by a GPL 
program cannot bind you to anything.  (And, of course, run-time use of a 
protocol is irrelevant.)

On the other hand, written protocol specifications are protected by 
copyright law.  Can you read a specification and then implement a 
program that follows it without creating a derivative work?  This I 
don't know.

- Joshua Tauberer


** Nothing Unreal Exists **

More information about the Mono-devel-list mailing list