Audacity 3.2.0
Migration of Generic Code To wxWidgets

Introduction

Some of the code in Audacity may in time migrate into the wxWidgets library. It is both in Audacity's interests and wxWidgets interests that this kind of code migration be possible.

How This is Being Done

To facilitate this some generic parts of Audacity are being written with the wxWindows license, rather than with the GPL. There are many ways this can be achieved and stay within both the spirit and letter of the GPL. The most clearcut way is to actually compile the migratable code in a separate intermediate wxWindows licensed library that is then linked with wxWidgets and the GPL'ed Audacity code. Another approach is as each source file is created, release it under the wxWindows license. It is automatically then also a GPL compatible file, and it is a GPL licensed version that is linked in to the exe. The wxWindows licensed version is still available from our SVN. This is what we are doing. We require that developers checking in changes into Audacity SVN for these files authorise their changes to be used under the wxWindows license. Of course anyone is free to use these dual-licensed files under the GPL instead. They may also choose to make their changes GPL only, but in that case they may not check their changes back into our SVN.

Code Slated For Migration

Some examples of code that is slated for wxWidgets migration:

The migration process is expected to be slow. It may be several years before we formally offer some of the code to wxWidgets. We want to contribute mature well tested code, complete with documentation demo sample code etc. We want the code for migration to be of a maturity suitable for inclusion in the default wxWidgets distribution from the start, in the same way that optional sub libraries like the PNG library are included, rather than as a contrib.