Studying the DMD front-end and contributing to similar projects?
Walter Bright
newshound1 at digitalmars.com
Sun May 2 11:22:41 PDT 2010
Aziz K. wrote:
> Hi,
>
> The specs are not always helpful when you need to know how to write a
> compiler for D programs.
>
> Is it okay to study the code of the front-end of DMD, and also
> contribute to similar projects under a different license?
>
> What are the restrictions in this regard?
It is under GPL and the Artistic License. If you wish to use it under the GPL,
the usual GPL conventions apply. If you wish to use it for commercial non-GPL
purposes, ask me and I will do my best to make it work for you.
I use the compiler source in my Compiler Construction Seminar
(http://www.astoriseminar.com). So yes, you are free to study the code, learn
from it, apply the techniques in your own projects, and contribute to other
projects under a different license.
As far as I know, none of the algorithms used in the compiler are encumbered by
any patents, certainly I hold no patents on it, nor do I intend to patent any
part of it. Furthermore, the algorithms used in it are pretty conventional
compiler algorithms that have been around a long time.
All I ask is that you do not copy the actual source code code without a license
from Digital Mars or unless the copy is under the GPL.
In particular, I am not requiring anyone to do a clean room implementation. My
often stated ideas about 'taint' are simply an easy way to protect myself (and
Digital Mars) against frivolous lawsuits, I have no intention of applying them
in reverse.
For an example of what doesn't work for me, many years ago, a company came out
with a product suspiciously similar to mine. I contacted them, and they said
that while they were familiar with my code, they had rewritten it from scratch.
Ok, so I ran an "nm" over their executable and a "strings". Of the hundreds
internal function names (not interface related), about 95% were identical
matches to my source code, and about 90% of the text strings, such as error
messages, were identical. This was as obvious and egregious as it gets. They
were full of BS, and they caved.
More information about the Digitalmars-d
mailing list