At 07:08 AM 9/26/00 -0400, Ben Tilly wrote:
>Dan Sugalski wrote:
>>
>>On Mon, 25 Sep 2000, Ben Tilly wrote:
>>
>> > Is it a conflict with the aims of Perl 6 in general that various
>> > derivatives of Perl should be licensed under the AL+GPL or GPL?
>> > (ie Implementations of Perl either are done from scratch or are
>> > free software.)  Until you began talking about your desire to
>> > see new implementations I had never really wondered at that...
>>
>>I'd assumed it would be the way it is now, with the choose your own
>>license policy. I'd hope that would continue.
>
>Either that or a very liberal license.  But both licenses that
>exist now, plus early comments by Tom C, plus my attempted draft
>all discourage the creation of a proprietary Perl based on the
>existing code-base.
>
>Is that in conflict with the overall direction of the Perl 6
>effort?  To my eyes this is a pretty big decision.

I'm not 100% sure, but I think so. There are a few different scenarios here.

1) Someone embeds perl in their app, but it's essentially invisible to the 
user. Maybe someone's app is written entirely in perl, or partially in perl 
and partially in something else.

2) Someone embeds perl in an app to use as the app's scripting language. 
(Imagine StarOffice or Word Perfect with perl as the scripting language 
instead of basic) Perl is not the point, it's just convenient and may match 
well with what needs doing.

3) Someone embeds perl in an app because they want to provide perl. This 
includes things like mod_perl, for example, or perl embedded in another 
webserver app.

4) Someone writes a new version of piece X of perl, for example a better 
optimizer or a backend that interfaces into a compiler's back end. (Like 
GCC or Digital's GEM compiler backend) Perl *is* the whole point here.

5) Perl *is* the only language you can work with on a device.

Each of these has its own set of licensing issues, and I've listed them 
from least to most visible.

#1 would seem to be the least contentious, and I think we should definitely 
allow it.

#2 is a little dodgier, but I also think we should be all for it. Hell, 
I'd  be happy if, because of it, M$ dumped Visual Basic as an embedded 
language for Office and used perl instead. (I think I may be in the tiny 
minority here... :) Regardless, for most of the apps I've had to do 
scripting for, perl'd be a better choice than what's provided.

#3's sort of less contentious than #2. Mod_perl's a keen thing, and it and 
things like it (for example the AS thingie that lets you do the same if 
you've had IIS inflicted on you) are the norm, which folks are used to.

#4 is the one I'm most concerned with, and odds are the one that'd flip 
people out the most. I *want* to have a perl compiler that spits out highly 
optimized Alpha or Sparc executables. Heck, I'd take mediocre ones (if we 
linked into GCC). This one has two problems. Linking in to the GCC backend 
has GPL issues, and linking in to something commercial like Sun or Digital 
(Sorry, Compaq's) compiler back end has other license issues if they decide 
to distribute the resulting executable.

#5, oddly enough, is likely to be the one least concerned with the AL, 
since the actual execution engine will probably be custom-written, and just 
take the bytecode the bytecode compiler spits out. Regardless of how we may 
feel about, say, a Furbie's native language being perl (I think it'd be a 
cool thing personally), if they do their own execution engine that takes 
bytecode there's not much we can do except maybe help.

Just to make things even more fun, remember this diagram?

+--------+   +-----------+   +--------+   +-------+
|Lex/toke|-->|to bytecode|-->|optimize|-->|execute|
+--------+   +-----------+   +--------+   +-------+

Every place there's an outbound arrow we plan on having a save to disk 
feature, and all the inbound arrows will (hopefully) have a load from disk 
feature. Which means even if we do get really cranky about folks replacing 
the execution engine with their own code, they can completely ignore out 
license by just reading the bytecode off disk, which is pretty much what 
they'd get from the optimizing block there *anyway*.

Given that the license can be so trivially worked around, I'd as soon just 
make it legit so the workaround's not needed.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to