From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Consideration for Rust contributions in Emacs Date: Tue, 11 Apr 2023 20:39:20 +0800 Message-ID: <87v8i2lhjb.fsf@yahoo.com> References: <878rhuc79x.fsf@gmail.com> <66c86c61-93ac-4723-81a4-ced034f61550@Spark> <87a6295tf7.fsf@yahoo.com> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28897"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Sean Allred , emacs-devel@gnu.org To: Troy Hinckley Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 11 14:40:34 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pmDIY-0007K4-KM for ged-emacs-devel@m.gmane-mx.org; Tue, 11 Apr 2023 14:40:34 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pmDHm-0001u6-2m; Tue, 11 Apr 2023 08:39:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pmDHc-0001sL-NN for emacs-devel@gnu.org; Tue, 11 Apr 2023 08:39:37 -0400 Original-Received: from sonic301-31.consmr.mail.ne1.yahoo.com ([66.163.184.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pmDHa-0001rb-8q for emacs-devel@gnu.org; Tue, 11 Apr 2023 08:39:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1681216771; bh=ufcU9oxF78IpkPWuf2/Px+vIjxtQV+phF4jUVzfVwb4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=Ghu+vK9LM+rJEmYA5I6NubtHRiC7X2U3c2efhEgVyqXhOf28OMWgOKfuIGRSnTU/Uh0tZKNblovqk2Koin1WGPru7/vP2N69QHozbBBoz91DVvHSKPgFkS7/cleqa9RRJONXT2udmeIT50YTxanxjl34GDe3JUvWppQ8Wmczjz0/jZhH7c2UHvU5kThwQ2F/jmVH7eRhrOrcv/NAq9E+MkPGJA+KCKFSp2SYof/aoMSb9q2pcsK4VyynINlxBbHkyFEiavvfl0Sev97vkMpRQVZFRc2N/egv/6QDA9DLY4RiQD6BM91DHYnq3qOhvkwQD2W8JYmWtxTiTLAkPqlVpg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1681216771; bh=VTVrbA+qVR0R25x7Y5NzxWvSX7LPdhQ5APrswCBCm/d=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=iMtzHMArDRVa2mnEp1wGeyJ0+e4gUHZAtvY7R0zl+b29P0FvSVY2uQOvhBBp28Mi3Q8iYQ3LBEcuXUpdtzVCUvAqAjjPTledIk1hwmwKw6CthahdG+88XdEcofuKkpmYJOP1F5RVnnh9anHq82LJiMY7rvQR4FCQAyMnt5FcRswiaPZ743RwnsCL5jloXRCMrsmJd2dnO4n+YREIhw1NTVUiX8vcfHZSJMn/P9+Ei+IgwSvy2E5KOfXR5M1rPD9g32Np8JyADhqWopyv46yNpJFhraA0MEGZu4rZRQ2BD3zdlNrUR0xmpHpfymXPZLIc6TAKkc0hqZdis1HDzCT/mA== X-YMail-OSG: i4HBKFEVM1m.nS8DGXfWlNj3PyNMuk5JOYennWkQrB_kYytpilkmyV45oOfk_M1 0uGD0yHgo4wnH8k6y_3PxmimoZthbbGxrFtRfwRJkxBgyKXT7R.uxItAdUChz.Hgb64kIKlppfKQ GwQbUUJLT6BPTYwuBjmDgyEcaMjyKYxfawC_XK62WKIeyk85r8u3QXJXXuAiEDxuUcWp5bFwUG_G tNaHiJ5FtBfWrl80tA7SLG2JN5GGK.bc1ojxOyJ0vjzwAtx9lSDPo1gwraRL2dlBGETmCNCwUxva 1mJuSuUJRFokumfTj033IL0r4Lchni2pBlDn8rmDLyMg.DHqOw7bm2siMvcYR2Bvx_T4biQiPq1S lDJ65DFxHA4L2BICJWZv60kvkjv0d6YAkPCZV1MRQLXcqAFun_No_dzFf0v3oILxyX_Y96pmTfmK 4C.k0hiE5lRMpmfpT0_d3l_Gb92TEh6YIDNJEmgA7zNGX6i16Z0ZS7T50sY0VuuhBeAHIS8Rtb_1 3shLzemaVJj3QteYp8n33B_QUM.fWBRAmBBosS88xW0ucmMhrKuQC5K7E2lpsh_Uhp4jR9JhBvqJ LfJ0oW2WQM.ZcLk2RvniLC0RIjkd2dsOeBzM6r.XtrIS7vV5eFykCO.9kjCCbZqNC8JwWt6DG3be AJ207xYm26CGag5g02xjMvNX9u4WowKJ.vaj_0IS2FtCOim1U2Y8jX.U_vvuRb9wultp0doru5Tl ZOxnYBX4zP7ad6UtwvtoCIgkHooQF77B_AqU5MOI6saZamGc6MrgabdCC7Wp1_5S34Rq4F6PRvt8 0Ujz0fW3.6uYQCRxmnyxLkOIbN8uyFG7dCqW.bvYrl X-Sonic-MF: X-Sonic-ID: 09770eac-ef0b-40a2-a70b-c1bdf712980f Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Tue, 11 Apr 2023 12:39:31 +0000 Original-Received: by hermes--production-sg3-6d6fb994f6-g4nzb (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 3a10707b1f13de64f4c91eee27220a55; Tue, 11 Apr 2023 12:39:27 +0000 (UTC) In-Reply-To: <87a6295tf7.fsf@yahoo.com> (Po Lu's message of "Mon, 23 Jan 2023 20:25:48 +0800") X-Mailer: WebService/1.1.21365 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.184.200; envelope-from=luangruo@yahoo.com; helo=sonic301-31.consmr.mail.ne1.yahoo.com X-Spam_score_int: -7 X-Spam_score: -0.8 X-Spam_bar: / X-Spam_report: (-0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=0.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:305236 Archived-At: Po Lu writes: > There are no real ideological reasons. This has changed. From my POV, Rust is now completely unsuitable for writing code for Emacs. The Rust Foundation has published a draft trademark policy. They will apply this policy to all use of the Rust trademark, including towards documentation surrounding other implementations of the Rust language. The primary problem with this proposed policy is its attitude towards use of their trademarks in copies of software, especially modified versions of the Rust compiler. >From their policy: 4.1.1 Distribution of unmodified source code or unmodified executable code we have compiled When you redistribute an unmodified copy of the Rust software, you are not changing the quality or nature of it. Therefore, you may retain the Word Marks and the Logos we have placed on the software to identify your redistribution -- whether that redistribution is made via physical products, physical media, or download, and whether that redistribution consists of unmodified source code or executables. If you autogenerate unmodified documentation created by the Project using rustdoc, you do not have to remove any Word Marks or Logos. This only applies if you are redistributing an official distribution from the Rust Project that has not been changed in any way. 4.1.2 Distribution of executable code that you have compiled, or modified code See [cross-reference to ## Uses for which we are granting a license; ### Distribution of modified software] for cases where you may modify the software and use the Marks and Logos for it. You may also use the Word Marks, but not the Logos, to truthfully describe the origin of the software that you are providing, that is, that the code you are distributing is a modification of our software. You may say, for example, ``compiled from the Rust source at GitHub'' or that "we have included tools taken from the Rust project in our toolchain.'' You must also remove our Logos. If you are creating documentation and have modified it, you do not have to remove any Word Marks or Logos that appear in screenshots or in the text for illustrative or explanatory purposes. However, you must remove them where the use suggest that the Rust Foundation has published or endorsed your version of the documentation, such as on the cover. Of course, you can place your own trademarks or logos on versions of the software to which you have made modifications, because by modifying the software you have become the origin of that exact version. 4.1.3 Statements about compatibility, interoperability or derivation You may use the Word Marks, but not the Logos, to truthfully describe the relationship between your software and ours. Our Marks should be used after a verb or preposition that describes the relationship between your software and ours. So you may say, for example, "the Dungeness tool for the Rust compiler" but may not say "the Dungeness Rust compiler," which suggests that Dungeness is the source of the Rust compiler. Some other examples that may work for you are: [Your software] is written in the Rust language [Your software] can compile software written in Rust=20 [Your software] can be used in the Rust compiler toolchain [Your software] is based on the official Rust compiler 4.1.4 Rust the language versus Rust products and Project Rust is the name of a language, the name for software, the name of the project, and the name of the community. It must always be clear which one you are referring to when you use ``Rust.'' If there is a possibility of misinterpretation, you should amend your wording so that there can be no misunderstanding. For example, the term ``Rust compiler'' can be interpreted as both the compiler distributed by the Project and any compiler that can compile the Rust language. If you are not referring to the compiler distributed by the Project, you must change the wording to make it clear that this is not the compiler distributed by the Project, such as ``ABC compiler for Rust.'' Here, several problems are apparent. First of all, there is an emphasis on the redistribution of source or binary code unmodified by anyone but the Rust developers: that in itself is not a problem, but it is concerning. 4.1.2, 4.1.3, 4.1.4, however, imply that it is forbidden to use the word ``Rust'' to directly describe modified executable code. For example, if you modify the Rust compiler in an unapproved manner, it can no longer call itself the ``Rust compiler''. Unfortunately, rewording each reference in the Rust compiler is not feasible, making the compiler effectively proprietary, as one cannot freely convey modified versions of the compiler. 4.2.1, 4.3.1 further expand on this: 4.2.1 Distribution of modified software You may use the Word Marks and the Logos for the distribution of a modified version of the Rust programming language, compiler, or the Cargo package manager, provided that the modifications are limited to: - code adjustments for the purpose of porting to a different platform, architecture, or system, or integrating the software with the packaging system of that platform; or - fixing local paths; or - adding patches that have been made available upstream and accepted, or submitted upstream and not yet rejected (but you must remove either the patch or the trademark once the patch has been rejected) 4.3.1 Use of the marks in toolchains or other software for use with Rust Using the Marks in the name of a tool for use in the Rust toolchain, a software program written in the Rust language, or a software program compatible with Rust software, will most likely require a license. The ``RS'' abbreviation can be used instead. Restricting redistribution of modified versions of the Rust compiler to simple ports, and making difficult the development of other Rust compilers. If you are writing Rust code for Emacs, please stop. As things are, that code is not going to be useful. The policy is also politically discriminatory: the policy's FAQ section contains Can I use a modified version of the logo on social media? In general, we prohibit the modification of the Rust logo for any purpose, except to scale it. This includes distortion, transparency, color-changes affiliated with for-profit brands or political ideologies. On the other hand, if you would like to change the colors of the Rust logo to communicate allegiance with a community movement, we simply ask that you run the proposed logo change by us by emailing the file to contact@rustfoundation.org with a description of the changes you=E2=80= =99re proposing. In the future, we intend to publish new versions of the Rust logo to accord with community movements (ex: LGBTQIA+ Pride Month, Black Lives Matter, etc.) and 5.3.1 contains: 5.3.1 Events & Conferences Events and conferences are a valuable opportunity to grow your network and learning. Please contact us at `Where to go for further information' below if you would like to hold an event using the Marks in the event name. We will consider requests to use the Marks on a case by case basis, but at a minimum, would expect events and conferences using the Marks to be non-profit-making, focused on discussion of, and education on, Rust software, prohibit the carrying of firearms, comply with local health regulations, and have a robust Code of Conduct. While not directly related to using Rust to write software, it sure makes me uncomfortable to think about producing long-lasting free software with a compiler under the firm grasp of developers who seem to care more about firearms restrictions and issues better left for soc.motss...