On Tue, May 19, 2020 at 10:19:23PM +0200, Dawid Czeluśniak wrote:
> 3. Are there people among this community who think that
> the base installation of OpenBSD should not include Perl
> and Perl-dependent programs and utilities?

I assume there are people in the community who think that OpenBSD should
not include a lot of things, fortunately it is not the community who
decides what OpenBSD becomes, but instead the developers.


> Looking at FreeBSD for a moment it seems like Perl left the
> base system in May 2002 (18 years ago)[0].
> In a nutshell the rationale was more or less the following[1]:
> 
> > It appears that having Perl in the base distro has
> > the following problems:
> 
> > 1. It increases the distro image size.

FreeBSD's minimal iso download is 370M while OpenBSD's is largest
install media is 450M, however if you are looking for a more minimal
install of OpenBSD, you can ~10M cd67.iso and avoid a little bit by only
installing the absolutely necessary sets.

https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.1/
http://ftp.openbsd.org/pub/OpenBSD/6.7/amd64/

In my opinion, the things that OpenBSD includes in the base system
provide an excellent trade-off between size and utility.

18 years ago, an extra 60M of installed files may have made a
difference.  These days, it's insignificant.


> > 2. It forces everyone to use the same version of Perl.

It forces everyone to use the same default version of perl, and in
exchange promises working packages for programs written in perl.  There
are several ways to manage having additional versions of perl installed
if you need them.  Both perlbrew and plenv come to mind.

https://perlbrew.pl/
https://github.com/tokuhirom/plenv


> > 3. If someone tries to install over that version or just even patch it,
> > it can break stuff in BSD which needed the old version.

I patch the in-base perl regularly, both breaking stuff and not.  Not
knowing what you're doing is a not only a great way to learn, but also a
great way to break stuff.  


> > 4. Installing multiple copies imposes weird symlink tricks
> > or else breaks other stuff.

See above for some ways to do this that work really well, these days
that's mostly a solved problem, but it does require both reading and
understanding.


> All comments and opinions are appreciated. Thanks!

Oh good.  Perl fits a really important niche between shell scripts and
C, its combination of "whipupitude" and "manipulexity" make it great for
a large range of tasks.  While there are now several languages that also
fit into that space, choices between them boil down to personal
preference and momentum.  The fact that there are so many lines of perl
doing the amazingly complex work of managing the package system means
that it is here to stay.

Unix is full of text streams and having a tool available that excels at
processing text is a significant benefit to the OpenBSD base system.

Having perl in base was one of the things that brought me joy when I
started using OpenBSD and it continues to bring me joy.



> [0] https://lists.freebsd.org/pipermail/freebsd-announce/2002-May/000823.html

Being the OpenBSD "Perl5 guy", I consider keeping OpenBSD's "base perl"
up to date well worth the effort and don't think it is a significant
amount of work.  There has been some headway by the perl5-porters in
removing things from the perl core.  Go see the last few upgrade guides
where there are instructions on deleting the modules that have been
removed.

FreeBSD's incompatibility with the Perl 5 release cycle, where Perl gets
security updates for the current and previous release, would have meant
that the maintainer there would need to do significant work to backport
fixes to several old versions of perl.  That can be "hellish", but
fortunately OpenBSD does not have that particular problem.

Fortunately, I can count the number of backwards incompatible changes to
Perl since I've been using it on one hand, so importing those new
versions into OpenBSD is generally the work of only a few days, most of
which turns out to be uneventful testing that things still work.


> [1] https://bsd.slashdot.org/comments.pl?sid=32564&cid=3513689

See above.


l8rZ,
-- 
andrew - http://afresh1.com

I wish life had an UNDO function.

Reply via email to