You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.3 KiB

Audacity: A Digital Audio Editor
James Crook
\page WidgetMigration Migration of Generic Code To wxWidgets
\section MigrationIntro 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.
\section MigrationHow 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.
\section MigrationItems Code Slated For Migration
Some examples of code that is slated for wxWidgets migration:
- Theme code, see \ref Themability
- ShuttleGui code, see \ref ShuttleSystem
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 doucmentation 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.