miércoles, 14 de julio de 2010

Free Software vs. Open Source


En 1998, aparece un nuevo movimiento en el mundo del software, el cual se dice llamar Open Source o Código Abierto y es impulsado por la Open Source Initiative (www.opensource.org). Aunque el Software Libre y el Open Source parecen similares, tienen distintas filosofías creando mucha confusión entre los usuarios y desarrolladores. La Free Software Foundation deja claro que "el movimiento del software libre y el movimiento Open Source son como dos partidos políticos en nuestra comunidad". Open Source describe una categoría de licencias de software casi, pero no completamente, igual que software libre. Muchas personas creen que si algún software te ofrece el código fuente, es Open Source. Sin embargo, mucho de este software catalogado como Open Source, aunque te da la libertad de modificar el código fuente, no da la libertad de distribuir sus modificaciones. En algunas ocasiones puedes hacerlo, siempre y cuando, notifiques por escrito al titular del software. En muchas de las ocasiones restringen el uso comercial de éste.
En resumen, Open Source y Free Software son dos movimientos distintos con diferentes filosofías. Por un lado el Software Libre hace énfasis en que todos los programadores y desarrolladores tienen la obligación ética de respetar las 4 libertades, y por el otro lado, la corriente Open Source intenta convencer a las empresas de que pueden obtener beneficios respetando la libertad de sus usuarios al intercambiar y compartir sus programas. Aunque son movimientos distintos, ambos luchan contra su principal enemigo, el software propietario.

Foro #9 Futuro del SL


Hace solamente unos cinco años, el software libre (llámese open source, free software, etc.) era todavía una curiosidad, algo que algunas empresas arriesgadas estaban probando y que muchas otras consideraban cosa de comunistas y de locos que regalaban su trabajo. Hoy en día, el software libre se ha establecido como una verdadera alternativa para empresas de diferentes tallas, desde las micro hasta las más grandes empresas de la talla de IBM.

Solamente los pocos informados, o los que ven sus intereses afectados, siguen desdeñando al software libre y poniéndolo en un plano inferior al software comercial. Sin embargo, la inserción del software libre en un ambiente de fuertes intereses comerciales no ha carecido de situaciones ríspidas y de tropiezos. Con estas experiencias cabe preguntarse si estos problemas seguirán presentes o incluso se amplificarán, o bien si hay soluciones que resulten convenientes para todas las partes involucradas

Los próximos retos del software libre. 1º Los estándares abiertos
Son dos los retos que se le plantean al software libre. El primero es el de la utilización por la sociedad (tanto empresas como administración) de los estándares abiertos. Expliquemos primero el concepto antes de ver su relación con el software libre. Un ejemplo de estándar abierto para el común de los usuarios puede ser el enchufe eléctrico. El uso de un estándar cerrado en el mundo de los enchufes eléctricos sería equivalente a que cada fabricante de enchufes tuviera un distinto tamaño y forma de enchufe y además pudiera cobrar a otros fabricantes por crear clavijas conectables con la suya.
Evidentemente siendo así usted tendría problemas para utilizar aparatos eléctricos en su casa o en su oficina ya que no siempre tendrían la clavija adecuada o debería estar poniendo adaptadores a algunos de sus aparatos con el consiguiente inútil incremento de coste.
La relación de los estándares abiertos con el software libre viene dada por la restricción a la competencia que suponen los estándares cerrados en el mundo de los sistemas de información. No se compite por la calidad o las prestaciones de una solución sino por ser propietario del estándar mayoritario para una determinada necesidad. Continuando con el ejemplo de los enchufes, Podríamos decir que el software libre ha creado multitud de electrodomésticos fantásticos (y no tan fantásticos) pero a veces tiene problemas por que tiene que utilizar un enchufe en el que no siempre tiene permiso, o simplemente información de como enchufarlo.
Ahí vuelve a ser destacable la legislación recientemente publicada por la administración extremeña que proclama los estándares abiertos como requerimiento dentro de su administración.

2º reto del software libre la dispersión
Y el segundo reto es el de la dispersión. La libertad de elección que supone el software libre a la hora de colaborar causa que multitud de esfuerzos se repitan por millones de programadores.

Foro #8 Migrando a SL en una empresa


