martes, 11 de septiembre de 2007

10 razones para seguir estratégia Open Source, la estrategia del caos!

De vez en cuando uno se encuentra perlas en la red sobre los temas de open-source y la verdad es que resulta curioso, ver como se barre para casa (Linux free, Linux free!) y se habla una y otra vez de las mismas leyendas urbanas y se alaban sus supuestas cualidades magicas en la implementacion de infraestructuras y proyectos, como si fuese la receta de tonico milagroso.

Asi que aquí van unos comentarios sobre estas curiosidades que alguien se entretiene publicando en la red.

Actualmente algunas empresas son poco partidarias de utilizar herramientas open source a la hora de realizar sus proyectos. Aquí os paso algunas razones que nos pueden animar a hacerlo, aunque claro, esto es según gustos y habrá otras razones que invaliden las que se indican.”

Bueno cuando una empresa comienza un proyecto, esta necesita un respaldo y mantenimiento en sus herramientas, asi como una continuidad en el soporte y documentación de la herramientas a utilizar. Algunas herramientas open cumplen esta premisa sin problemas (aunque detrás de ellas este alguna que otra corporación, Sun, IBM, Novell, Red Hat, etc), otras no van a ninguna parte al no actualizarse y se extingen. (nada que no sepamos)

  • Disminuir la dependencia a vendedores de código propietario: esto suele ser debido a la necesidad de actualizar la versión del producto, esperando mejoras o nuevas funcionalidades, ocasionando en algunos casos un gasto de dinero y tiempo importante.

Esta es buena!, resulta que te obligan a actualizarte (el enanito malvado de XP)! Y las versiones nuevas, revisiones y parches de seguridad y no tan de seguridad (pifias en el codigo) no son una parte importante de un plan de continuidad de negocio ni de la explotaron y evolucion del proyecto.

  • “No hay necesidad de presupuestar el coste de mantenimiento de software y de personal encargado: el gasto que suponen las licencias de software y el salario de personal conocedor de esas herramientas suele ser bastante elevado, incrementando así los costes del proyecto y repercutiendo en los beneficios. “

Bien! no me habia dado cuenta! La gente trabaja gratis, los terminales no se estropean y el mantenimiento de los sistemas y aplicaciones no es presupuéstable. Otra bonita leyenda urbana relacionada con el open source!

  • Acceso a más herramientas: se puede acceder a un casi ilimitado número de herramientas (desarrollo, testing, CMS, seguridad, ...), sin necesidad de solicitar permiso para obtenerlo debido a su coste.”

Claro! primero pagas las licencia, pruebas el sistema, y si te gusta, te lo quedas, si no, pagas otra licencia de otro producto y asi hasta que encuentras algo que te guste, después de gastar unos cuantos miles de euros

Leyenda urbana II (curioso, no han oido hablar de las versiones de evalucion y prueba)

  • “Pruébalo antes de comprarlo: aunque muchas de las herramientas propietarias si ofrecen versiones Trial o gratuitas para desarrollo, sí que es imposible a veces ver cómo funciona un producto sin tener que comprarlo antes.”

Y para que el parrafo anterior, alucina, un poco de coherencia!

  • Soporte por parte de una comunidad de usuarios: esto es algo que a las empresas les suele echar para atrás, el no tener un soporte oficial. Como desarrollador puedo asegurar que normalmente el soporte lo da Google y no el soporte oficial, del cual el 90% de las veces no se utiliza.”

Magnifico, prueba a leerte el MSDN, te sorprendera! Aunque claro, C, C++, pascal, Cobol, Delphi, Net, etc, no disponen de manuales oficiales y viven de Google y sus desarrolladores no los utilizan, les mola mas google.

  • “Acceso al código y la posibilidad de modificarlo según tus necesidades: algo bastante típico es tener que esperar a una nueva versión o tener que comprar una versión actualizada de un producto para conseguir una funcionalidad necesitada. Si dispones del código es posible que puedas modificarlo a tu gusto. Algo parecido hizo Google con MySQL.”

