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 `.