Blame
| 6f02e7 | Samuli Seppänen | 2025-01-29 06:40:08 | 1 | # OpenVPN 2.4/3.x |
| 2 | ||||
| 3 | ## Contributor License Agreement (CLA) |
|||
| 4 | - 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. |
|||
| 5 | - It's important to minimize the scope of the agreement: |
|||
| 6 | - Android contributor license agreements appear well-crafted and we can assume they are backed by substantial legal expertise and resources. |
|||
| 7 | ||||
| 8 | ## Permissive Licensing |
|||
| 9 | - It’s currently unclear if adopting a permissive license would completely eliminate the need for a CLA. |
|||
| 10 | - Potential licenses include BSD, MIT, Apache. |
|||
| 11 | - Releasing OpenVPN 3.0 under a permissive license may lead to (big) companies forking it, potentially resulting in numerous incompatible forks. |
|||
| 12 | - To combat potential fragmentation, standardizing the OpenVPN protocol might be necessary, though this comes with substantial overhead. |
|||
| 13 | ||||
| 14 | ## Minimizing the Scope of the CLA |
|||
| 15 | - This approach reduces risks related to fragmentation, forks, and loss of contributions. |
|||
| 16 | - Aim to maximize the potential to extend OpenVPN through isolated APIs: |
|||
| 17 | - Plugins and similar extensions would not require a CLA. |
|||
| 18 | - Extension mechanisms in OpenVPN: |
|||
| 19 | - **2.x:** |
|||
| 20 | - Plugin API |
|||
| 21 | - Management interface |
|||
| 22 | - SSL library abstraction |
|||
| 23 | - Platform support (isolated by `#ifdefs`) |
|||
| 24 | - **3.x:** |
|||
| 25 | - SSL library abstraction |
|||
| 26 | - Other mechanisms |
|||
| 27 | - Potential separation of server-side and client-side code, where only the client-side would need a CLA. |
|||
| 28 | ||||
| 29 | ## Public Release Date for OpenVPN 3.x Codebase |
|||
| 30 | - Source packages are currently available in old tar.gz formats. |
|||
| 31 | - James aims to release this in the coming weeks. |
|||
| 32 | ||||
| 33 | ## Future of OpenVPN 2.x and 3.x |
|||
| 34 | - Transitioning to the AGPLv3-licensed OpenVPN 3.x codebase is favorable, provided that the negative impact of the CLA is minimized. |
|||
| 35 | - OpenVPN 2.x will remain maintained until 3.x can effectively replace it: |
|||
| 36 | - This may include releasing versions up to 2.5. |
