Contributing
============
NetJSON is a new format (born in the beginning of 2015), the specification does
not yet take in consideration each and every common scenario found in wired and
wireless networks, therefore **proposals to improve the specification are very welcome**.
.. contents:: **Table of Contents**:
:backlinks: none
:depth: 3
.. raw:: html
General guidelines
------------------
The following conditions will make it more likely that a proposal will
be accepted:
* more parties are interested in the goal that is stated
* there are contributors willing to invest effort in writing implementations
* there are already existing implementations that use the proposal
There are a few steps you can take in order to increase the likelyhood that a
proposal will be taken seriosuly. Read on to find out more.
1. Read the specification
-------------------------
Read the `NetJSON specification `_ carefully.
Ensure that you know at least the following things:
* what is a NetJSON object and how it can be extended legally
* what are the existing NetJSON types
* the motivation and goals of the NetJSON type you are dealing with
* how to :doc:`register extensions `
2. Write a good proposal
------------------------
Write a clear proposal, possibly well written and explainin the motivations and
goals behind your proposal.
What's your problem? What do you want to achieve exactly with the proposed change?
Please :doc:`get in touch ` with us.
3. Implement your proposal
--------------------------
Implementing a proposal early on is the best way to validate whether the proposed
idea works well or not.
Moreover, sharing an open source implementation will surely attract interest within
the group.
4. Register an extension
------------------------
If you wrote an implementation that is extending a NetJSON object in a compatible
way with the rest of the specification, you should :doc:`register your custom
extensions `.