Con la crísis económica actual, muchos entusiastas del software libre que gustan de realizar actividades de evangelización ven una oportunidad para promover el uso de software libre en empresas y otras instituciones (escuelas por ejemplo). Está bien que promovamos el uso del software libre (independientemente de que haya crísis o no), pero antes de alentar a una empresa o institución a migrar de software privativo a software libre, debemos tener en cuenta los siguientes puntos:
1. Que los dueños, directivos, etc. tengan bien claro el concepto de software libre
Es importante que los dueños de la empresa, etc. tengan bien claro que software libre no significa necesariamente software grátis (aunque la mayoría del software libre sea además software grátis). Si la única motivación de los dueños para migrar a software libre es porque instalando alguna distribución de GNU/Linux (de las que son grátis) y OpenOffice en sus equipos se van a ahorrar el costo de las licencias del sistema operativo y la suite de oficina que usan actualmente, entónces ese proyecto tiene 90% (o más) probabilidades de fracasar.
Las verdaderas ventajas de migrar a software libre son la independencia tecnológica, la seguridad, estabilidad, etc. que el software libre ofrece. Debe quedarles bien claro a los dueños que el software libre no es cuestión de precio, sino de libertad.
Si es posible, también se debe capacitar a los usuarios finales sobre los conceptos de software libre, para que lo conozcan, comprendan la decisión de la empresa de hacer la migración y se vayan sintiendo parte del proyecto.
2. Tener un plan para capacitar a los usuarios en el software que se va a instalar
Si pretendemos instalar por ejemplo Ubuntu en todas las máquinas de los usuarios de un dia para otro y esperar que solitos sepan como usarlo definitivamente somos muy ingenuos y eso va a ser un caos y van a empezar a llover las quejas de los usuarios.
La capacitación debe ser obligatoria para “todos” los empleados que usen una PC en la empresa, debe ser por fases y en grupos relativamente pequeños, de preferencia va a tener que hacerse en su horario normal ya que no van a estar dispuestos a quedarse tiempo extra por tener que asistir a la capacitación, eso ya de entrada va a generar una resistencia al proyecto por parte de los usuarios.
3. Los dueños deben estar 100% convencidos y apoyar el proyecto
A los usuarios finales normalmente no les agrada el cambio, ellos aplican la ley del menor esfuerzo, parece que sus pensamientos son algo asi como:
“Si OpenOffice me ofrece ventajas sobre la suite de oficina que uso actualmente pero no se usa “exactamente igual” entónces prefiero no usarla. Es decir, si tengo que invertir tiempo y esfuerzo porque hay una pequeña curva de aprendizaje, por mínimo que este sea, no estoy dispuesto a hacerlo.”
Con esta actitud, al quitarles a los usuarios su suite de oficina a la que están acostumbrados e instalarles OpenOffice, los usuarios siempre buscan pretextos para ser menos productivos echandole la culpa al nuevo software, es decir, no pude terminar a tiempo la hoja de cálculo de x cosa porque no supe como hacer esto que en el otro programa se hacía asi. Es ahí en donde se requiere la interveción de los directivos para transmitir a los usuarios de una manera firme, para que no haya dudas, de que es una decisión tomada y no hay marcha atras, que se requiere de su apoyo ya que esto va a traer beneficios en el mediano y largo plazo; yo agregaría definitivamente que el que no esté dispuesto a brindar el apoyo que se les solicita no cumple el perfíl de empleado que la empresa necesita y por lo tanto la empresa tendrá que buscar otra persona que ocupe su lugar, aunque bueno, esto ya dependerá si quieren correr el riesgo de que les boicoteen el proyecto o si quieren estar aguantando caprichos de los usuarios (el clásico ejemplo “es que en el otro programa el botón era de color azul y aquí es naranja” o, “en el otro programa la opción tal estaba en tal menú y aquí esta en otro, por eso no le entiendo, me cuesta trabajo”)
4. Hacer un análisis para determinar el software que se va instalar en cada caso
Dependiendo del tamaño de la empresa, el número de equipos, las aplicaciones que usa y sus nececidades, se determinará que sistema operativo se instalará en los servidores y que sistema operativo en las máquinas de escritorio. Por ejemplo, en una empresa se puede llegar a la conclusión que para su servidor de correo se va a instalar FreeBSD, a las secretarias se les va a instalar Ubuntu y a las portátiles de la fuerza de ventas se les va a instalar otra distribución de GNU/Linux; y en otra empresa talvez se decida que todos los equipos van a tener instalado Linux Mint.
5. Hacer la migración por fases
Lo mas recomendable es empezar migrando lo que podamos migrar sin afectar al usuario final, por ejemplo, si la empresa tiene un servidor de correo que usa software privativo, migrar ese servidor a software libre de tal manera que sea transparente para el usuario, es decir, el usuario ni cuenta se va a dar de que ya no es el mismo software el encargado de hacer el envio y recepción de sus correos.
Si la aplicación de software libre que se va a utilizar para x cosa tiene una versión para el sistema operativo que actualmente se usa en la empresa, instalar esa versión sobre ese sistema operativo (después de la capacitación sobre la misma desde luego) y una vez que los usuarios estén cómodos usando todas las aplicaciones que estén en este caso, ya migrar el sistema operativo, así el cambio no es tan brusco.
Por ejemplo, si el sistema operativo que usan los usuaarios finales es Microsoft XP y la suite de oficina es Microsoft Office y se decidió que se va a usar como suite de oficina OpenOffice y como sistema operativo Ubuntu, primero instalarles a los usuarios la versión de OpenOffice para windows y una vez que se hayan acostumbrado a usar OpenOffice y se sientan cómodos trabajando con el, ya migrar el sistema operativo (de XP a Ubuntu en este caso) y no van a sentir diferencia al usar OpenOffice sobre Ubuntu debido a que ya lo venían usando, sólo que sobre Windows.
Si no tomamos en cuenta estos puntos, probablemente el proyecto fracase y tanto los dueños como los usuarios de la empresa se queden con la impresión de que el software libre no funciona, es difícil de usar, etc. Cuando en realidad la culpa fue nuestra ya que insistimos en hacer un proyecto de migración en un lugar en donde no se tenían las condiciones para hacerlo.
Por esto, antes de hacer una migración, se debe concientizar a los dueños que tienen que poner de su parte y hacer que sus empleados pongan de su parte también, si no es así, mejor no iniciar la migración, ya que sería un proyecto destinado al fracaso.

