Rust Foundation Trademark Policy Issue
- Free Libre Open Source Software
- Rust Foundation
- Rust Foundation Trademark Policy
- Are Rust and Cargo Free Libre Open Source Software?
- Impact on Free Libre Open Source Software Projects
- Free Software Foundation Licensing Team
- Operating Systems Not Rebranding Rust
- Options For Operating System
- Rust Foundation Desirable Actions
- Discussion Informing This Article
- Contributing
Free Libre Open Source Software
The Free Software Foundation publishes the Free Software Definition.
The Open Source Initiative publishes the Open Source Definition
The Free Software Definition says:
nearly all open source programs are in fact free
As the Rust Foundation’s trademark policy impacts Free Software and Open Source communities the neutral term Free Libre Open Source Software will be used.
Rust Foundation
In this Mozilla Foundation announcement it says:
The Rust Foundation will be the home of the popular Rust programming language that began within Mozilla.
In this Rust Foundation announcement it says:
Mozilla, the original home of the Rust project, has transferred all trademark … to the Rust Foundation.“.
Section 1.3 Purpose of the Rust Foundation Bylaws says that a part of the primary purpose of the Rust Foundation is to:
manage and steward the Rust trademark and other assets of the Foundation
Rust Foundation Trademark Policy
The trademark section of the Rust readme file in the Rust repository says:
The Rust programming language is an open source, community project governed by a core team. It is also sponsored by the Mozilla Foundation (“Mozilla”), which owns and protects the Rust and Cargo trademarks and logos (the “Rust Trademarks”).
If you want to use these names or brands, please read the media guide.
The trademark section of the Rust readme file links to the Rust media guide.
Rust Media Guide
The Rust media guide says:
This document is not an official statement of Mozilla trademark policy, but serves to clarify Mozilla’s trademark policy as it relates to Rust.
Distributing Copies and Modified Versions
The “Uses that require explicit approval” section of the Rust media guide says:
Distributing a modified version of the Rust programming language or the Cargo package manager and calling it Rust or Cargo requires explicit, written permission from the Rust core team.
In the Rust issue tracker in issue 53287 Niko said:
You are correct that we intended the trademark to apply when distributing a package or other binary called “Rust” – and in particular that if modifications are made, then we would expect a trademark request"
Are Rust and Cargo Free Libre Open Source Software?
The “Rules about packaging and distribution details” section of the Free Software Definition says:
Rules about how to package a modified version are acceptable, if they don’t substantively limit your freedom to release modified versions, or your freedom to make and use modified versions privately. Thus, it is acceptable for the license to require that you change the name of the modified version, remove a logo, or identify your modifications as yours. As long as these requirements are not so burdensome that they effectively hamper you from releasing your changes, they are acceptable; you’re already making other changes to the program, so you won’t have trouble making a few more.
Given that Rust and Cargo may be Free Libre Open Source Software even thought the Rust Foundation’s trademark policy requires permission or rebranding to distribute copies or modified versions.
Section “4. Integrity of The Author’s Source Code” of the Open Source Definition says:
The license may require derived works to carry a different name or version number from the original software.
However in the Trademark section of the Free System Distribution Guidelines it says:
In extreme cases, these restrictions may effectively render the program nonfree. It is unfair for someone to ask you to remove a trademark from modified code if that trademark is scattered all throughout the original source.
Frequency of Trademarks in Source Code
Running
grep --recursive --ignore-case rust * | wc
--lines
on the rust source code repository show that rust occurs 51,774 times.
Running
grep --recursive --ignore-case cargo * | wc
--lines
on the rust source code repository show that cargo occurs 3,975 times.
Running
grep --recursive --ignore-case rust * | wc
--lines
on the cargo source code repository show that rust occurs 6,197 times.
Running
grep --recursive --ignore-case cargo * | wc
--lines
on the cargo source code repository show that cargo occurs 20,464 times.
Impact on Free Libre Open Source Software Projects
If Rust and Cargo are not free libre open source software then that would impact many free libre open source software projects.
One example is the Linux kernel. Recently there was a request for comment about adding support for Rust to the Linux kernel which received a response from Linus Torvalds. This would impact Linux forks such as Linux-libre.
Another example is Firefox. https://servo.org/ says:
Servo is written in Rust, and shares code with Mozilla Firefox
This would also impact Firefox forks such as LibreWolf, IceCat and Tor browser.
Free Software Foundation Licensing Team
The Free Software Foundation’s licensing team will be taking a serious look at the Rust Foundation trademark policy issue.
https://lists.gnu.org/archive/html/directory-discuss/2021-06/msg00001.html
Operating Systems Not Rebranding Rust
This is a broad sample of operating systems that are not rebranding Rust when they distribute copies or modified versions of Rust. This list is in alphabetical order.
Two examples of operating systems that distribute modified versions of Rust without rebranding are Guix and Void.
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/rust.scm
https://github.com/void-linux/void-packages/tree/master/srcpkgs/rust/patches
Permission to Use Trademarks
Maybe these operating system have received permission from the Mozilla Foundation or the Rust Foundation to distribute copies or modified versions of Rust and Cargo.
Unclear Trademark Policy
People packaging Rust for operating systems (many are volunteers) would likely check the Rust source code repository to see what licenses apply and check if those licenses are free libre open source licenses using resources from the Free Software Foundation or the Open Source Initiative. It seems unlikely that they would check the Rust media guide for further restriction. Even if they did check the Rust media guide it is not clear what further restriction the trademark policy requires.
Options For Operating System
Operating systems have several options for how to deal with the Rust Foundation trademark policy issue.
Passive Approach
Do Nothing
- Advantages
- No action needed.
- The Rust Foundation trademark policy may not be enforceable see the Notes on Trademark Enforcement section below.
- The Rust Foundation may not want to enforce it’s trademark policy.
- Disadvantages
- The Rust Foundation could try to enforce it’s trademark policy.
Notes on Trademark Enforcement
https://en.wikipedia.org/wiki/Trademark says:
A trademark that is popularly used to describe a product or service (rather than to distinguish the product or services from those of third parties) is sometimes known as a genericized trademark. If such a mark becomes synonymous with that product or service to the extent that the trademark owner can no longer enforce its proprietary rights, the mark becomes generic.
Once trademark rights are established in a particular jurisdiction, these rights are generally only enforceable in that jurisdiction, a quality which is sometimes known as “territoriality”. However, there is a range of international trademark laws and systems which facilitate the protection of trademarks in more than one jurisdiction.
Trademarks rights must be maintained through actual lawful use of the trademark. These rights will cease if a mark is not actively used for a period of time, normally five years in most jurisdictions. In the case of trademark registration, failure to actively use the mark in the lawful course of trade, or to enforce the registration in the event of infringement, may also expose the registration itself to become liable for an application for the removal from the register after a certain period of time on the grounds of “non-use”.
https://en.wikipedia.org/wiki/Genericized_trademark further covers genericized trademarks.
Active Approaches
As a group ask the Rust Foundation to change it’s trademark policy
- Advantages
- More likely that the Rust Foundation will consider the request of a group of operating systems instead of request made by just one.
- Disadvantages
- The Rust Foundation may not change it’s trademark policy.
Rebrand Rust and Cargo
- Advantages
- Resolves the Rust trademark policy issue.
- No coordination with any other groups is required as one operating system can do this independently.
- Other operating systems can take advantage of the efforts to rebrand Rust and Cargo.
- Disadvantages
- Work is required to evaluate the feasibility of rebranding Rust and Cargo.
- If rebranding is feasible then the work of rebranding Rust and Cargo needs to be done.
Alone ask the Rust Foundation to change it’s trademark policy
- Advantages
- No need to coordinate with other operating systems.
- Disadvantages
- The Rust Foundation may not change it’s trademark policy.
Alone ask the Rust Foundation for permission to use trademarks
- Advantages
- No need to coordinate with other operating systems.
- Disadvantages
- The problem remains for all other operating systems.
- The problem remains for any groups building on top of an operating system that has received permission.
- The Rust Foundation may not give permission.
Rust Foundation Desirable Actions
Change Trademark Policy
The Open Source Development section of the Rust Foundation’s Statement On Global Regulations says:
The Rust project is developed in the open and made available to the public freely, subject only to the conditions of the applicable open source licenses.
The Rust Foundation should make it’s trademark policy conform with it’s Statement On Global Regulations. Currently the Rust and Cargo are not made available subject only to the conditions of the applicable open source licenses. Instead the Rust Foundation trademark policy adds additional restrictions that require either: * Getting permission from the Rust Foundation to distribute copies and modified versions of Rust and Cargo * Rebranding Rust and Cargo
The Python trademark policy and the Perl trademark policy are examples of trademark policies that the Rust Foundation could model it’s revised trademark policy on.
Rust Foundation Board Review
In Issue 35 nikomatsakis said:
The foundation will be reviewing the trademark policy, but it will be up to the board to decide the terms that are selected.
Supermajority Vote
Section 2.13 Rights in Intellectual Property of the Rust Foundation Bylaws says:
The Members and Board shall neither adopt, nor make any material change to … any intellectual property rights policy of the Foundation … unless approved by a Supermajority Vote of the Directors
Section 4.10 Quorum, Action at Meeting, Adjournments of the Rust Foundation Bylaws says:
In order to pass a “Supermajority Vote,” a resolution must be … approved by a vote of least two-thirds of all Directors, at least two-thirds of Corporate Directors, and at least two-thirds of Project Directors
A Supermajority Vote of the Board shall be required with respect to the following matters … Adopting or modifying any policy relating to intellectual property
Board Members
The Rust Foundation has twelve board members. There are six project directors and six corporate directors. A supermajority vote would require at least four project directors and four corporate directors.
For information on the board members see their profiles.
Board Meetings
Based on previous Rust Foundation events the Rust Foundation board appears to have monthly meetings.
Update Trademark Ownership Information
Correct the trademark ownership information on the Rust repository readme and the Rust media guide.
Request the Mozilla Foundation remove Rust and Cargo from the Mozilla trademarks list.
Publish Official Trademark Policy
The Rust Foundation should publish an official trademark policy as the media guide is insufficient by itself.
Discussion Informing This Article
This article benefited from the feedback, suggestions and questions received on mailing lists and IRC networks.
Conversations about the Rust Foundation trademark policy issue have taken place on several mailing lists including the debian-legal mailing list, the GNU directory-discuss mailing list and the guix-devel mailing list. It has also been discussed on the Freenode, Libera and OFTC IRC networks in #rust #hyperbola #fsf #gnu and #debian.
Contributing
The source code for this article can be seen at:
https://bonebaboon.tilde.site/git/rust-trademark-policy-issue/
This articles repository can be cloned by executing:
git clone
https://bonebaboon.tilde.site/git/rust-trademark-policy-issue.git