OpenVPN 2.4/3.x
Contributor License Agreement (CLA)
- This is required to distribute OpenVPN on Apple's AppStore and possibly other stores (e.g., Windows Marketplace) due to their incompatibility with the AGPLv3 license.
- It's important to minimize the scope of the agreement:
- Android contributor license agreements appear well-crafted and we can assume they are backed by substantial legal expertise and resources.
Permissive Licensing
- It’s currently unclear if adopting a permissive license would completely eliminate the need for a CLA.
- Potential licenses include BSD, MIT, Apache.
- Releasing OpenVPN 3.0 under a permissive license may lead to (big) companies forking it, potentially resulting in numerous incompatible forks.
- To combat potential fragmentation, standardizing the OpenVPN protocol might be necessary, though this comes with substantial overhead.
Minimizing the Scope of the CLA
- This approach reduces risks related to fragmentation, forks, and loss of contributions.
- Aim to maximize the potential to extend OpenVPN through isolated APIs:
- Plugins and similar extensions would not require a CLA.
- Extension mechanisms in OpenVPN:
- 2.x:
- Plugin API
- Management interface
- SSL library abstraction
- Platform support (isolated by
#ifdefs)
- 3.x:
- SSL library abstraction
- Other mechanisms
- 2.x:
- Potential separation of server-side and client-side code, where only the client-side would need a CLA.
Public Release Date for OpenVPN 3.x Codebase
- Source packages are currently available in old tar.gz formats.
- James aims to release this in the coming weeks.
Future of OpenVPN 2.x and 3.x
- Transitioning to the AGPLv3-licensed OpenVPN 3.x codebase is favorable, provided that the negative impact of the CLA is minimized.
- OpenVPN 2.x will remain maintained until 3.x can effectively replace it:
- This may include releasing versions up to 2.5.