Foro #7 Debatiendo sobre...


VENTAJAS DEL SOFTWARE LIBRE

1. Económico (más de mil millones de euros en licencias de Microsoft en España anuales)

El bajo o nulo coste de los productos libres permiten proporcionar a las PYMES servicios y ampliar sus infraestructuras sin que se vean mermados sus intentos de crecimiento por no poder hacer frente al pago de grandes cantidades en licencias.

La práctica totalidad de los concursos para desarrollo de software para la administración publica pasan por compatibilizar con productos de la factoría de Microsoft, por lo que garantiza la perpetuación e ingresos hacia Microsoft y no favorece a las empresas locales que pudieran ofrecer productos equivalentes.

Además de la reducción de costes por uso de software libre. ¿Qué podrían aportar esas inversiones si los beneficiados fuesen empresas del propio estado, en lugar de mandar a una compañía extranjera esas enormes cantidades de dinero?

2. Libertad de uso y redistribución

Las licencias de software libre existentes permiten la instalación del software tantas veces y en tantas máquinas como el usuario desee.

3. Independencia tecnológica

El acceso al código fuente permite el desarrollo de nuevos productos sin la necesidad de desarrollar todo el proceso partiendo de cero. El secretismo tecnológico es uno de los grandes frenos y desequilibrios existentes para el desarrollo en el modelo de propiedad intelectual.

4. Fomento de la libre competencia al basarse en servicios y no licencias

Uno de los modelos de negocio que genera el software libre es la contratación de servicios de atención al cliente. Este sistema permite que las compañías que den el servicio compitan en igualdad de condiciones al no poseer la propiedad del producto del cual dan el servicio.

Esto, además, produce un cambio que redunda en una mayor atención al cliente y contratación de empleados, en contraposición a sistemas mayoritariamente sostenidos por la venta de licencias y desatención del cliente.

5. Soporte y compatibilidad a largo plazo

Este punto, más que una ventaja del software libre es una desventaja del software propietario, por lo que la elección de software libre evita este problema. Al vendedor, una vez ha alcanzado el máximo de ventas que puede realizar de un producto, no le interesa que sus clientes continúen con el. La opción es sacar un nuevo producto, producir software que emplee nuevas tecnologías solo para éste y no dar soporte para la resolución de fallos al anterior, tratando de hacerlo obsoleto por todos los medios, pese a que este pudiera cubrir perfectamente las necesidades de muchos de sus usuarios.

Veanse diferentes versiones de Windows que dejan de ser soportadas por Microsoft o software de grabación que no admite nuevos modelos de grabadoras ópticas sin una actualización, aún cuando la grabadora nueva emplee el mismo mecanismo de grabación que la antigua.

6. Formatos estándar

Los formatos estándar permiten una interoperatividad más alta entre sistemas, evitando incompatibilidades. Los estándares de facto son válidos en ocasiones para lograr una alta interoperatividad si se omite el hecho que estos exigen el pago de royalties a terceros y por razones de mercado expuestas en el anterior punto no interesa que se perpetúen mucho tiempo.

Los formatos estándares afectan a todos los niveles. Un ejemplo lo estamos viendo en los documentos emitidos por las administraciones publicas en distintos formatos y versiones, que producen retrasos y dificultades en el acceso adecuado a la información para las mismas administraciones y para sus usuarios. Algunas administraciones de la unión europea ya están dando el paso a formatos abiertos como ODF (Open Document Format).

