From owner-freebsd-current Tue May 7 15:44:59 2002 Delivered-To: freebsd-current@freebsd.org Received: from storm.FreeBSD.org.uk (storm.FreeBSD.org.uk [194.242.139.170]) by hub.freebsd.org (Postfix) with ESMTP id 49C6537B407 for ; Tue, 7 May 2002 15:44:52 -0700 (PDT) Received: from storm.FreeBSD.org.uk (uucp@localhost [127.0.0.1]) by storm.FreeBSD.org.uk (8.12.2/8.12.2) with ESMTP id g47MipAi029584 for ; Tue, 7 May 2002 23:44:51 +0100 (BST) (envelope-from mark@grimreaper.grondar.org) Received: (from uucp@localhost) by storm.FreeBSD.org.uk (8.12.2/8.12.2/Submit) with UUCP id g47MipUF029583 for current@freebsd.org; Tue, 7 May 2002 23:44:51 +0100 (BST) Received: from grimreaper.grondar.org (localhost [127.0.0.1]) by grimreaper.grondar.org (8.12.3/8.12.3) with ESMTP id g47Mf0jV002339 for ; Tue, 7 May 2002 23:41:00 +0100 (BST) (envelope-from mark@grimreaper.grondar.org) Message-Id: <200205072241.g47Mf0jV002339@grimreaper.grondar.org> To: current@freebsd.org Subject: The future of perl on FreeBSD Date: Tue, 07 May 2002 23:41:00 +0100 From: Mark Murray Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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