==========
Contribute
==========
OPNsense is an open source community project that depends on your contributions
for its continuing development & success.

There are plenty of opportunities to contribute and help OPNsense reach its goal
of becoming the most widely used open source security & firewall platform.
Financial contributions are always welcome and will allow us to develop parts
of the system that may otherwise stay untouched.

The OPNsense core team wants to thank everyone who contributed already.

------------------

-----------
Financially
-----------
"*An open source project can only thrive by the community around it.*"
We are grateful of all the kind words and support the users of OPNsense are
giving us.

Frequently users ask us how they can contribute to the project.
To make the software better we need your involvement in testing and providing
feedback and if you can spare a few bucks that would be great.

---------------

Donations
---------
To enable us to continue development and keep on improving the project you can
contribute by donating to the project, this a simple non recurring - no strings
attached - way of supporting the project. Any amount will be gratefully accepted!

.. raw:: html

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
        <div class="paypal-donations">
            <b>Why wait? Donate today ! </b>&nbsp;
            <input name="cmd" value="_donations" type="hidden">
            <input name="bn" value="TipsandTricks_SP" type="hidden">
            <input name="business" value="donate@opnsense.org" type="hidden">
            <input name="return" value="https://opnsense.org/thanks" type="hidden">
            <input name="item_name" value="Donate to the OPNsense project" type="hidden">
            <input name="rm" value="0" type="hidden">
            <input name="currency_code" value="EUR" type="hidden">
            <input name="lc" value="US" type="hidden">
            <input src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online." type="image">
        </div>
    </form>
    </br>

---------------

Partner program
---------------
The OPNsense project offers a partner program where businesses receive project
benefits while supporting the project financially.

Main benefits include:

* Listing on our `OPNsense partner page <https://opnsense.org/partners/>`__
* Access to the core team

To get enlisted as partner of the OPNsense project means a minimum annual investment
of € 2500.Partners that made an exceptional contribution to the project are assigned
the Platinum Partner status.

----------------
Support Contract
----------------
with a support contract we support you and you support us as OPNsense is fully
supported by Deciso.

For support options see `OPNsense Commercial Support <https://opnsense.org/support-overview/commercial-support/>`__

------------------

-----------
Development
-----------
Contributing to the ongoing development of OPNsense can be done by:

* Testing a development version and
* Report issues and/or
* Help fixing issues as well as by
* Contributing new functionality
* Share your code with the project by manner of a pull request.

.. Note::

  Before you send in your pull request, please read our :doc:`development/guidelines` and see the community support levels in the
  :doc:`support`. It is important for plugin developers to maintain their plugin and interact with users for QA.

---------------

Testing
-------
Contribute by testing the latest development version to make the next release even
better than the last. If you like to test a development version then the easiest
way is to login to the console and type:

::

  pkg install -y opnsense-devel


And to revert back to the production version:

::

  pkg install -y opnsense


That is all there is to it to test the latest development release.
Development releases are usually built at the same day the latest production
release comes available.

---------------

Reporting an issue
------------------
Issues can be easily reported on github, please consider carefully if the issue
could be a configuration or user error before reporting it. If you are unsure,
report you issue on the `Forum <https://forum.opnsense.org>`__ or on IRC/Freenode (#opnsense).

---------------

Fixing issues
-------------
If you are a programmer or just know how to fix a certain issue then you can help
by either sharing your ideas on or send in a pull request on github.

---------------

Designing new features
----------------------
If you like to help designing new features then start with reading the :doc:`Development
manual </develop>` and checkout our `roadmap <https://opnsense.org/about/road-map/>`__ as well as our `issue tracker <https://github.com/opnsense/core/issues>`__.
Before starting it is always a good to share your idea first with a core developer,
to do so you can use either:

* `github <https://github.com/opnsense/core/>`__ and  `create a issue <https://github.com/opnsense/core/issues/new>`__
  and mention you volunteer for taking on the development task (we will correctly label it as enhancement or feature)
* find one of us on IRC/Freenode (#opnsense) and see if we are available to
  discuss your idea.

------------------

------------
Translations
------------
OPNsense has an active `translation project <https://translate.opnsense.org/projects/>`__,
currently supporting:

* Czech
* English
* French
* German
* Japanese
* Portuguese
* Russian
* Simplified Chinese

Working on translations is time consuming, but if you feel up to it and would
like to help adding another language, then please contact us via email (contact @ opnsense.org).

------------------

-----------------------------
Documentation & wiki articles
-----------------------------
The easiest way to help with documentation is to write how-to type articles.
As the wiki & documentation project itself is written in **reStructuredText** you
can offer your content in this format (preferably as pull request), but other
formats are also possible, such as:

* markup with ./images/directory including the used images(in any)
* word document with embedded images (if any)

To include you documentation send it to contact @ opnsense.org. Make sure that:

* Your content does not include copyrighted material if you do not own the copyright yourself
* State that we may use the content under our Documentation Copyright as listed in the :doc:`legal` section.

------------------

-----------
Forum & IRC
-----------
If you are an experienced network engineer, know a lot about firewall technology
or if you are excited about OPNsense, then you can contribute to the project by helping
others on the forum or on irc.

------------------

------------
Social media
------------
Contribute to the success of the project by letting others know how OPNsense helped
solving your network or security challenges. Let others know about OPNsense and/or
follow us & retweet our messages on `twitter <https://twitter.com/opnsense>`__.

Anything you can do to spread the word about OPNsense will help to reach our goal
to become the most widely used open source security & firewall platform.


------------------

-------------
Closing Words
-------------
If you have suggestions on how others can contribute to OPNsense and it is not yet
listed on this page, then let us know. You can reach us at contact @ opnsense.org.
