I don’t know how brand names entered into this discussion. That’s not really the point, is it? It’s really a question about namespaces.
Clearly, a project on GitHub is in the GitHub project namespace, and thus disambiguating not only between languages makes sense but also between users. That’s why references to GitHub projects often include a user name, language, and project name. For example, https://github.com/andrewrk/node-astar
.
However, within package.json, that is an NPM package, so it’s already understood to be in the Node.js namespace, and therefore putting “node” in the name would be redundant.
Similarly, within cargo.toml
the crate name is understood to be a Rust crate, and so putting “rust” or “rs” is redundant.
Similarly, within pyproject.toml
the name is understood to be a Python package name, and so putting “python” or “py” is redundant.
Similarly, within a build.zig.zon
file, that package name is the Zig package name, and therefore is implicitly in the Zig package namespace.
By using the word “zig” inside this name, what are you communicating? It’s already a Zig package. The word “zig” is redundant apart for exceptions having to do with the language or toolchain itself.
As for Zig build system being a multipurpose, multi-language tool, I think that’s a fair argument. My position is that, while many use cases are supported, the toolchain clearly favors Zig as a primary use case, making “zig” the implicit default for packages, and other things require disambiguation.
This is also the case with other package managers, which allow arbitrary things to be uploaded. Case in point, Zig package on PyPI! NPM and Cargo also allow uploading arbitrary files.
Even fully accepting the multipurpose argument, “zig” is a terrible disambiguator. Is it bindings? Is it a module? Is it more than one module? Is it a library with a C ABI but the source is in Zig? Is it a different project packaged with the zig build system? Perhaps the project maintainer just used “zig” because they are using the Zig package manager. A casual glance at the package does not tell you the answer. I suggest to use more precise language. The bottom line is that the word “zig” communicates next to nothing in this context.
Ultimately, it is just a convention, and while I have a strong opinion on what a good convention is, it’s not going to hurt anybody if the picture is hung a little crooked on the wall.
As for ZSF trademarks and branding, it’s only a problem if people are being deceived. In other words you’re only going to create beef if you claim to speak for ZSF or if you say you are a Zig core team member when you’re not. Pretty difficult to do accidentally.
1000%