Both tap-windows and tap-windows6 are currently licensed under GPLv2. This is problematic, because the use of WDK library license can be seen as contradicting the GPLv2 license. Fortunately this is a problem others have pondered upon previously, so we don't have to reinvent the wheel.

Dazo (IRC) suggested using the same amendment as the KVM/SPICE project:

   With respect to binaries built using the Microsoft(R) Windows Driver
   Kit (WDK), GPLv2 does not extend to any code contained in or derived
   from the WDK ("WDK Code"). As to WDK Code, by using or distributing
   such binaries you agree to be bound by the Microsoft Software License
   Terms for the WDK. All WDK Code is considered by the GPLv2 licensors
   to qualify for the special exception stated in section 3 of GPLv2
   (commonly known as the system library exception).

Quoting dazo:

"The reason is that the KVM/SPICE clause have most likely been reviewed by Richard Fontana (Red Hat's licensing guru, and he is a lawyer). So that should have covered all the needed angles. How I understand this clause, it covers these areas:

  • The GPL license does not extend to the WDK code
  • The WDK license is separate, and you must comply to that as well as the GPL license
  • The tap driver considers the WDK code a system library, which GPL allows linking against despite not being a GPL library

And with that covered, shipping it further shouldn't be any problem, as the tap driver clearly is GPL."

Dgollub (IRC) suggested adding the following, based on discussions with his (company's) legal councellors:

"I think the relevant language that TAP should add to theirs would be more along the lines of the OpenSSL exception (that the TAP licensors grant a special exception to GPL to link against the windows driver code and distribute the work without subjecting the Windows code to the GPL). This language would go into the header of the copy of GPL that they supply with their software.":

  * In addition, as a special exception, the copyright holders give
  * permission to link the code of this program with certain software
  * included in the Microsoft(R) Windows Driver Kit (WDK), and distribute
  * linked combinations including the two.
  * You must obey the GNU General Public License in all respects
  * for all of the code used other than WDK code.  If you modify
  * file(s) with this exception, you may extend this exception to your
  * version of the file(s), but you are not obligated to do so.  If you
  * do not wish to do so, delete this exception statement from your
  * version.  If you delete this exception statement from all source
  * files in the program, then also delete it here.
Last modified 7 years ago Last modified on 07/15/14 13:48:00