Re: We know what you need, and we'll push it down your throat.

[prev] [thread] [next] [lurker] [Date index for 2006/12/29]

From: demerphq
Subject: Re: We know what you need, and we'll push it down your throat.
Date: 11:17 on 29 Dec 2006
On 12/29/06, Abigail <abigail@xxxxxxx.xx> wrote:
> On Thu, Dec 28, 2006 at 12:10:13PM -0600, Peter da Silva wrote:
> >
> > 1. Perl is not an open system. There's only one source tree for Perl, and
> > the API is still under Larry Wall's control.
>
> Yes, for Perl5, there's currently one source tree. But this wasn't
> true in the past (Perl on for Windows; macperl), and isn't true for
> perl6. For perl6 there are currently two ongoing implementations:
> Pugs, implemented in Haskell, and Parrot, a virtual machine for dynamic
> languages implemented in C.
>
> The fact that there's one source tree for Perl has several not unrelated
> causes: Perl is a moving target; there's no formal specification; perl
> is complex, there just aren't enough people who are both willing and
> knowledgable to do another implementation of Perl. There's probably also
> less reason to have more than one Perl implementation than there is to
> have more than one Unix implementation, or more than one C compiler.

Part of the reason there is only one source tree is the source control
system and patch application model that we use.

We use perforce with a small number of committers. Only committers
have direct access to the source control repository in any way.

I personally would prefer we switch to an alternate source control
system that supports distributed repositories. In fact at some point
in the future I plan to propose that we switch to git for exactly this
reason.

I have no problem with a small number of committer having control of
the main tree. However it annoys me no end that I cant have read
access to the repository, and that the only way I can interact with it
is via the web or by synchorinizing patches. I would very much prefer
to be able to provide a git patch with my full local change history
than the current approach.

The truth is however that doing any of this is work, and that
Activestate currently funds the source control set up in terms of
server maint and etc and unless they agree or somebody else sets up
with the required funds it probably wont happen.

> OTOH, there is PCRE (Perl Compatible Regular Expressions), a C library
> implementing Perl style regular expressions.

And there is dialog between Philip and myself regarding syntax changes
in the regex engine. In fact some changes made in the 5.9.5 line are
now effectively locked in because Philip implemented them for
compatibility in PCRE 7 (released a few weeks ago.)

> As for the API under Larry Wall's control, perl5 is maintained/developed
> by p5p, an open mailinglist where anyone can send in patches, propose
> change, etc. A handful of people have commit bits, and one person acts
> as chief executer officer. A function that rotates.

The only annoying thing about our model is that non committers have no
direct access to the repository.

> I'd say that Perl is an open system. One is free to write a another
> implementation - and you can freely use the current source code to
> seed your implementation.

Yes, its always possible to fork. Why one would do so I dont know, but
it is possible.

Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
There's stuff above here

Generated at 03:02 on 01 Jan 2007 by mariachi 0.52