Implementación en tres capas
Capítulo 5: El Software Libre en los sistemas Integrados de Gestión
2. Definición del SW Libre
El término software libre se refiere a libertad, y tal como fue concebido por Richard Stallman en su definición (Stallman 2002), se refiere concretamente a cuatro libertades:
1. Libertad para ejecutar el programa en cualquier sitio, con cualquier propósito y para siempre.
2. Libertad para estudiarlo y adaptarlo a nuestras necesidades. Esto exige el acceso al código fuente.
3. Libertad de redistribución, de modo que se nos permita colaborar con vecinos y amigos.
4. Libertad para mejorar el programa y publicar las mejoras. También exige el código fuente.
El término Open Source Software, promovido por Eric Raymond y la Open Source Initiative (Raymond 2001) se puede considerar equivalente al de software libre en algunos aspectos. Sin embargo, ―filosóficamente‖, el término es muy distinto, ya que hace énfasis en la disponibilidad de código fuente, no en la libertad, pero su definición e implicaciones reales son prácticamente las mismas.
Este nombre es más aséptico y recalca un aspecto técnico que puede dar lugar a ventajas técnicas, como mejores modelos de desarrollo y negocio, mayor seguridad, etc.
Por tanto, hay dos grandes familias de motivaciones para el desarrollo de software libre, que dan lugar asimismo a los dos nombres con que se lo conoce:
• La motivación ética, abanderada por la Free Software Foundation, heredera de la cultura hacker, y partidaria del apelativo libre, que argumenta que el software es conocimiento y debe poderse difundir sin trabas. Su ocultación es una actitud antisocial y la posibilidad de modificar programas es una forma de libertad de expresión. Puede profundizarse en este aspecto en los ensayos de Stallman (GNU Project s.d.).
• La motivación pragmática, abanderada por la Open Source Initiative y partidaria del apelativo fuente abierta, que argumenta ventajas técnicas y económicas
Aparte de estas dos grandes motivaciones, existen otra razones para trabajar con software libre, que van desde la diversión a la mera retribución económica, que es posible debido a modelos de negocio sustentables. (Barahona et al. 2003):
Sistemas Integrados de Gestión Empresarial. Evolución histórica y tendencias de futuro
Otros términos relacionados de alguna manera con el software libre: Freeware
Shareware
Charityware, Careware Dominio público Copyleft
Propietario, cerrado, no libre
El software libre trae consigo numerosas ventajas y pocas desventajas, muchas de ellas exageradas (o falseadas) por la competencia propietaria. (Barahona et al. 2003) De ellas la que más fundamento tiene es la económica, ya que no es posible obtener mucho dinero de la distribución y ésta la puede y suele hacer alguien distinto al autor.
Otras, como la falta de soporte o la calidad escasa, en muchos casos son falsas, ya que incluso software sin ningún tipo de financiación suele ofrecer muy buen soporte a través de foros de usuarios y desarrolladores, y muchas veces tiene una gran calidad.
Es importante mencionar que el modelo de costes del software libre es muy distinto del propietario, ya que gran parte de él se ha desarrollado con mecanismos de trueque, intercambiando programación entre diferentes desarrolladores. Pero además, gran parte de los costes de desarrollo disminuyen por el hecho de ser libre, ya que los programas nuevos no tienen por qué empezar desde cero, sino que pueden reutilizar software ya hecho. La distribución tiene también un coste mucho menor, ya que se hace vía Internet y con propaganda gratuita en foros públicos destinados a ello.
Otra consecuencia de las libertades es la calidad que se deriva de la colaboración voluntaria de gente que contribuye o que descubre y reporta errores en entornos y situaciones inimaginables por el desarrollador original. Además, si un programa no ofrece la calidad suficiente, la competencia puede tomarlo y mejorarlo, partiendo de lo que hay. Así, dos poderosos mecanismos: la colaboración y la competencia se combinan en aras de la calidad.
Todo ello tiene consecuencias beneficiosas, que pueden variar según el destinatario.
Para el usuario final
El usuario final no depende necesariamente del soporte del fabricante del software, ya que puede haber múltiples empresas, que disponiendo del código fuente y de conocimientos, puedan hacer negocio manteniendo determinados programas libres.
Ya no se depende tanto de la fiabilidad del fabricante para intentar deducir la calidad de un producto, sino que la guía nos dará la aceptación de la comunidad y la disponibilidad de los códigos fuentes.
Nos olvidamos además de las cajas negras, en las que hay que confiar porque sí, y de las estrategias de los fabricantes, que pueden decidir unilateralmente dejar de mantener un producto.
La evaluación de productos antes de adoptarlos es ahora mucho más sencilla, ya que basta con instalar los productos alternativos en nuestro entorno real y probar, mientras que para el software propietario hay que fiarse de informes externos o negociar pruebas con los proveedores, lo cual no es siempre posible.
Dada la libertad de modificar el programa para uso propio, el usuario puede personalizarlo o adaptarlo a sus necesidades, corrigiendo errores si los tuviera. Por lo general este proceso no suele ser satisfactorio en software propietario, ni en tiempos ni en calidad de la solución. En el caso de Software libre, el control pasa, en gran medida, del proveedor al usuario.
Para el desarrollador
Para el desarrollador y productor de software es más fácil competir siendo pequeño y adquirir tecnología punta. Puede aprovecharse del trabajo de los demás, compitiendo incluso con otro producto modificando su propio código. Bien llevado, un proyecto puede conseguir la colaboración gratuita de mucha gente, del que el iniciador será la referencia. Asimismo, la distribución es barata y global.
No obstante, el problema que tiene este desarrollador es la manera de obtener los recursos económicos si el trabajo no es por encargo.
Para el integrador
Para el integrador de sistemas, el software libre es una gran ventaja, ya que deja de tratar con módulos o programas cerrados, que tiene que ―comunicar‖, muchas veces sin saber cómo trabajan exactamente. Mediante el software libre tiene la posibilidad de integrar y modificar partes de programas y líneas de código para conseguir el producto integrado necesario, disponiendo de un extenso repertorio de software libre que puede utilizar.
Para el que proporciona mantenimiento y servicios
Este es el caso de las empresas consultoras y de desarrollo local, a medida. Disponer del código fuente lo cambia todo para este tipo de empresa, situándolas casi en las mismas condiciones que el productor original de la aplicación. Y no son las mismas porque hace falta un conocimiento profundo del programa que sólo el desarrollador posee, por lo que es conveniente que el mantenedor participe en los proyectos que se dedica a mantener. El valor añadido de los servicios es mucho más
Sistemas Integrados de Gestión Empresarial. Evolución histórica y tendencias de futuro
apreciado, ya que el coste del programa es bajo. Éste es actualmente el negocio más claro con software libre y con el que es posible un mayor grado de competencia.
3. El ERP de software libre o FSw ERP (Free Software Enterprise