Rust Foundation Trademark Policy Issue

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

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

Rebrand Rust and Cargo

Alone ask the Rust Foundation to change it’s trademark policy

Alone ask the Rust Foundation for permission to use trademarks

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