Codebase list audacity / fresh-snapshots/main dox2-src / WidgetMigration.dox2
fresh-snapshots/main

Tree @fresh-snapshots/main (Download .tar.gz)

WidgetMigration.dox2 @fresh-snapshots/mainraw · history · blame

/**********************************************************************

  Audacity: A Digital Audio Editor

  WidgetMigration.dox2

  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 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.

*//********************************************************************/