Looking for champion - std.lang.d.lex

Bruno Medeiros brunodomedeiros+spam at com.gmail
Wed Nov 24 11:54:59 PST 2010


On 20/11/2010 01:29, Jonathan M Davis wrote:
> On Friday, November 19, 2010 15:17:35 Bruno Medeiros wrote:
>> On 19/11/2010 22:02, Jonathan M Davis wrote:
>>> On Friday, November 19, 2010 13:53:12 Bruno Medeiros wrote:
>>>> On 19/11/2010 21:27, Jonathan M Davis wrote:
>>>>
>>>> And by providing a lexer and a parser outside the standard library,
>>>> wouldn't it make it just as easy for those tools to be written? What's
>>>> the advantage of being in the standard library? I see only
>>>> disadvantages: to begin with it potentially increases the time that
>>>> Walter or other Phobos contributors may have to spend on it, even if
>>>> it's just reviewing patches or making sure the code works.
>>>
>>> If nothing, else, it makes it easier to keep in line with dmd itself.
>>> Since the dmd front end is LGPL, it's not possible to have a Boost port
>>> of it (like the Phobos version will be) without Walter's consent. And
>>> I'd be surprised if he did that for a third party library (though he
>>> seems to be pretty open on a lot of that kind of stuff). Not to mention,
>>> Walter and the core developers are _exactly_ the kind of people that you
>>> want working on a lexer or parser of the language itself, because
>>> they're the ones who work on it.
>>>
>>> - Jonathan M Davis
>>
>> Eh? That license argument doesn't make sense: if the lexer and parser
>> were to be based on DMD itself, then putting it in the standard library
>> is equivalent (in licensing terms) to licensing the lexer and parser
>> parts of DMD in Boost. More correctly, what I mean by equivalent, is
>> that there no reason why Walter would allow one thing and not the
>> other... (because on both cases he would have to issue that license)
>
> It's very different to have D implementation of something - which is based on a
> C++ version but definitely different in some respects - be under Boost and
> generally available, and having the C++ implementation be under Boost -
> particularly when the C++ version covers far more than just a lexer and parser.
> Someone _could_ port the D code back to C++ and have that portion useable under
> Boost, but that's a lot more work than just taking the C++ code and using it,
> and it's only the portions of the compiler which were ported to D to which could
> be re-used that way. And since the Boost code could be used in a commercial
> product while the LGPL is more restricted, it could make a definite difference.
>
> I'm not a licensing expert, and I'm not an expert on what Walter does and
> doesn't want done with his code, but he put the compiler front end under the
> LGPL, not Boost, and he's given his permission to have the lexer alone ported to
> D and put under the Boost license in the standard library, which is very
> different from putting the entire front end under Boost. I expect that the parser
> will follow eventually, but even if it does, that's still not the entire front
> end. So, there is a difference in licenses does have a real impact. And no one
> can take the LGPL C++ code and port it to D - for the standard library or
> otherwise - without Walter's permission, because its his copyright on the code.
>

There are some misunderstandings here. First, the DMD front-end is 
licenced under the GPL, not LGPL.
Second, more importantly, it is actually also licensed under the 
Artistic license, a very permissible license. This is the basis for me 
stating that almost certainly Walter would not mind licensing the DMD 
parser and lexer under Boost, as it's actually not that different from 
the Artistic license.


>
> Ideally, Phobos would be huge in a manner similar to how C# or Java's libraries
> are huge. It will take time to get there, and we'll need more developers, but I

That point actually works in my favor. C# and Java's libraries are much 
bigger than Phobos, and yet they have no functionality for 
lexing/parsing their own languages (or any other for that matter)!


-- 
Bruno Medeiros - Software Engineer


More information about the Digitalmars-d mailing list