Skip to content

[meta] Capability names we develop with SHOULD NOT be the same as the final names #221

@DanielOaks

Description

@DanielOaks

The capability names that are used for in-progress specifications should not be the same names that are used on the final, ratified versions of those specifications.

We should not use the same names on draft specs because people will write clients and/or servers to that draft spec, particularly as a part of #215's new process and the implementation requirements. If the spec is changed in major ways to fix problems found by implementers, we will run into issues where some clients and servers respond to that capability name with the old, in-development behaviour of that spec.

We can tell implementers not to put the code responding to those draft features into public releases, but I think so long as the same name is used for draft and final caps, this will happen and may cause us issues. Especially for long-standing draft issues, like if sts sits as a draft for quite a while and we end up significantly changing it.

Here's an example of what I mean:

  • Draft name: draft/sts-1
  • Draft name: draft/sts-2
  • Draft name: draft/sts-3
  • Final: sts

We don't want to use the vendor tag to say the name of the implementer that put forth the feature, because it's being workshopped as an IRCv3 spec. We don't want to use the name of the IRCv3 org, because people may think it has our 'approval' due to that.

Under this sort of process, it would be submitted with the draft name, and any implementations for it would respond to the draft name. When it becomes ratified as part of an IRCv3 release it would be changed to the final name.

See also #215

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions