Please see the disclaimer.

Assumed Audience: No one. Don’t read this rant. I just needed to blow off steam and have a link for the future when the RESF comes after me.

Epistemic Status: Completely confident.

Yes, I’m serious: Rust the language is dead to me.

In fact, I am recanting my recent recommendation for people to use it.

Rust Evangelism Strike Force, you can criticize me all you want. I don’t care.

So why?

Because, quite literally, the Rust Foundation wants to make people like me unwelcome in any Rust event, not just official ones.

Don’t believe me?

Look at the draft Rust Trademark Policy that the Rust Foundation is asking for comments on and go to page 12:

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…prohibit the carrying of firearms

(Emphasis added.)

I have a concealed carry permit. I have firearms and other weapons. I know how to use them, and I will use them in defense of my wife and myself.

And you can bet I carry them into places I consider dangerous if it is legal to.

In fact, in my state, it’s legal to carry firearms in places where private entities forbid it; such entities can only kick out people that are carrying.

So yeah, if this policy goes through, I’m not welcome at Rust events, even if the event organizers agree with me.

That’s just the first bizarre thing. The next is that you can’t have a website that looks similar to the Rust website:

This Policy covers:…The unique visual styling of our website and packaging (the “Trade Dress”).

But that’s not even the worst part!

You will not be able to use the word “rust” in a crate name:

Can I use the word “Rust” in the name of one of my crates?

The Project would like the word Rust in a crate name to imply ownership by the Project. You should generally use ‘-rs’ instead in this situation. Please see “Use of the marks in toolchains or other software for use with Rust” section.

You will not be able to use the word “rust” in a product or service name:

Can I use ‘Rust’ as part of the name for my project/product/initiative etc in reference to the Rust language?

Generally no - it is not permitted to use the Rust name or Logo as part of your own trademark, service mark, domain name, company name, trade name, product name or service name.

And if you already have, you may have to license the privilege to keep doing so:

If you already have a product/product/initiative etc. that uses the Rust name or Logo, get in touch with us. We most likely will be willing to enter into a license agreement with you.

Nor will you be able to use the word “rust” in a domain or company name:

Am I prohibited from registering my own trademark/a domain name/company name/trade name/product name/service name that includes the word “Rust” in reference to the language?

The use of Rust Foundation trademarks is not permitted for use in any of these situations.

Oh, by the way, these apply to the word “cargo” and the word “clippy”.

I wouldn’t be surprised if they eventually require the same thing for the word “crate” even though they ostensibly allow it right now.

I’m making a language myself, and I chose a different name for packages. I’m glad I did.

It gets worse.

The GCC frontend for Rust will no longer a “Rust compiler.” It will be the “GCC compiler for Rust”:

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.”

Got a user group or a conference? You cannot make any profit:

You can use the Word Marks as part of your user group name provided that:

  • The group does not make a profit;

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…

You also have to have an explicit Code of Conduct:

You can use the Word Marks as part of your user group name provided that:

  • You formally adopt and enforce a robust Code of Conduct appropriate to your specific User Group;

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 have a robust Code of Conduct.

Oh, and your conference also has to “comply with local health regulations,” as if that were the Rust Foundation’s responsibility. Sure.

Want to have swag? Too bad:

We would likely consider using the Marks on promotional goods for sale an infringement of our Marks.

This means that you cannot even sell them at cost.

In fact, they even have regulations if you give stuff away for free:

“Promotional goods” are non-software goods that use the Marks and that are intended to advertise the Project, promote the Project, or show membership in the Project community, such as stickers, socks, key fobs, glassware, etc.

You may make promotional goods for free giveaway at open source conferences and events provided that the goods are in good taste and compatible with the values of the Project.

What are the values of the Rust Foundation? No idea. Better not have swag, even free swag, in case it runs afoul of these values because even if they are known, they could change at any time.

And just to show that this is a straight-up power trip, they’re going to require you to make your own trademark bigger than theirs on your website:

You may use the Word Marks and Logos, but not the Trade Dress, on your webpage to show your support for the Project as long as:

  • You own branding or naming is more prominent than any Marks;

You may think I’m being harsh. I wish that were true.

I have just started a software business. As a businessman, I have to care about trademarks. I’m about to register some of my own (logos for pieces of software I’m writing).

I understand wanting to protect trademarks. I certainly will protect mine against companies that misuse them.

But my definition of misuse won’t include putting the logo on your website or using my trademark as part of your domain name. I won’t require you to make your own logo bigger than mine; I would love it if users were so delighted with my language that they would make my language’s logo bigger than theirs.

In the context of my business, I cannot risk running afoul of this policy, so my business will not use Rust. If one of my dependencies (and I don’t have many) starts to use Rust, I’ll replace it. It’s just too big of business risk for me.

And it’s too political. I get that everything is political, but you can tone it down. Here, the Rust Foundation is claiming the right to decide how to politicize everything Rust, which will only make it as political as possible.

Anyway, that is why I cannot recommend Rust anymore.

“But Gavin, this is only a draft. It may not become policy.”

Sure, but this shows the desires of the Rust Foundation. A foundation with desires that would make Oracle blush may not be able to implement them right now, but they won’t hesitate to do so when they get the chance.

Also, are you forgetting that the entire moderation team resigned in protest in late 2021? I cannot help but think that there is something rotten in the core team.

I have one last little nitpick. One of their examples is this:

Don’t pluralize a trademark.

Unacceptable: I am running five Rusts.

Acceptable: I have five Rust compilers running.

But if those compilers are not rustc, then the acceptable version is supposedly infringing.

Also, it’s bad English. The acceptable version should be “I have five Rust compiler instances running.” There’s only one rustc, just running five times.