[Mono-list] Viewing Shared Source CLI
Thu, 28 Mar 2002 10:45:08 -0500
See this response from Eben Moglen, the legal counsel for the FSF, to Rhys (of dotgnu) regarding looking at the rotor source code. It seems to be *legally* permissable as long as there are no direct copies of the work:
The key provision in the license is:
You may use any information in intangible form that you remember after
accessing the Software. However, this right does not grant you a
license to any of Microsoft's copyrights or patents for anything you
might create using such information.
This is pretty clear (they're becoming rather good at drafting "shared source" licenses; I'm beginning to feel stylistically challenged). It means that they don't claim any right to control knowledge you may gain from reading their code, but you can't copy their code or practice any of their patent claims. The patent issue is unaffected by the reading of their code, from our point of view. On the copyright side, our responsibility is the same as it would be under any other circumstances: we must write all our code from scratch, copying nothing contained in their Rotor code. If there is no copying there is no infringement under their license.
My advice is to tell people to code where possible from the ECMA standard. Where (which is likely to be everywhere), ECMA is insufficiently descriptive to create interoperable code, it is acceptable to read the source of the Rotor implementation. Notes taken in the course of reading that source should be made in pseudocode, so that programmers do not copy snippets of the Rotor source as aides to their memory. We want every line of code in our projects to have come out of the original invention of one of our coders, having been expressed in his or her own way. Ideas abstracted from the Rotor implementation should always have been put in our programmer's own "words," because copyright protects expressions, not ideas.
I hope this is helpful. If you need further or more specific advice, please don't hesitate to shout.
On Thursday, 28 March 2002, Rhys Weatherley wrote:
My name is Rhys Weatherley, the author of Portable.NET,
which is part of the GNU Project and DotGNU. The goal is
to build an implementation of the "Common Language
Infrastructure" (CLI) that Microsoft has standardised
through the ECMA standards body.
Microsoft has recently released their "shared source" CLI
implementation, called Rotor.
For now, I have been advising people not to look at the
Rotor code if they intend to work on Portable.NET. But I
would like to have a legal opinion as to how we should
approach this code.
Microsoft's license can be found at the following location:
We don't intend to use any of Microsoft's code directly
in Portable.NET. So the main concern is whether someone
who has looked at the Rotor code can subsequently work
on Portable.NET. And what procedures they would need
to follow to avoid contamination.
Cc: Bradley Kuhn and DotGNU Steering Comittee
CoreTeam mailing list
From: M. Keith Warren [mailto:email@example.com]
Sent: Thursday, March 28, 2002 8:53 AM
Subject: [Mono-list] Viewing Shared Source CLI
I know that there has been a lot of talk regarding the use of ILDASM during the dev process. I understand this was due to a licensing provision; but maybe there is quite a bit more freedom with the SSCLI. MSFT's own doc says,
"What can I do with the Shared Source CLI?
There is a wealth of programming language technology in the Shared Source CLI. It is likely to be of interest to a wide audience, including:...
...People developing their own CLI implementations will find the Shared Source CLI an indispensable guide and adjunct to the ECMA standards."
Now I am admittedly a moron when it comes to licensing; but is this something that could in some way help with the process?
m keith warren
Join the world’s largest e-mail service with MSN Hotmail. Click Here