rcs

Jonathan Anderson jonathan at FreeBSD.org
Tue Oct 8 15:59:15 UTC 2013


On 8 October 2013 16:04, <sthaug at nethelp.no> wrote:
 > - For some of us, the attraction of FreeBSD is that it is a tightly
 > integrated system, and the base contains enough useful functionality
 > that we don't *have* to add a lot of packages.
 >
 > - Each package that is moved out of the base system means less useful
 > functionality in the base system - and for me: Less reason to use
 > FreeBSD instead of Linux.
 >
 > I absolutely see the problem of maintaining out-of-date packages in
 > the base system, and the desirability of making the base system less
 > reliant on GPL. I'm mostly troubled by the fact that there seems to
 > be a rather strong tendency the last few years of having steadily
 > less functionality in the base system - and I'm not at all convinced
 > that the right balance has been found here.

I think this is the core problem at the root of many discussions
besides this one. What is the base system?

FreeBSD users tend to agree that we like a self-contained wad of stuff
called The Base System but disagree quite strongly about what should
be in it. There are several approaches to the problem, ranging from
concrete and specific ("exactly what shipped with 4.4BSD", a.k.a.
Originalism) to principled but open to interpretation ("what 4.4BSD
would ship if it were released today", a.k.a. Founders' Intent).

We will never all agree on exactly what should be in base vs
ports/packages, but can we perhaps build consensus around principles?

When you first take it out of the box, does The Base System need to be:

  - self-bootstrapping
  - POSIX-compliant
  - administerable
    - with local shell
    - with local tools (e.g. RCS, vim, git...)
    - with remote shell (SSH)
    - with remote tools (e.g. Puppet)
    - with "enterprise" integration (e.g. Kerberos, LDAP, 802.1x, SMB...)
  - useful for end-user workloads:
    - [cross-]building FreeBSD
    - [cross-]building {program X in language Y}
    - file server
    - DNS server
    - Kerberos server
    - SVN server
    - Postgres server
    - Web server
    - Hadoop node
    - X server
    - desktop
  - able to install packages / build ports to do the above
  - able to run Linux binaries

?

I think we all agree with the first two items, but where should we
draw the line?

Suppose we distributed install media with The Base System + some
packages tailored to a particular environment; would that change what
needs to be in The Base System? If "FreeBSD Enterprise Edition" or
"FreeBSD Hacker Edition" shipped with The Base System plus whatever
packages you need for that environment/workload, and if the installer
knew how to install those packages, could The Base System itself be
smaller, e.g. just what we need to bootstrap FreeBSD itself?


Jon
--
Jonathan Anderson

jonathan at FreeBSD.org


More information about the freebsd-current mailing list