PowerShell / PowerShellGallery

219 stars 59 forks source link

Namespaces or Name prefix reservations #259

Open Jaykul opened 10 months ago

Jaykul commented 10 months ago

Summary of the new feature / enhancement

As a user, I want to be sure that Az.* are actually modules belonging to the Azure PowerShell team.

As an author, I want my own prefix(es) that nobody else is allowed step on.

We all assume that "Microsoft.PowerShell." modules are by the actual PowerShell team -- and I assume that namespace would be protected (based on the determination that anyone else using that namespace is maliciously pretending to be something they're not), but what about other namespaces?

Obviously we all assume that if a module name starts with "Az." it's an Azure PowerShell module. And if it starts with "VMWare." it's probably from VMWare ... but it does not seem that there is any actual policy or enforcement of namespaces.

Proposed technical implementation details (optional)

The first user who uploads an actual usable and useful module with a relevant prefix would receive ownership of that prefix (other accounts would be blocked from using the same prefix).

There would need to be a name ownership conflict resolution agreement which would spell out rules for entities that own a trademark or domain name to claim ownership of a prefix in good faith, but protections for good faith module authors (i.e. authors of real, useful and actually downloaded modules) against having their module name taken away...

ThomasNieto commented 10 months ago

I've been wanting this feature for a while. Its very useful for plug-in based modules or org prefixes. The gallery could just use the existing NuGet id prefix reservation system. Here is the related https://github.com/PowerShell/PSResourceGet/issues/75 issue.