Contributing to RWTS™

Proposals are wanted. Patches are not. This page explains both, and how to send the first one.

Propose a Change

If you are implementing RWTS and the standard does not cover what you need, that is the most useful thing you can tell us. A missing equipment type, an alarm code with no entry, a device behavior the specification leaves undefined — send it.

What helps most:

  • The problem, not the fix — what you were trying to do and where the specification stopped short
  • The equipment or deployment it applies to, so the change lands in the right family
  • A failing case or example message if you have one
  • The version and profile you are implementing

Every proposal gets read. Adopted proposals are credited by name in the public changelog unless you ask otherwise.

Propose a change

Why We Don’t Accept Code

EPU does not accept pull requests or code contributions to the Python reference library, and does not accept drafted specification text. Saying so plainly is better than a silent policy, so here is the reasoning.

It keeps the reference library dual-licensed. The library is offered under AGPL-3.0-only and, separately, under a commercial license for vendors who cannot accept copyleft. That second option only exists while EPU holds all copyright in the code. A single outside contribution without a written release would end it permanently, because relicensing would require that contributor’s agreement forever after.

Ideas are not copyrightable. Expression is. Describe a problem and the behavior you need, and we can implement it freely with no claim attached. Paste a working snippet that gets used as written, and that snippet is your copyrighted expression entering the codebase unlicensed. The policy exists to keep that line clean, in both directions.

It is how standards normally work. Published standards evolve by proposal and comment with an editor doing the writing, not by merge. The same applies to the specification text itself: an adopted proposal is rewritten by EPU before it becomes normative.

If code is the clearest way to describe what you mean, send it and say so. We will either build an independent version from your description without working from your code, or ask you for a short written release.

What This Does Not Restrict

None of the above limits what you may do with RWTS. The specification is openly licensed and free to implement in any product, including proprietary firmware. You may fork the reference library under AGPL and take it wherever you like. You do not need permission, an agreement, or a conversation with us to build on the standard.

This page is about what comes back to the canonical specification and the canonical library, and nothing else.

Back to RWTS™