OpenVPN is a free, open source networking & connectivity project written in C and released under a custom open-source licence. It has 14,562 GitHub stars, 3,398 forks and 226 open issues, and was last pushed 6 hours ago. On this registry it ranks #1 of 2 tracked projects in Networking & Connectivity, with 5 head-to-head comparisons available. It gained 25 stars over the last 6 tracked days.

What is OpenVPN?

What it is

OpenVPN is open source VPN daemon. It provides secure tunneling for network connections. Project lives in Infrastructure & Operations / Networking & Connectivity ecosystem. Tagline says Zero Trust VPN solutions for secure business networking. GitHub description says OpenVPN is an open source VPN daemon. Repository language is C. GitHub license field says NOASSERTION, while README states GNU General Public License version 2. README states copyright 2002-2026 OpenVPN Inc.

OpenVPN solves need for self-managed secure network access. It lets operators build secure VPN tunnels with configuration files, keys, certificates, and TLS verification. README points to man page for detailed information, HOWTO for sample VPN configuration, and ssl.h for underlying protocol description. Other repository files include configure.ac for rebuilding configure script and makefile, sample-scripts directory, sample-keys directory, and sample-config-files directory. Users report issues at GitHub issue tracker. GitHub shows 14547 stars, 3396 forks, and 226 open issues.

Key capabilities

  • Provides secure tunneling daemon for VPN connections.
  • Supports customized authentication tests on embedded X509 certificate fields through --tls-verify option.
  • Includes sample Perl script verify-cn for certificate field checks.
  • Ships sample RSA keys and certificates for testing only.
  • Provides sample configuration files and scripts from HOWTO.
  • Builds from source with configure, make, and make install.
  • Supports Windows builds with MinGW or MSVC via README.cmake.md.

Who uses it and how

  • Self-hosted network operators install daemon from source and run it with OpenVPN configuration files.
  • Windows users may build OpenVPN with MinGW or MSVC, or use community-provided MSI installers.
  • Debian users may use community-provided Debian packages built from openvpn-build.
  • Administrators use sample config files and HOWTO examples to create VPN tunnels.
  • Operators who need certificate field checks use --tls-verify with script such as verify-cn.

Getting started

Download latest release from community.openvpn.net. Build and install with tar, configure, make, and make install, or use community-provided Windows MSI and Debian packages. See INSTALL file for usage information.

When to use it — and when not to

Use OpenVPN when you need open source VPN daemon you can build, configure, and self-host. It fits environments where certificate-based tunneling, custom TLS verification, and configuration control matter. Do not use sample keys or certificates in production, because README warns they are totally insecure. Do not expect hosted service or bundled key-management and Windows tap components, because easy-rsa and tap-windows are separate subprojects.

project readme (upstream, from github) — read inline

OpenVPN -- A Secure tunneling daemon

Copyright (C) 2002-2026 OpenVPN Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.


To get the latest release of OpenVPN, go to:

https://openvpn.net/community-downloads/

To Build and Install,

tar -zxf openvpn-.tar.gz
cd openvpn-
./configure
make
make install

or see the file INSTALL for more info.

For information on how to build OpenVPN on/for Windows with MinGW or MSVC see README.cmake.md.


For detailed information on OpenVPN, including examples, see the man page http://openvpn.net/man.html

For a sample VPN configuration, see http://openvpn.net/howto.html

To report an issue, see https://github.com/OpenVPN/openvpn/issues/new

For a description of OpenVPN's underlying protocol, see the file ssl.h included in the source distribution.


Other Files & Directories:

  • configure.ac -- script to rebuild our configure script and makefile.

  • sample/sample-scripts/verify-cn

    A sample perl script which can be used with OpenVPN's --tls-verify option to provide a customized authentication test on embedded X509 certificate fields.

  • sample/sample-keys/

    Sample RSA keys and certificates. DON'T USE THESE FILES FOR ANYTHING OTHER THAN TESTING BECAUSE THEY ARE TOTALLY INSECURE.

  • sample/sample-config-files/

    A collection of OpenVPN config files and scripts from the HOWTO at http://openvpn.net/howto.html


Note that easy-rsa and tap-windows are now maintained in their own subprojects. Their source code is available here:

https://github.com/OpenVPN/easy-rsa https://github.com/OpenVPN/tap-windows6

Community-provided Windows installers (MSI) and Debian packages are built from

https://github.com/OpenVPN/openvpn-build

See the INSTALL file for usage information.

Frequently asked questions

Is OpenVPN free to use?

OpenVPN is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OpenVPN do?

Zero Trust VPN solutions for secure business networking

What is OpenVPN written in?

OpenVPN is primarily written in C. Its source is publicly available at https://github.com/openvpn/openvpn, and it has 14,562 GitHub stars.