7. Sistemas sin puertas traseras y más seguros

El acceso al código fuente permite que tanto hackers como empresas de seguridad de todo el mundo puedan auditar los programas, por lo que la existencia de puertas traseras es ilógica ya que se pondría en evidencia y contraviene el interés de la comunidad que es la que lo genera.

8. Corrección mas rápida y eficiente de fallos

El funcionamiento e interés conjunto de la comunidad ha demostrado solucionar mas rápidamente los fallos de seguridad en elsoftware libre, algo que desgraciadamente en el software propietario es mas difícil y costoso. Cuando se notifica a las empresas propietarias del software, éstas niegan inicialmente la existencia de dichos fallos por cuestiones de imagen y cuando finalmente admiten la existencia de esos bugs tardan meses hasta proporcionar los parches de seguridad.

9. Métodos simples y unificados de gestión de software

Actualmente la mayoría de distribuciones de Linux incorporan alguno de los sistemas que unifican el método de instalación de programas, librerías, etc. por parte de los usuarios. Esto llega a simplificar hasta el grado de marcar o desmarcar una casilla para la gestión del software, y permiten el acceso a las miles de aplicaciones existentes de forma segura y gratuita a la par que evitan tener que recurrir a páginas web de dudosa ética desde las que los usuarios instalan sin saberlo spyware o virus informáticos en sus sistemas. Este sistema de acceso y gestión del software se hace practicamente utópico si se extrapola al mercado propietario.

10. Sistema en expansión

Las ventajas especialmente económicas que aportan las soluciones libres a muchas empresas y las aportaciones de la comunidad han permitido un constante crecimiento del software libre, hasta superar en ocasiones como en el de los servidores web, al mercado propietario.

El software libre ya no es una promesa, es una realidad y se utiliza en sistemas de producción por algunas de las empresas tecnológicas mas importantes como IBM, SUN Microsystems, Google, Hewlett-Packard, etc. Paradojicamente, incluso Microsoft, que posee sus propias herramientas, emplea GNU Linux en muchos de sus servidores. Podemos augurar sin lugar a dudas un futuro crecimiento de su empleo y una consolidación bien merecida..

Foro #6. Licencias del SL


Tipos de licencias

Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias:

Licencias GPL
Una de las más utilizadas es la Licencia Pública General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.
Es decir, la licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL y código "B" licenciado bajo otro tipo de licencia libre, el código final "C", independientemente de la cantidad y calidad de cada uno de los códigos "A" y "B", debe estar bajo la licencia GNU GPL.
En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contemplan ni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con código gobernado por la licencia GNU GPL.
En el sitio web oficial de GNU hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.
Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL.

Licencias AGPL
La Licencia Pública General de Affero (en inglés Affero General Public License, también Affero GPL o AGPL ) es una licencia copyleft derivada de la Licencia Pública General de GNU diseñada específicamente para asegurar la cooperación con la comunidad en el caso de software que corra en servidores de red.
La Affero GPL es íntegramente una GNU GPL con una cláusula nueva que añade la obligación de distribuir el software si éste se ejecuta para ofrecer servicios a través de una red de ordenadores.
La Free Software Foundation recomienda que el uso de la GNU AGPLv3 sea considerado para cualquier software que usualmente corra sobre una red.<4>

Licencias estilo BSD
Llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene la protección de copyright únicamente para la renuncia de garantía y para requerir la adecuada atribución de la autoría en trabajos derivados, pero permite la libre redistribución y modificación, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son fácilmente absorbidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles. Puede argumentarse que esta licencia asegura “verdadero” software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre (normalmente utilizando la siguiente analogía: "una licencia BSD es más libre que una GPL si y sólo si se opina también que un país que permita la esclavitud es más libre que otro que no la permite").

Licencias estilo MPL y derivadas
Esta licencia es de Software Libre y tiene un gran valor porque fue el instrumento que empleó Netscape Communications Corp. para liberar su Netscape Communicator 4.0 y empezar ese proyecto tan importante para el mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos. La MPL es Software Libre y promueve eficazmente la colaboración evitando el efecto "viral" de la GPL (si usas código licenciado GPL, tu desarrollo final tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la GPL presenta un inconveniente en este punto, y lamentablemente mucha gente se cierra en banda ante el uso de dicho código. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft débil. La NPL (luego la MPL) fue la primera licencia nueva después de muchos años, que se encargaba de algunos puntos que no fueron tenidos en cuenta por las licencias BSD y GNU. En el espectro de las licencias de software libre se la puede considerar adyacente a la licencia estilo BSD, pero perfeccionada.