Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Jan 2019 08:22:32 -0800
From:      Enji Cooper <yaneurabeya@gmail.com>
To:        Eric McCorkle <eric@metricspace.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Speculative: Rust for base system components
Message-ID:  <361CCB81-AEB6-4EAC-9604-CD8F4C63948C@gmail.com>
In-Reply-To: <e954a12f-5d23-7a3f-c29b-c93e1250965c@metricspace.net>
References:  <201901021829.x02IT4Kc064169@slippy.cwsent.com> <e954a12f-5d23-7a3f-c29b-c93e1250965c@metricspace.net>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Jan 3, 2019, at 04:46, Eric McCorkle <eric@metricspace.net> wrote:
>=20
> On 1/2/19 1:29 PM, Cy Schubert wrote:
>=20
>>> I'm all for discussion and criticism of this, that's why I posted it,
>>> but I don't think these kinds of false equivalences are helpful.
>>=20
>> Actually it is helpful. Without a solid proposal of a new feature or=20
>> userland utility to be imported into base that requires the support of=20=

>> a language not already in base, the implication of the original email=20
>> starting this thread was to rewrite FreeBSD using rust.
>=20
> That doesn't represent what I wrote at all, and is bordering on a
> strawman argument.  Nobody to my knowledge is suggesting rewriting
> everything, nor would that be possible.
>=20
>> In reality we should rely more on ports. Over the years this business=20
>> has become more fragmented. Each year we see new languages being=20
>> developed and used. Importing new shiny objects into base is=20
>> unsustainable. IMO the momentum is behind containerization,=20
>> specifically kubernetes and docker-like containers. That is today. The=20=

>> next year or two will introduce new technologies and shiny objects=20
>> which we will likely need to introduce here to remain relevant. We=20
>> should be looking to reduce the footprint of base, introduce new=20
>> technologies in ports (ports are much easier to build from scratch,=20
>> maintain, and update than base). Additionally the idea of meta-ports=20
>> that install groups of packages would make building purpose-built=20
>> systems a breeze for our user base, similar to what anaconda does, like=20=

>> a FreeBSD based LAMP (FAMP) stack package that installs all the=20
>> necessary bits with one pkg install command.
>=20
> And that seems to be the point of convergence in all this, which is fine
> by me.  I was looking to discuss the options and figure out the best way
> forward.

Going back to my previous statement, I think writing a service monitor (to w=
ork alongside init and rc) in modern C++/rust would be a good item to undert=
ake.

I=E2=80=99d be willing to do this with someone else, as a research project/t=
o demo how rust could be used.

Given prior comments about rust binary sizes and the fact that the default l=
inking option is mostly static, a =E2=80=9Cmission critical binary=E2=80=9D l=
ike this (or rescue?) would be a good candidate for rust.

Cheers,
-Enji

PS let=E2=80=99s call the discussion mostly closed and start working on prot=
otypes instead of beating a dead horse further.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?361CCB81-AEB6-4EAC-9604-CD8F4C63948C>