Definición de Software Abierto
El software abierto, también llamado de código abierto o en inglés open source, se basa en los programas cuyo código no es secreto ni está sujeto a ningún tipo de licencia. Esto implica que se puede usar, cambiar y distribuir del modo que uno desee, sin ningún tipo de trabas. Los programadores de una aplicación entregan el programa a los usuarios, pero además enseñan, por así decirlo, sus tripas, su código, para que otros programadores puedan ver como funciona, como han trabajado e incluso para que puedan cambiarlo, mejorarlo o distribuirlo entre más gente.
Muchas veces se ha confundido con el software libre, si bien este si puede requerir tener una licencia de uso, mientras el software abierto no. Lo cierto es que la definición no está demasiado clara, pues muchos programas que sus autores llaman de código abierto, no son tales, al requerir de una licencia o autorización para ser modificados. El verdadero código abierto por definición no requiere ningún tipo de licencia, pero lo cierto es que cada día se viene usando tanto una como otra definición, de tal modo que hoy en día se suele considerar como programa de código abierto aquel que en el que simplemente su código fuente se hace público. Sea como sea, en general podemos decir que un programa de código abierto cumple con las normas para ser un programa libre, pero para los más puristas esto no es correcto al 100%.
El concepto es bastante moderno, y surgió en gran medida como medida antimonopolio contra los grandes distribuidores (Windows, Apple…). De hecho nació muy ligado al programa GNU y al sistema operativo Linux, el primer gran programa de código abierto. Un programa cuyo código pudiese ser mejorado por programadores de todo el mundo sería teóricamente un programa, además de gratuito, de gran calidad, y que estaría siempre en continua mejora y revisión. Una de las condiciones que un programador pide (y quizás la única), es que el resultado de modificar un programa de código abierto y sus mejoras, sigan siendo de código abierto, así que un programa puede ser mejorado, y ese programa mejorado podrá ser mejorado en un futuro,… y así sucesivamente. Se impide de este modo que un gran programa pueda caer en el lado comercial y la gente se lucre con él, vulnerando el deseo de su programador original. Naturalmente los programas distribuidos pueden tener condiciones impuestas por el autor. Muchos señalan por ejemplo que el software no debe reprogramarse con otros fines distintos de los originales, o que cualquier modificación se haga sin tocar el código original… etc… de hecho existe una serie de normas generales que se pueden consultar en la página web oficial de la fundación Opensource y luego cada proyecto puede tener las suyas propias.
Actualmente, además del mencionado Linux, existen multitud de programas de enorme calidad (LibreOffice, Firefox, Audacity, WordPress, Emule… etc), cuya sola mención nos da una idea del grado de desarrollo que esta idea ha tenido en el mundo. En cada programa trabajan de modo desinteresado cientos de personas en todo el mundo, encargadas de la mejora y de la actualización del software. Actualmente los grandes proyectos de código abierto suelen utilizar la figura de las fundaciones, entidades sin ánimo de lucro y que continúan su actividad gracias a subvenciones públicas o privadas.
Por Paulo Gonzalez Cruz, el 15/10/2012.