Reutilizar programas libres

Una de las grandes ventajas del software libre es su potencial de reutilización. Puedes incorporar código de otros proyectos de software libre en nuevos proyectos, ahorrando tiempo y permitiéndote construir sobre los hombros de gigantes. Por supuesto, hay que respetar el trabajo del proyecto original, y eso significa cumplir los términos de su licencia de software libre.

Lee siempre con atención la licencia cuando incorpores de otra persona a tu propio programa.

Incorporar programas permisivos en nuevas obras

El principal atractivo de las licencias de software es la posibilidad de incorporarlas en cualquier cosa con relativamente pocas obligaciones con los titulares de derechos de autor. La mayoría de las licencias permisivas solo requieren que incluyas el texto de la licencia, o simplemente una declaración de derechos de autor, en tu producto. Para los proyectos de software libre que incorporan código bajo licencias permisivas en sus obras, cumplir con estas obligaciones suele ser tan sencillo como incluir una licencia adicional con tu código fuente.

Cuando incorpores programas libres con licencias permisivas en obras que no sean libres, debes distribuir la licencia de software libre y/o la atribución de derechos de autor con tu programa. Muchos usuarios comerciales de programas libres con licencias permisivas incluyen un menú en algún lugar de su producto que enumera las licencias de software aplicables o incluyen una versión impresa con el producto. Deberás adoptar un enfoque similar.

Incorporar programas copyleft en nuevas obras

Los programas copyleft no pueden ser incorporados en programas no libres.

La mayoría de los programas libres pueden incorporarse a programas copyleft, y viceversa, si las licencias son compatibles. Como regla general, la mayoría de las licencias permisivas populares —pero no todas— son compatibles con la mayoría de las licencias copyleft populares. Algunas licencias copyleft son compatibles con otras licencias copyleft (por ejemplo, la Mozilla Public License 2.0 es compatible con la familia de licencias GNU), pero muchas no lo son. Dos proyectos cualesquiera que utilicen la misma licencia copyleft son compatibles entre sí y pueden compartir código libremente.

El proyecto GNU mantiene una lista de licencias que son compatibles e incompatibles con la familia GPL de licencias copyleft aquí.

Incorporar código permisivo a un proyecto copyleft es sencillo si las licencias son compatibles: consulta la sección anterior.

Lo contrario, incorporar un programa copyleft a un proyecto de software con una licencia permisiva, es menos sencillo. En este caso, la obra combinada queda sujeta a los términos de la licencia copyleft. Gestionar una amalgama de licencias permisivas y copyleft en una misma obra es posible, pero tiene implicaciones importantes y significativas para tu proyecto. Esto se suele desaconsejar encarecidamente a quienes no son expertos: no mezcles código copyleft con un proyecto permisivo a no ser que estés preparado para que tu proyecto se pase a una licencia copyleft.

Gestionar muchas licencias y derechos de autor en un mismo proyecto

Los proyectos de mayor envergadura y complejidad pueden incorporar programas de muchas fuentes diferentes con varios titulares de derechos de autor y licencias distintos. Si este es el caso de tu proyecto, te recomendamos que consideres aplicar la especificación REUSE a tu obra.