[Pre-RFC] DNS domains as package namespaces
jmillikin:
My package is an implementation of FUSE, and therefore it is called
fuse. If I had forked the FUSE protocol into my own personal variant, then I would publish the library asjmillikin_fuse.
This is a very strict and specific interpretation of the crate name.
I don't see why your own implementation would count as the fuse. Isn't the reference implementation by Linux kernel folks more deserving of being the fuse? If your implementation isn't a fork or a drop-in replacement for the reference FUSE implementation, why would it be the fuse and not your take on it, like jmillikin_fuse? (or something like jmfuse)
If the crate needs to meet some criteria to deserve using a certain name, it seems almost like flipping the namespace the other way: there is some fuse that's the true FUSE project/protocol/api/spec, and there are conforming implementations of it. So it should rather be a fuse.org/jmillikin where the FUSE controls the namespace and decides that your implementation its a valid fuse not a personal variant, while not-true-FUSE libraries would have to pick another namespace fuse-plus-plus.fork/jmillikin
This doesn't seem to be a problem on crates.io. serde_json is accepted as being for the real JSON, despite not being published as the json crate. There's http crate, but also httparse, hyper, reqwest, and a bunch of others that are arguably an implementation of HTTP, but they don't all have to be called */http.
Discussion in the ATmosphere