From owner-freebsd-hackers@freebsd.org Wed Jan 2 08:39:33 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 99EE9143AAE6 for ; Wed, 2 Jan 2019 08:39:33 +0000 (UTC) (envelope-from Alexander@leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:313::1:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7569D8178B for ; Wed, 2 Jan 2019 08:39:30 +0000 (UTC) (envelope-from Alexander@leidinger.net) Date: Wed, 02 Jan 2019 09:39:24 +0100 Message-ID: <20190102093924.Horde.emgnGNrkrouphKMcRHe0yT5@webmail.leidinger.net> From: Alexander Leidinger To: Eric McCorkle Cc: freebsd-hackers@freebsd.org Subject: Re: Speculative: Rust for base system components In-Reply-To: User-Agent: Horde Application Framework 5 Accept-Language: de,en Content-Type: multipart/signed; boundary="=_LMLhx6bqGIoXRUpfbSeuB-z"; protocol="application/pgp-signature"; micalg=pgp-sha1 MIME-Version: 1.0 X-Rspamd-Queue-Id: 7569D8178B X-Spamd-Bar: ------ X-Spamd-Result: default: False [-6.82 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[leidinger.net:s=outgoing-alex]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[leidinger.net:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[leidinger.net,quarantine]; MX_GOOD(-0.01)[mailgate.leidinger.net]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.988,0]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; IP_SCORE(-0.73)[asn: 34240(-3.61), country: DE(-0.01)]; ASN(0.00)[asn:34240, ipnet:2a00:1828::/32, country:DE]; RCVD_TLS_ALL(0.00)[] X-Mailman-Approved-At: Wed, 02 Jan 2019 11:29:52 +0000 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 08:39:33 -0000 This message is in MIME format and has been PGP signed. --=_LMLhx6bqGIoXRUpfbSeuB-z Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Quoting Eric McCorkle (from Sun, 30 Dec 2018=20=20 21:18:33=20-0500): > Before I begin, I want to be clear that everything here is in the realm > of speculative, long-term discussion. My goal is to start a > conversation, not to propose anything concrete right now. > > > > I've talked at several conferences about the possibility of bringing the > Rust programming language into the base system, with the intent of > making it a viable implementation language for parts of the base system. > I believe the potential security and stability benefits of doing this > are *substantial*. This would obviously be a serious undertaking, but I > think the benefits are worth the cost. For the rest of this mail, I'll > outline my position and present the important facts that support it. After reading this thread I see several issues here. The suggestion from me here is to remove excuses. The issues I see (no particular order, and you can replace "rust" by anything which may or may not be better suited for the task): - chicken and egg problem (solution: make it possible to use it easily, e.g. bsd.rust.mk (name doesn't matter) as a port to try it, wiki page to explain how to make it possible + HOWTOs regarding where and how to use it (library/program/kernel module/...), links to code examples) - if all what you know is a hammer, then every problem looks like a nail (a lot of people seem to talk about things they have never seen... me included, solution: links to examples / snippets of how what we do currently can be done better with rust and descriptions about what rust is doing for people which learned C 20 years ago and never looked at something else and are not "language nerds") - performance matters, at the same time it doesn't if we want safe code (we don't talk about replacing everything with rust, time critical parts can stay in C, new items may benefit from rust... solution: show how to get (enough) speed, show how to reduce size (e.g. name this non-standard compiler option instead of having people talking about one), show that you get more (safety) with less (code)... this is overlapping with the previous item) You will not get a endorsement here, you will not get an approval here, and you should ignore people which talk down the benefits. If you believe in your opinion you need to remove excuses. Make a little item list of what is needed. Make it public (e.g. in the wiki). Start with providing possibilities. Mention what you have (When you have at least something) in the periodic status reports, get some people to join to try it, provide some interesting additions or replacements to let people evaluate it. Bye, Alexander. --=20 http://www.Leidinger.net=20Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_LMLhx6bqGIoXRUpfbSeuB-z Content-Type: application/pgp-signature Content-Description: Digitale PGP-Signatur Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJcLHi7AAoJEBINsJsD+NiGFrMP/0BkYzfXZVALVdeHf4NxGl7+ RI0LShlDgvRAVXoCVJG8a6ZkIVFjxqSaSkEoNspU6BpMXrvNG56ugJAz46O2Tq9V ymY5s+nKFZzqxa0ri+9KnftYo4wQ0BQWc+y68be6kOsULlWpC7000lC9SZF+3HHA jkdjj3wr4Y+qok7wLRL+XMEMehejwxFqKmGY1bQY15e25XE9p3xswGm+bmAUozlq 7Vdcz++sj2sSa+nhuU+mVaqv5zEefPfO+Vx65TuSykttPC1PLfQJDDENQ1wXNbSG GAH1PXtyea8A1CyWuY3vfwUuRcLBCMi2+mnY8L/C5pBRo7zb54t2KonSXdQfpXtM VgV5E49B5IZKb3sTXakc7wfOFwfYJZ5X4mislDhxcXfqdxbZSCsO0ipQIPMHcy60 NtDCc9kaDZAQWELT1PYdgfv2rWJ1gxiQSrtcMH9hAl8fONd81hD9CXa3Ut/Xl3pC U9VMjqWTaWtDU9pgaKGTgFomNR5DlqvMy9UyFXnD7iWn63RwVKBqPeX1F5a8btWG O6+R6dgRXxmSPr469PsOXc1JxmbNAhDr575VuVI8gOFsXD1wVR7o5i/Akt2kLcL8 4wjm1cL3UJdA7r6mS1dcP8vEhcWKq+3TKC8aR3mo7zdt1uLYON8YsnLRZFDcjwK7 MDp8T7VDKVgQdUeP+Mb7 =NAN6 -----END PGP SIGNATURE----- --=_LMLhx6bqGIoXRUpfbSeuB-z--