Claro! como te sobra el tiempo, te dedicas a descifrar el codigo de otros y las estructuras logicas de la aplicación (de las cuales no tienes ni puñetera idea) y lo personalizas a tu gusto, para revenderselo a tus clientes o incluirlo en tu proyecto . Toma opens Sources, o Opens Faces

  • Poder de negociación con vendedores de software propietario: con esta no estoy muy conforme, pero bueno, quizás nunca se me haya el caso, como dice, de poder obtener mejores condiciones de Microsoft si tienes Ubuntu instalado en 20 ordenadores como experiencia piloto.

Sin palabras! con micro, red hat , Solaris, pagas la licencia y el mantenimiento, los parches de seguridad, etc. Esas pequeñas cosas que hacen que las oficinas no sean un nido vulnerabilidades

  • “No hay exceso de características inútiles: en los proyectos open source, las nuevas funcionalidades suelen venir dadas por las necesidades de los usuarios, no por las ideas de un departamento de desarrollo o marketing.

Has probado a no usar, lo que no quieres! Es difícil pero suele funcionar, y pedazo de leyenda urbana. Normalmente los sistemas pueden personalizarse, no tienes que instalar todo lo que no quieres, incluso dentro de micro es posible. Pero claro! Hay que saber de lo que se habla!

  • “Más seguridad: algo que crea mucha controversia, pero estudios como el de Trend Micro muestra que el open source es más seguro.”

Impresionante, y IBM, SUN (perdon Java) Micro, Red Hat, Novell, perdiendo el tiempo y dinero. Supongo que este parrafo es para causar polemica!

  • Solución de errores y nuevas implementaciones con más rapidez: en algunos casos los errores se solucionan mucho antes incluso de que lo detecten los usuarios.”

Y mas de lo mismo! Cuando se descubre una vulnerabilidad, el open source la soluciona antes que las empresas. Ver para creer.

Pues eso es todo. El que quiera que opine!

1 comentario:

Anónimo dijo...

Hola, ¿qué tal?, el que escribió ese post fui yo, y aunque acepto totalmente las críticas, si me gustaría hacer dos cosas: la primera es que por favor nos referencies como indicamos en la licencia CC, la segunda es hacer algún comentario sobre tu post, el cual respeto.

Algunas herramientas open cumplen esta premisa sin problemas (aunque detrás de ellas este alguna que otra corporación, Sun, IBM, Novell, Red Hat, etc), otras no van a ninguna parte al no actualizarse y se extingen.

Totalmente de acuerdo contigo, como verás en ningún momento hablo de usar solo open source, y aunque por ejemplo MySQL me gusta mucho, yo prefiero Oracle, claro, que será porque es lo mejor para Java, que es con lo que suelo trabajar. Yo creo que cuando se habla de Open Source, no se refiere a TODO el Open Source. La discontinuidad también existe en productos no open source, y bastantes migraciones se han tenido que hacer en muchos proyectos debido a ello.

...resulta que te obligan a actualizarte (el enanito malvado de XP)!...

Pues no hablaba de XP, es más, yo casi prefiero seguir un rato con XP hasta que Vista tenga un poco más de tiempo, quizás me equivoque. Pero te cuento un caso real: cliente Mercedes Benz Credit (actualmente Daimler Chrysler), usaban un producto para la generación de informes llamado Crystal Reports (muy bueno, por cierto), desde el inicio del proyecto se usó esa herramienta y varios años después (creo que 4), cuando el cliente pidió una nueva funcionalidad, la versión que se usaba estaba anticuada y no nos permitía realizar esa función que solicitaron, era necesario una actualización de software, pero el presupuesto (que era escaso aún siendo Mercedes) no permitía gastar en licencias, por lo que se tuvo que cambiar lo que pedían por algo más incompleto. Por cierto, que yo hablaba de necesidad, no de obligatoriedad.

...La gente trabaja gratis, los terminales no se estropean y el mantenimiento de los sistemas y aplicaciones no es presupuéstable...

