Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
[flagged] The Rust Trademark Policy is still harmful (purplesyringa.moe)
37 points by mananaysiempre on Nov 10, 2024 | hide | past | favorite | 28 comments


I'm not persuaded by this post.

The first basic principle of trademark law in general is that if the use isn't understood by a casual observer [1] to imply endorsement, then trademark protection doesn't apply to that use. Forking the repository to develop a bug fix is the kind of use that's not even going to cross that threshold, so the policy doesn't need to explicitly cover it (although I wouldn't be opposed to firming up the text).

The proposed fix, however, is completely bonkers insane. It basically allows any fork to modify whatever the hell they want and still use the trademark with impunity--i.e., under this policy, something like Devuan could use all of Debian's trademarks because it's "just" a derived work of Debian that strips out all of systemd.

From most of the other points, the author seems to be completely unaware of the legal concept of nominative fair use. It is always possible for someone to use a trademark, without permission of the trademark owner, to actually refer to the good in question. You can always use "Rust" to refer to the programming language supported by the Rust compiler, no matter what the trademark policy says, because that's just how IP law works.

[1] The UK test uses a more poignant phrase: "a moron in a hurry".


The author doesn't know their stuff, and is speaking with inappropriate authority and hubris. I wonder if that's what they do on other topics besides trademark law.


I'm unsure why the author is upset about being unable to fork and still calling it Rust. That feels perfectly reasonable: They're the ones that get to call it Rust. The copyright license still lets you hack on it and distribute the results as you'd like, but if you distribute it and call it Rust that's gonna cause confusion, so they don't blanket allow that.


My read was they meant a fork as in a GitHub repository fork, used to fix bugs and then submit them to upstream. This isn't a fork of the language, it's a mechanism to enable collaboration. However 'to the casual observer' could be taken to mean 'someone who doesn't understand that GitHub forks are not language forks' and they'd end up in strife. Seems like a reasonable objection to me based on the letter of the law.


Your assumption is reasonable, but the author clarified on reddit that they had a much more expansive definition in mind. They want more than what is explicitly granted by the MIT License (the right to "deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software").

They want the right to fork, call their fork Rust and compete with the main repo for users. When asked how having multiple competing repos all claiming to be Rust would be beneficial to the Rust community they had nothing to say.


> When asked how having multiple competing repos all claiming to be Rust would be beneficial to the Rust community they had nothing to say

Being able to call the commands of a fork rustc, cargo etc would allow trivial drop-in replacement in case the official toolchain takes a bad turn (for example with analytics).

Furthermore, being able to use Rust in your fork's name (e.g. g-b-Rust) makes discovering better forks a lot easier, as opposed to the names insanity with Firefox derivatives

There's just little benefit for the public in this Mozilla's fixation with trademarks, open source thrived for decades without it (I know that Rust is not in Mozilla anymore, but the legal culture evidently persisted)


Typically language developers make a pretty strong distinction between the compiler/runtime and the language specification itself, as is the case for C - or even C#, despite some usual Microsoft shittiness. The Rust Foundation says "modified version of the programming language, compiler, or the Cargo package manager," seeming to cover source-based forks from rustc and reimplementations of Rust that do things a bit differently. This really is overly restrictive compared to most other programming languages. You can create "Jim's Java Interpreter" or "Sarah's WASM-extended C# compiler" which use custom modifications of these languages, without asking permission from Sun or Microsoft; but the Rust Foundation seems to forbid this sort of thing. (Maybe I am misreading something but this has been my understanding for a while.) Rust appears to be using trademark claims in lieu of a formal specification, which is how C# protects its integrity against modifications. It is heavy-handed and seems intended to let the Rust Foundation hold an unusual amount of power over the language itself, and not just their implementation.

To be clear I believe they have good intentions: they think the book is a good enough specification and they don't want Rust to be sabotaged by bad ideas. But it's an unusual and somewhat untested arrangement: the Rust Foundation's general insistence that Rust = rustc + cargo + authorized backends like GCC seems like a significant technical risk that has gone badly underdiscussed. Too much of the community sneers at the idea of formal specification, but there is no magic spell that guarantees good management in perpetuity at any single organization. Obviously specification has its own problems and risks. But I think the issue has drawn a lot of snitty fights and bad-faith blogs - mostly Rust critics, to be fair - and very little serious discussion.


"Jim's Rust Compiler" would be OK under the policy. Jim calling his fork "The Rust Compiler" wouldn't. You're allowed to use "Rust" or "Cargo" to mention the language & package manager, you're not allowed to cause confusion that they're the official Rust Foundation-endorsed compiler & package manager.


Who's the intended audience for your Github fork? Is there any likelihood of marketplace confusion?

If you're just forking a repo on Github and upstreaming patches, then the likelihood of confusion is minute. Github's users know what a fork means, and if they're the only audience, there's no problem.

If you break the upstreaming link, distribute release packages, market to non-Github-users, and so on, then the likelihood of confusion grows. At some point, a court would probably assess that trademark violation had occurred.


It feels that the name of a language should not be something you can trademark, only implementations of it. I.e: Nobody should own "C", but microsoft can own MSVC.


Trademarking language names is not allowed since a language is not considered a good but rather a standard, however what is being trademarked here is the software product which is the compiler of Rust. It just so happens that the language and the compiler software are called the same thing.


That's just trademarking a language with extra steps


That's the difference between an independent language standard with multiple implementations (the old way), and a language with a single canonical implementation (more typical these days).


IANAL, but this post's author seems to think that trademark rights afford their owner much more power than they do. I can say that I find Skittles too sweet, and I bet I don't have Mars Inc.'s express rights to use their trademark. It's the same with "RustCamp" or "alternative to Rust".

Trademark law is not that dystopian, it concerns naming products, not everyday speech. Writing (and reading) a trademark use policy with those boundaries in mind seems non-controversial to me.


Exactly. The way that Doctorow puts it in his book The Internet Con, it's actually perfectly legal to use a trademarked name, so long as it is not confusing to users/consumers. An example he gives is you couldn't open a rip off McDonalds where folks mistakenly think they're actually going to eat authentic Big Macs, but you could open a restaurant call Better Than McDonalds. This agrees with the first quote of the article:

    The most basic rule is that the Rust trademarks cannot be used in ways that appear (to a casual observer) official, affiliated, or endorsed by the Rust Project or Rust Foundation, unless you have written permission from the Rust Foundation.


Part of the problem is the way that policies like this one are written.

They're saying things like "may not do that" and "cannot be used unless ...", when what they really mean is "we're not granting any special permission to do that", and "cannot be used unless ..., in cases where your local trademark law says you need our permission".


This is my read, too.

Creating a fork to contribute a PR is not an issue. If you fork and diverge while still calling it "Rust" then you're probably in hot water. Even then, no one would care unless you amassed a following or notoriety for it, most likely.


"RustCamp" would likely be adjudicated as a trademark violation if it went to court. "Alternative to Rust" would not.


> "RustCamp" would likely be adjudicated as a trademark violation if it went to court.

Used in what context, though? As far as I am aware, each trademark is only granted for a specific list of market segments. Anything beyond that, and beyond offering products/services, should be (mostly) in the clear.

I think it's a good idea from the Rust Foundation to prevent others from naming threir convention "RustCamp" or something similar, and I don't think they're doing much more.


The author is being a little disingenuous. The language they suggest would allow forking the project and calling it something like Rust 2.0


This is a non-issue. If anyone wants to hear about the many flaws in this post check out the discussion on reddit https://reddit.com/r/rust/comments/1gnz5sm/the_rust_trademar... (0 points, 50 comments).


Related:

Rust Trademark Policy Updates

https://news.ycombinator.com/item?id=42101536


> This appears to restrict phrases like “alternative to Rust”, “reimplementation of Rust”, and similar constructs. While such uses might be legal anyway, in my opinion, this sends a terrible message to the community.

I disagree: I think this just specifies that you can't call a different, incompatible programming language Rust.

I think I agree with most of the other points, though some seem like more oversights than intentional restrictiveness. However, I'm not sure they will yield on the event policy. This seems to be a standard that is being set across large open source projects.


Is the author a lawyer? I imagine we will he seeing more posts like this in the future. I doubt the language will ever be good enough for everyone.

Rust doing these things has lead the language to being an example of what not to do in OSS.


Not only is the author not a lawyer, they freely admitted on reddit that they don't understand legalese or trademark law well.

Unfortunately they've succeeded in convincing people there is an issue here when there is no issue.


> The phrase “to a casual observer” indicates to me that this was poorly thought out.

No, that's just what trademark law requires. They were just explaining it.

A fundamental misunderstanding in the first sentence. I stopped reading there.

Please try not to comment on trademark law unless you at least understand the basics.

Maybe the Rust trademark policy page could do with a brief introduction to trademark law to avoid misunderstandings like this.


Sounds bad. Hope Rust Foundation get their act together.


It really isn't. The author knows nothing about law, trademark law or anything else. They're speculating wildly to drum up drama.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: