Quelles sont les raisons qui peuvent pousser à libérer un logiciel? Trois raisons sont généralement invoquées : protéger le logiciel, améliorer le logiciel, mutualiser les compétences.

1) Protéger le logiciel

Libérer un logiciel, c'est avant tout le faire bénéficier de la protection juridique des licences libres, qui assurent, entre autres, que le logiciel ne sera jamais propriétarisé par une entreprise ou un individu.
Les logiciels libres sont, comme tous les logiciels, protégés par la licence qui les encadre. Les licences libres sont des protections juridiques dont la solidité est égale à celle des logiciels propriétaires, comme en atteste la jurisprudence en la matière. Un exemple qui illustre cette protection des logiciels libres est l'affaire Jacobson contre Katzer. La Cour d’appel des États-Unis confirme que le respect des conditions de la licence GPL est vital à ce que le détenteur d’une licence à source ouverte puisse maintenir le droit de bénéficier du travail des contributeurs et que le non-respect de ces conditions donne droit à une poursuite sur la base d’une violation des droits du détenteur du droit d’auteur dans le logiciel original.

Les licences libres régissent le mode de diffusion et d'évolution du logiciel.
La protection juridique qu'elles confèrent aux logiciels est mobilisable devant les tribunaux. Les juristes et avocats de la Free Software Foundation sont organisés pour aider les projets de logiciels libres qui auraient à faire face à un conflit de propriété intellectuelle.

2) Améliorer le logiciel

Libérer un logiciel permet de mettre en œuvre les conditions de son amélioration

  1. Le logiciel peut évoluer plus vite grâce à l'apport d'énergie et d'idées externes. C'est une sorte de second souffle pour des logiciels qui pourraient être en perte de vitesse.
  2. Parce qu'il sera plus largement utilisé et que tous les informaticiens pourront modifier son code, ses imperfections seront plus vite corrigées. Ainsi, ouvrir son logiciel permet d'avoir un débogage plus poussé et plus rapide, donc plus efficace. Classiquement, dans le cycle de développement d’un logiciel, l’étape la plus longue est celle du débogage et de la maintenance. Corriger un bogue est plus facile lorsqu’on dispose de nombreux bêta-testeurs et quand on peut lire et modifier le code.

3) Mutualiser des compétences et des connaissances:

  1. Libérer un logiciel permet de mieux canaliser l'énergie et le travail fourni pour le développement d'un logiciel. Ainsi, on constate un allègement du travail de codage. Le Logiciel Libre accélère le développement en autorisant le développeur à puiser dans un pot commun de solutions les parties du code qui ont déjà été publiées par d’autres : il n’a plus à réinventer ce qui a été fait et peut se concentrer sur la partie réellement novatrice de son logiciel. En somme, un développement plus rapide, en prenant le meilleur de l’existant comme base.
  2. Les ravaux de rédaction de la documentation et d’assistance technique sont partagés entre tous les utilisateurs. Ainsi, l'entraide et la solidarité peuvent se développer, améliorant ainsi le « service après-vente » du logiciel.

Dans le milieu du libre, on parle souvent de l'histoire d'un professeur de mathématiques qui a développé un logiciel de géométrie pour ses élèves et qui a décidé en 2003 de le mettre sous licence libre. Cet exemple de libération de logiciel a bénéficié à la fois au public et à son concepteur. Un article plus complet sur Framasoft

En pratique, voici la page de VeniVindiLibri, qui explique les détails juridiques de la libération de vos logiciels.