Supongo que es mi culpa, mal explicado. Lo que quería decir es que si un presupuesto es ajustado, si le metemos .NET en vez de Java, el dinero puede faltar en otras cuestiones. Hay herramientas no open source que conocen pocas personas, las cuales están bastante solicitadas y sus sueldos suelen ser superiores al de un desarrollador de una herramienta tipo Java o PHP.

Aquí digo yo:
...se puede acceder a un casi ilimitado número de herramientas...

Y tú contestas algo que creo que no tiene nada que ver. Otro ejemplo, cuando el CVS no estaba aún tan desarrollado como ahora, el no haber productos de ese estilo gratuitas, hacía que en algún proyecto tuviéramos carpetas con el código como backups, imagínate el lío que se formaba.

Sobre lo que tú comentas a lo anterior, yo también digo:
... aunque muchas de las herramientas propietarias si ofrecen versiones Trial o gratuitas para desarrollo...

Creo que dejo claro que no siempre es necesario estar comprando licencias para ver si el producto que queremos es el que nos interesa. Desgraciadamente no recuerdo con qué producto nos pasó que no teníamos versión de pruebas, por lo que oficialmente no pudimos probrarlo, aunque entre tú y yo, antes de las versiones trial existieron las piratas, por lo que nunca han sido necesarias.

Ahora creo recordar que fue el ArcGIS el que no tenía versión trial, y por lo poco que he buscado sigue igual. Claro, que un experto en GIS sabe que es el mejor, pero nosotros no teníamos ni idea.

Magnifico, prueba a leerte el MSDN, te sorprendera...

Conozco el MSDN, lo he usado mucho para HTML hasta que conocí XulPlanet. Reconocerás tú también que encontrar algo de primeras en MSDN es un follón y dan ganas de cerrar el navegador. Pero por ejemplo, una librería realizada en Java para escribir un fichero Excel que estuve haciendo para un cliente, la documentación sobre el formato del archivo solo estaba disponible si pagabas la licencia de no sé qué versión de un producto MSN. Por cierto, la documentación sobre excel la encontré en OpenOffice.

...Claro! como te sobra el tiempo, te dedicas a descifrar el codigo de otros y las estructuras logicas de la aplicación (de las cuales no tienes ni puñetera idea) y lo personalizas a tu gusto, para revenderselo a tus clientes o incluirlo en tu proyecto...

Pues claro, otro ejemplo, tuvimos que hacer hace 8 años pruebas de rendimiento para servidores web, la herramienta de Microsoft, creo que la teníamos, pero no nos ofrecía los datos que queríamos, nos bajamos jMeter (que estaba en una de sus versiones iniciales), modificamos el código según nuestras necesidades, y listo, hicimos las pruebas. Otro ejemplo: WordPress, Drupal, ... le puedes modificar el código como te dé la gana (y hay gente que lo hace y seguro que se lo venden a un cliente ignorante), aunque afortunadamente ya ellos piensan que su código no es completo y te facilitan que le añadas tu código. ¡Ah! y existe el concepto de Mod o fork (http://es.wikipedia.org/wiki/Mods#Programas).

...Has probado a no usar, lo que no quieres! Es difícil pero suele funcionar...

¿Has pensado que lo que no necesitas puede gastarte recursos de una máquina?, por ejemplo el que se carguen doscientas librerías que te hacen de todo, pero que tú solo vas a usar una. Adiós al rendimiento.

Y sobre lo de la seguridad y la solución de errores, pues nada, cada cual tiene su opinión.

Finalizando, que me he puesto pesado, yo en ningún momento he dicho que solo se deba usar open source, ni que el software propietario es una castaña. Si has visto eso en el post que escribí, cosa tuya, supongo que estarás cansado de la gente que habla maravillas del open source, cada cual con su guerra, pero te aseguro que yo no estoy en ningún bando, aunque tenga preferencias hacia el open source en muchos casos.

Saludos.
Luis