Liberación de código

El proceso de liberación de software exige tener presente diversas consideraciones, algunas de las cuales se mencionan a continuación:

Lo primero es elegir el tipo de licencia bajo el cual se liberará. Existen muchos tipos de licencias y cada una tiene sus características propias. En algunos casos son compatibles entre ellas y en otros casos no. Por lo tanto, se deberá prestar atención en las librerías que se usan al momento del desarrollo, si se ha reutilizado código, y bajo que licencias fueron liberados tales códigos. Licenciamiento

A modo de ejemplo, la licencia GPL es una licencia que permite todos los usos, redistribuir, modificar y crear derivados exigiendo que ese software se siga distribuyendo con la misma licencia. De esta forma se asegura que el software y sus modificaciones sigan siendo libres. Este es un ejemplo de licenciamiento Copyleft, y es de los más usados.

El sitio de OSS Watch constituye una guía muy práctica para determinar la elección de la licencia. Otro sitio que apunta al mismo propósito es: http://choosealicense.com/

Una vez elegido el tipo de licencia, se recomienda indicar en cada archivo del código fuente el licenciamiento elegido, atendiendo las siguientes consideraciones:

- En la cabecera del archivo escribir el Copyright.

Copyright 2014 Juan Fernández.

(En caso de existir más de un autor especificar una linea por cada autor.)

- A continuación se escribe un pequeño texto que especifica que licencia  se está usando

Existe un texto estándar para cada licencia (en el caso de GPL):

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>

- También se sugiere incluir un archivo de texto con el texto completo de la licencia, el cual normalmente lo encontramos con el nombre README o LICENSE (en mayúsculas y sin extensión) y su contenido debe ser el texto exacto de la licencia, sin modificaciones. En particular el texto de la licencia GPL (versión 3) se puede encontrar en el sitio del proyecto GNU.

Por último se debe publicar el código en un lugar de acceso público. Se puede comprimir todo el código en un único archivo y publicar en un sitio personal, en un servidor FTP, en un servidor de la empresa o donde se prefiera. Existen sitios en Internet que permiten publicar el código, dependiendo del sistema de control que el autor quiera usar. Los más usados o conocidos (aunque no son los únicos) son Sourceforge.net, el mismo utiliza Subversion, y por otro lado github, que utiliza GIT, entre otros.
Estos sitios también colaboran con la difusión del software que se publica lo que redunda en un beneficio para el proyecto.
Conjuntamente con la publicación del código, es importante, y de mucha ayuda para los usuarios y colaboradores, publicar la documentación del software. También se recomienda explicitar allí el tipo de licencia bajo el cuál está liberado, así como en un apartado del tipo “Acerca de ...”.
Por último, es recomendable tener algún canal que permita crear una comunidad alrededor del proyecto publicado, a través del se puedan intercambiar experiencias de uso, registro y correcciones de errores (bugs), e incluso tener un soporte del software.