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

Reply via email to