[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Consideration for Rust contributions in Emacs
From: |
Po Lu |
Subject: |
Re: Consideration for Rust contributions in Emacs |
Date: |
Tue, 11 Apr 2023 20:39:20 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Po Lu <luangruo@yahoo.com> 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
[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’re
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...