[[TOC(inline, depth=1)]] = Participating the the development process = == Volunteer tasks == There are a number of tasks in Trac that [report:20 we need help with]. They are a mix of testing, development, packaging and documentation tasks, and you do not need to be a developer to tackle many of them. == Writing code == All generally useful additions and fixes to OpenVPN are most welcome. See [wiki:DeveloperDocumentation developer documentation] for more information. == Participating in the ACK system == All code that goes into OpenVPN goes through a [wiki:DeveloperDocumentation review process]. Both ''developers'' and ''non-developers'' are encouraged to take part in this process. == Testing and reporting bugs == Testing is a big part of software development. If you want an easy way to help, you can test that latest and greatest version of OpenVPN works correctly. Testing helps making sure each release is rock-solid, as well as pushing out new releases as quickly as possible. For details, see [wiki:TesterDocumentation tester documentation]. If you think you've found a bug in OpenVPN, please check if it's been [https://github.com/OpenVPN/openvpn/issues reported earlier]. If not, file new bug report there. If you have encountered a bug that has been reported earlier, you can still help by making the existing report more precise by adding more information. == Translating the GUI == OpenVPN 2 comes with [https://github.com/OpenVPN/openvpn-gui/ OpenVPN-GUI] for Windows. It has been translated to some languages, but many more are missing. If you want to publish your own translation, please [wiki:GettingHelp#Developersupport contact the OpenVPN developers]. == Making feature requests == It's always good if a project has ideas where to proceed. There a couple of ways to get your ideas out there: * [https://sourceforge.net/mail/?group_id=48978 openvpn-users mailinglist] * [https://forums.openvpn.net/viewforum.php?f=10 Post to the forums] * [https://github.com/OpenVPN/openvpn/issues File a feature request to GitHub] Posting to the mailing list or to the forums allows you to discuss the request with others. If your feature turns out to be something that other people want, too, it's more likely to get implemented sooner or later. "Drive-by" feature requests filed to !GitHub are not encouraged, as they make follow-up discussion and questions more difficult for everybody. == Packaging == Installing OpenVPN from source is fairly trivial on *NIX computers. However, keeping OpenVPN updated manually is pretty annoying. It helps a lot if users can use pre-built packages (e.g. deb, rpm, exe) for their platform. This is especially true with Windows, where setting up the OpenVPN build environment is more painful than on other platforms. If your operating system does not have a package (or port) for OpenVPN, you can help by creating one. This helps people use the latest and greatest versions of OpenVPN as easily as possible. Take a look [#Testingandreportingbugs here] to see why this is important. = Helping other users = == Writing documentation == All OSS projects need good documentation. The natural place for most documentation is this Trac wiki: just remember that you need to register first. If you want to improve the man-page or other documentation bundled with OpenVPN, follow the procedure outlined in [wiki:DeveloperDocumentation developer documentation]. Alternatively you can just let developers know of the issue and let them fix it. == Helping other users == If you're a user and wish to help the OpenVPN project, you can do so in many ways. For example, you can answer to questions sent to our [wiki:GettingHelp support channels]. Being responsive and helpful to newbies is important for the project in the long run: after all, part of them will in time become core contributors. If the same questions get asked over and over again, consider writing a FAQ entry or an article to this Wiki. In the long run this saves everybody's time. == Spreading the word == OpenVPN needs visibility like all OSS projects. Increased visibility means more downloads and more downloads mean more developers and contributions. There are many ways visibility of a project can be increased. You can write articles or blog about OpenVPN. Telling other users about OpenVPN on discussion forums and mailing lists is also valuable, especially on high-profile sites. Just remember not to spam. == Moderating OpenVPN forums == The [https://forums.openvpn.net/ OpenVPN forums] always needs moderators.\\ If you're interested in becoming a moderator you can reach out on the [https://sourceforge.net/projects/openvpn/lists/openvpn-users openvpn-users mailing list], the [irc://irc.libera.chat:6697/#openvpn #openvpn IRC channel] or the [irc://irc.libera.chat:6697/#openvpn-meeting #openvpn-meeting IRC channel]\\ Agenda for the #openvpn-meeting channel can be found here: [wiki:IrcMeetings IrcMeetings]\\ You're more likely to be chosen if you've done forum moderation in the past/present and/or you're already active on the forums. = Contributing to other OpenVPN-related projects = There is a large ecosystem of projects around OpenVPN, as can be seen [wiki:RelatedProjects here]. Even if your skills are not very useful within the core project, you may be able to help the projects around OpenVPN. For example, you could help with ''graphics'' or ''translation'' in the widely used [https://github.com/OpenVPN/openvpn-gui/ OpenVPN GUI] project.