[Mono-list] Shared source CLI beta released

Richard Matthias richard@exaflop.org
Wed, 27 Mar 2002 19:40:55 -0000

> The problem is with software patents.  Since people can patent pretty
> much anything, and since patents usually have claims that cover the
> entire world while they only are covering a new invention, if you look
> at Rotor and later on contribute to Mono, it will be hard to
> prove that you were not influenced by the "design of the patents that you
> assimilated" while reading Rotor.

This misunderstands the very nature of patents. They are intended to be
*public* documentation of what people are claiming to have invented. Like
the law itself, ignorance of a patent is absolutely no defence against an
infringement suit. It may seem grossly unfair but many of the most famous
inventions of the 20th century where developed by more than one person
simultaneously and yet only one was awarded the patent - the one who filed
it first.

Of course these days many companies file spurious patents that cover far
more than they are entitled to. In many cases the companies involved don't
even expect to be able to enforce the patent. They merely wish to use it as
a bargaining tool against others who might step on their toes, knowing that
with their large in-house legal departments they can drag a case out long
enough that its often less costly for the defendant to either licence that
disputed patent, settle out of court or merely desist.

There is no reason to avoid Microsoft's code as far as patents are
concerned. There is also no reason you should look at it either. You should
however examine the patents closely when they are published - if they
contain valid claims it is likely they are specific enough that more generic
techniques can be used. They may OTOH be invalid due to prior art but you
won't know that if you don't read them.

Putting the issue of patents to bed for a bit, the main reason to not read
Microsoft's source is to avoid infringing their copyright. Not having come
into contact with someone else's copyright work is *some* defence against a
copyright infringement suit although you should bear in mind that its pretty
difficult to prove you didn't examine code that is publicly available. It
would generally be up to a court appointed expert to examine both sets of
code and decide if non-obvious sections of code are more closely related
than coincidence would allow. There is less likelihood that you will produce
similar code if you don't know what Microsoft's code looks like. If you did
look at it you could make sure your code was different but that is more of a
burden than figuring it all out for yourself in my opinion.

Of course when you are implementing a published API some code can only
really be written one way (a good example from another project would be the
windows.h files that ship with the win32 versions of GCC - they were retyped
by hand from API documentation but as far as the compiler is concerned they
are identical to the MS files). You should still avoid copying MS's code in
these cases, though more to avoid pissing them off than for any legal