Differentiating author vs. maintainer roles in Cargo.toml


Consider the case where a person has created a fork of a project. The authors of the original project don’t want to be acknowledged as authors of the new project, as this implies some endorsement of the new fork. And/or the original project might be abandoned and the original authors might not be responsive to questions about whether they want to be listed as authors in the new project. And/or some people have authored a lot of code but no longer want to be bothered with questions about the project. Yet, the people currently maintaining the project may not want to claim authorship of the whole thing, and/or be perceived as doing such.

In such a situation, it would be helpful if there were a distinction between Authors and Maintainers in Cargo.toml, and it would be useful if crates.io and other things showed the Maintainers’ contact details instead of the Authors’ contact details, when the Maintainers are listed.

Do people agree it would be useful to add a “Maintainers” field to Cargo.toml for this, and change crates.io as I suggest above?

Would such a change be significantly problematic? If so, in what way?



I am torn. I like this idea, but also don’t like it, because it almost feels to me like encoding BDFL semantics. That is, “maintainers” are still also authors, and even if someone originally wrote the project, over time, if they’re not participating, who knows if their code still even exists in the codebase?

I’m not sure this worry is enough for me to oppose this change, exactly. Just my first, gut-level reaction.


If this is just a matter of communicating the right info to users of a crate, why isn’t some text in the project README sufficient? It wouldn’t be directly visible on crates.io, but a lot of important isn’t shown on crates.io anyway, so it’s quite common for a user to click through to the project page.


crates.io shows direct email links for the people listed as authors. If crates.io didn’t do that, doing what you suggest would be more workable.


Just to give context: I’d like to credit the dozens of authors of the OpenSSL/BoringSSL code that’s still in ring as authors, but I don’t want them to be bothered with support requests from the email links on crates.io. Nor do I want to imply that they in any way endorse the project.


Are you concerned that a user who needs support would contact the author directly via email? Are crate authors today finding that too many people are reaching out to them directly via email, instead of going through the preferred project support channels (github issue tracker, for example).

Speaking as a user, when I need support or have a question, I’ll always do some research about the project, to figure out how and where to report issues, to see if my issues might have already been reported or discussed, etc. This would absolutely involve reading the project README.


I think it’s already the case that Cargo.toml doesn’t represent authors in the copyright sense, since most projects don’t have copyright assignment but still don’t list all contributors here. So I guess what we have are the primary authors, but is that really useful? Perhaps we really do just need contact info on crates.io?


I prefer that author be replaced with maintainer. There are other places one can look to find out who the initial author is (assuming they are different to the current maintainer).


I don’t see why the list of authors needs to be in Cargo.toml. It should be recorded alongside all code already, and it should be an append-only list. The Cargo.toml should list the maintainers, who are essentially ‘whoever you should contact about the project’.