Software Libre : Aclarando conceptos básicos…
A la vista de ciertos comentarios, tweets y alguna que otra conversación, veo que hay personas que siguen sin entender la diferencia entre los tipos de software que hay, así que aquí vamos a aclarárselas. 😉
El software se clasifica en dos categorías: Software con código disponible y Software sin código disponible.
Software con código disponible
- A: Software Libre (free software) : Aplicación, librería y cualquier algoritmo cuyo creador ha designado mediante una licencia «libre» (GNU, GPL, MIT, …) de manera que el usuario es libre de hacer con ese software y el código fuente, lo que desee con ciertas limitaciones definidas por las licencias redactadas por la FSF. El autor del software (o la empresa autora del software) cuando sacan una versión, define la licencia por la que se regirá dicha versión: qué se puede hacer y qué no.
Dentro de esta categoría hay muchas otras categorías: que permiten más cosas o menos cosas. Hay que recordar que una licencia es un acuerdo sobre qué cosas permite el autor hacer a su software, por lo que mientras cumpla ciertas normas básicas, se considera software libre. - B: Código abierto (open source) : Aplicación de la que se dispone el código fuente, aunque esto no implica que el código sea libre, ni que tenga una licencia libre, ni que el autor permita hacer modificaciones, ni otorgue libertad alguna al usuario sobre venta, distribución, modificación, etc. simplemente que puedes ver el código fuente, cómo está hecho pero no hay posibilidad de modificarlo para tu uso ni de distribuir tus modificaciones. En muchas ocasiones se habla de «open source» cuando quieren decir «software libre», pero no siempre es así.
Software sin código disponible
- C: Software Gratuito (free software) : Aplicación, librería y cualquier algoritmo que un usuario puede utilizar sin tener que pagar por él. No tienes acceso al código fuente, ni puedes hacer modificaciones.
- D: Software Shareware : Aplicación, librería y cualquier algoritmo que un usuario puede utilizar con intención de probarlo y que es completamente funcional, aunque si el usuario quiere utilizarlo, deberá pagar por él.
- E: Software comercial (comercial software) : Aplicación, librería y cualquier algoritmo al que no se permite su uso sin haber un contrato de compraventa anterior, es decir, si no se ha pagado por él.
- F: Software alquilado (licensed software) : Aplicación, librería y cualquier algoritmo al que se solo se le permite ser utilizado adquiriendo una licencia de uso y no se permite su «compraventa», por lo que el software nunca pertenece al usuario, no puede revenderlo, ni cederlo, si no que se le otorga permiso para ser utilizado.
Un software solo puede tener una licencia, y por norma, es la más restrictiva aplicable en todo caso.
De manera que si un software es gratis para 2 usuarios, pero si se superan los 2 usuarios hay que pagar por cada nuevo usuario, entonces es es tipo E (software comercial) (con un descuento para pocos usuarios).
Si un software no tiene publicado su código fuente pero no hay que pagar por el, entonces es de tipo C (software gratuito).
Si una vez comprado el software, lo has usado y con el tiempo ya no te sirve, si no puedes copiarlo a un CD/USB/ISO, meterlo en una caja y vendérselo a otro usuario, entonces es de tipo F (software licenciado)
Si habéis leído estas definiciones, os daréis cuenta que hay diferencias entre «software libre», «open source» y «free software», pueden parecer similares y muchos medios de comunicación tienden a confundirlos, confundiendo también a sus lectores. Cualquier aplicación que utilices debe encontrarse en una de estas 6 categorías, desde la más libre (A) hasta la más restrictiva (F). Entre ellas, hay un mar de licencias, permisos, auditorías, copyrights, y un largo etcétera cuyo principal objetivo es confundir al usuario.
Unos ejemplos:
- El Kernel de Linux, es software libre, ya que puedes obtener el código fuente, modificarlo, y venderlo.
- Microsoft Windows XP, es software licenciado, ya que lo único que te ofrecen es una licencia de uso, el software nunca será tuyo.
- CentOS (5, 6, 7), es software libre, ya que al tener licencia GPLv2, se permite hacer todo lo estipulado por la licencia GPL.
- Sublime Text, Total Commander, WinZIP, son software del tipo Shareware, ya que son aplicaciones que hay que pagar por ellas si queremos usarla, pero tiene un periodo en el que podemos hacer uso de ella sin limitaciones funcionales o bien únicamente nos recuerdan que debemos comprarla.
- Asterisk, es software libre, ya que tiene licencia GPL v2.
Dónde se ejecuten (en la nube, en un servidor, en un móvil o en un microPC) es indiferente, ya que eso solo afecta a dónde se está ejecutando dicha aplicación, no qué tipo de aplicación es.
Aprovecho estas últimas líneas para comentar que los próximos días 5 y 6 de Mayo, en Málaga se celebra la Open South Code 2017, un evento completamente gratuito sobre software libre, donde cualquiera puede asistir a numerosas charlas, debates y conversaciones sobre muchos, muchos campos y mucha, mucha gente, a 50m de la playa y en uno de los mejores barrios donde comer pescado. Únicamente hay que inscribirse en la página web: https://www.opensouthcode.org