Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 May 2002 23:41:00 +0100
From:      Mark Murray <mark@grondar.za>
To:        current@freebsd.org
Subject:   The future of perl on FreeBSD
Message-ID:  <200205072241.g47Mf0jV002339@grimreaper.grondar.org>

next in thread | raw e-mail | index | archive | help
Hi all

This is likely to be the mother of all bikesheds, so PLEASE
restrain yourselves!

The recent removal of the CGI perl module from CURRENT started
a very lively discussion on both the perl lists and some FreeBSD
ones.

The issues can be summarised as follows (interested parties, please
make sure I'm being honest here):

1) The perl community feel that perl is an "all-or-nothing" affair,
and a removal of any part of the distributed package is a violation
of the "perl contract" (not license - what folks expect).

2) Perl is growing very fast, and a future release of perl
is slated to be 45MB of source code. This is simply too much
for FreeBSD to use in the "base OS".

3) FreeBSD as an OS has had very modest perl needs. Not much more
than the core language (interpreter) is really needed for things
like building the kernel (moot point, the scripts are now rewritten
in awk/sh/C). There are some userland scripts, and those really only
need to core language to function (in most cases, any modules are
used for convenience). Today, FreeBSD does not need perl _at_ _all_
for a make world or to build the kernel.

There are some solutions:

1) leave perl in the base OS and deal with the library bloat.
   PRO: does not violate "perl POLA", satisfies perl community.
        Provides high-level scripting language in the base OS.
   CON: bloody nightmare to maintain, fragile as hell, breaks.
        will require that future library bloat from perl project
        be taken; this is likely to be heavy.

2) split perl down to base language/interpreter for OS use, and
   make the libraries a port.
   PRO: supported by some senior(?) perl community committers (as
        discussed on a perl list *NOTE* _NOT_ FreeBSD committers!),
        who have proposed that perl be split into two main parts:
        1) perl-base   2) perl-libraries. the base changes much
        less than the libraries, and would be very suitable for
        base OS's. perl-library is fairly mobile and would be
        excellent ports-fodder. 
   CON: is not here yet (from perl crowd). We'd have to roll-our-
        own in the meanwhile. base-perl is not "full-perl"
        until a port (perl-library) is installed. the ports
        collection will need some work to handle this.
   I've already rolled a perl-base for FreeBSD/Perl-5.6.1 as a
   proof of concept. It will not have the cross-build breakages
   that the current kluge-up has. If wanted, I could commit it
   straight away. I'd need to build a perl library to go with
   this. This is a bit more work, but not hard.

3) Ditch perl from the base system completely, and rely on the
   ports system for FreeBSD's perl requirements.
   PRO: Speed up "make world", debloat source tree, prevent
        many cross-build breakages.
   CON: No high-level scripting system in the tree by default
        (need to install a port to get one). The ports collection
        will need some work to handle this.
   I've tested a build of this, including kernel. Some apps
   (like sockstat) break. I could commit this if it is wanted.

4) Other?
   Please don't overly theorise here :-). We need engineering,
   not philosophy.

Once this has been discussed, if there is a clear line of action,
I will take that, otherwise I may Call For Votes, or some such
tie-breaking action.

What say you?

*Dons fireproof underwear* :-)

M
-- 
o       Mark Murray
\_
O.\_    Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205072241.g47Mf0jV002339>