From owner-freebsd-hackers@freebsd.org Wed Jan 2 18:29:11 2019 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1F47142BE61 for ; Wed, 2 Jan 2019 18:29:10 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 93E756A615 for ; Wed, 2 Jan 2019 18:29:09 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id elGKgN6gcnBo4elGMgdwTc; Wed, 02 Jan 2019 11:29:07 -0700 X-Authority-Analysis: v=2.3 cv=J8fUEzvS c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=3JhidrIBZZsA:10 a=s1Xs-aBeAAAA:8 a=6I5d2MoRAAAA:8 a=BWvPGDcYAAAA:8 a=YxBL1-UpAAAA:8 a=TJ4FAKxvp3dUK_l3LRYA:9 a=CjuIK1q_8ugA:10 a=3eX8ohlDICUA:10 a=Ni4qwCKS2BbQ6fws8yIR:22 a=IjZwj45LgO3ly-622nXo:22 a=pxhY87DP9d2VeQe4joPk:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id A7DEE584E; Wed, 2 Jan 2019 10:29:04 -0800 (PST) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x02IT4EM064172; Wed, 2 Jan 2019 10:29:04 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x02IT4Kc064169; Wed, 2 Jan 2019 10:29:04 -0800 (PST) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201901021829.x02IT4Kc064169@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Eric McCorkle cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: Message from Eric McCorkle of "Tue, 01 Jan 2019 10:50:28 -0500." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 02 Jan 2019 10:29:04 -0800 X-CMAE-Envelope: MS4wfC6Wuj+0r1qAkoVqubeTCaiyn3/aGfcyNbCIMcXaGsBuqIqRsvwAR+l/5lnLlyboCdyQtZiPbdCG9Zw9Z+7CuMgOfaYT1c1H0LMEJaJmaj1EoevwQ7Ki YuidQ9ewdfbRgpnCDN8wcMc9vcUjrltR6NDbQrFSHwD8ggwrNqmpeRHoBfWw9fP/N+1dVBUWRyx8hfDTWgkMxG7yfC2ESqukST9U71L5yRcFZAuHyex2geJS X-Rspamd-Queue-Id: 93E756A615 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-4.40 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.zen.spamhaus.org : 127.0.0.11]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MX_GOOD(-0.01)[cached: spqr.komquats.com]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.97)[-0.975,0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-1.71)[ip: (-4.12), ipnet: 64.59.128.0/20(-2.42), asn: 6327(-1.94), country: CA(-0.09)]; RCVD_IN_DNSWL_LOW(-0.10)[138.136.59.64.list.dnswl.org : 127.0.5.1] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2019 18:29:11 -0000 In message , Eric McCorkl e writes: > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > --tu7wwqLaLNvV59iK66RVuCN4u9LNuo2ra > Content-Type: multipart/mixed; boundary="40zQJvQINjrS8i7U0w9C4z0duC53dUJgc"; > protected-headers="v1" > From: Eric McCorkle > To: freebsd-hackers@freebsd.org > Message-ID: > Subject: Re: Speculative: Rust for base system components > References: <20190101045638.D280E1F56@spqr.komquats.com> > In-Reply-To: <20190101045638.D280E1F56@spqr.komquats.com> > > --40zQJvQINjrS8i7U0w9C4z0duC53dUJgc > Content-Type: text/plain; charset=utf-8 > Content-Language: en-US > Content-Transfer-Encoding: quoted-printable > > On 12/31/18 11:56 PM, Cy Schubert wrote: > > What would having another language in base buy us? This reminds me of a= > couple of months ago at OpenHack Victoria someone was trying to convince= > me that the kernel needed a JavaVM. (Sure we each had a few beers) but t= > he similarity of this discussion doesn't escape me. Kernel modules and fu= > nctions written in java^H^H^H^H rust: why? > > I don't think that's a fair comparison at all. Rust is a systems > language built around zero-cost abstractions that is usable for > developing real embedded code. Java is a completely different animal, > and there is no reasonable case for a Java VM in the kernel/loader. What is the proposal then? Just to have another language in base? If it's just that, wouldn't the port suffice? > > 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. Actually it is helpful. Without a solid proposal of a new feature or userland utility to be imported into base that requires the support of a language not already in base, the implication of the original email starting this thread was to rewrite FreeBSD using rust. There is equivalence as the argument that evening was, "there are more Java developers than C developers and replacing C with Java would benefit by adding to the pool of possible contributors." In reality we should rely more on ports. Over the years this business has become more fragmented. Each year we see new languages being developed and used. Importing new shiny objects into base is unsustainable. IMO the momentum is behind containerization, specifically kubernetes and docker-like containers. That is today. The next year or two will introduce new technologies and shiny objects which we will likely need to introduce here to remain relevant. We should be looking to reduce the footprint of base, introduce new technologies in ports (ports are much easier to build from scratch, maintain, and update than base). Additionally the idea of meta-ports that install groups of packages would make building purpose-built systems a breeze for our user base, similar to what anaconda does, like a FreeBSD based LAMP (FAMP) stack package that installs all the necessary bits with one pkg install command. In summary we should pair down base and use ports to our advantage. Unless the proposal is to add some feature written in rust that cannot live in ports or if the proposal is to rewrite FreeBSD into rust (which I vehemently disagree with), there is no reason to consider adding rust to base. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few.