How to Contribute

We welcome community involvement and participation in all aspects of the IPOP-VPN project. There are several meaningful ways for external participants to contribute. Below we discuss the ways that we can benefit from your contributions and effective ways of going about this.

Finding and Submitting Bugs

The two main software projects are the controller and tincan. If you encounter any bugs while testing, evaluating or in your everyday use of IPOP-VPN please create a GitHub issue to report it. If you can determine which component is at fault, then create the bug there, otherwise either is fine; we look at both. Of course submitting the relevant information that will help us reproduce and diagnose the fault is important. See your [[Troubleshooting]] wiki for more details.
For more general problems or if you are not certain if your issue qualifies as a new valid bug, check the [[FAQs]], [[Known Issues]], [[Getting Help]] and [[Troubleshooting]] Wikis.

Enhance and Feature Suggestions

While using our software you may envision new and interesting ways that it can be used. As a research group we are always excited to hear these ideas. However, we have finite resources and cannot guarantee that any requested feature will be implemented. Our coding challenges provides the opportunity to fills these gaps. See below for contributing code.

How you use IPOP-VPN

Tell us about how you use our software, particularly so if you think you are using it way we haven’t explicitly documented. Additionally, if have a development dependency on IPOP-VPN – or you integrate our software with your own, we would love to hear from you.

Updating the Wiki Documentation

We try to make keep our documentation current, accurate and succinct. If you encounter inaccuracies or ambiguities, please make an update and send us the pull request.

Contributing Code

There is always more code to write than we can get to as quickly as we like. If you have an interest in Python, C++ and system level network development you may want to participate in developing some of IPOP features. There are many Challenge Issues that are open to external contributors. These issues will link to our Challenges Wiki where we (attempt to) provide a well defined problem of, and design specifications for, the given feature.
Additional information for understanding our [[development|Controller-Framework]] and release processes, [[workflow|Development Workflow]] and [[coding practices|Coding Guidelines]] can be found throughout the IPOP website.

Deployment Packages for new Platforms