Wie lizensiere ich meine selbstgebauten Programme am besten?

Wenn DU etwas selbst geschrieben hast, wirst Du entscheiden müssen, wie du das Programm lizensierst. Es ist überhaupt kein Problem, ein Programm gleichzeitig kommerziell zu vermarkten und frei unter der GPL zu verteilen - die Datenbank MySQL wird so gehandhabt.

Du lizensiert Dein Programm kommerziell (mit Support und automatischen Upgrades usw, was auch immer) an Deine Kunden, und bietest aber gleichzeitig ein tar.gz auf Deinem FTP Server zum freien Download an. Damit die beiden Lizenzen sich nicht beißen, und nicht jemand Deine freien Sourcen nimmt und einen "version split" produziert, solltest Du einiges beachten. Stelle vor allem sicher, daß Du Patches, die Dir geliefert werden, benutzen DARFST; und halte die GPL-Version aktuell genug, damit keiner es für nötig hält, deine kommerziellen Verbesserungen neu zu schreiben.

Du kannst in Dein Programm z.B. folgende Zeilen reinschreiben, um sicher zu gehen, daß alle Verbesserungen in Deine Version mit einfließen (dürfen/können):

 /*
  * Copyright (c) 1998 XXXXXX Ltd.
  *
  * NOTE: This code may be distributed under the terms of the GNU GPL
  * (see below), but XXXXX also license it under other commercial terms.
  * To avoid a version split, if you have bugfixes for this file, please
  * either:
  * 1) Assign copyright to XXXXX, so we may use it in both places, or
  * 2) Place your patches into the public domain, or
  * 3) Give XXXXXX permission to use your changes, or
  * 4) Expect us to rewrite your patch.
  *
  * If you do have to make a change without consulting XXXXXX, please be
  * particularly scrupulous about observing the GPL requirement to note
  * what changes you made, so an eventual merge can be managed.
  */

Dann sollten Leute, die Patches produzieren, in ihre Patchfiles das folgende einbauen - dann müssen sie nicht ihr Copyright/ihre "Credits" aufgeben:

 /*
  * To place your patches in the public domain, just give your name, a
  * brief description, and a statement like the following:
  *
  * June 199 Random Hacker (random@hacker.org):
  *      Updated for 2.3.43 VFS changes.  These changes placed in the
  *      public domain. Use at your own risk only.
  */

Man sollte hier aber unbedingt darauf achten, daß "public domain" nicht falsch interpretiert wird -- in einigen Gesetzbüchern steht nicht explizit drin, daß "public domain" auch "keine Verantwortungsübernahme" heißt...