Software libre

Sólo puedo decir cosas muy buenas del software libre. Le debo mucho.

Aunque esta entrada sea larga, no es más que una reducida visión del software libre.
No hablaré de los tipos de licencias, ni de las 4 libertades, ni de cómo empezó. Sólo algunas observaciones relevantes en el mundo de la empresa y el software libre.

He trabajado y utilizado software privativo. Alguno era de gran calidad.
También he trabajado con software libre de enorme calidad. Este último modelo, me da más tranquilidad.


"Killer applications"

No es que tengamos algunos sistemas extraordinarios en el ecosistema del software libre, es que gran parte de las aplicaciones más populares, utilizadas, críticas y vitales, son software libre.

  • GCC
    El compilador o colección de compiladores.
    Multitud de lenguajes de programación, multitud de plataformas de hardware, multitud de sistemas operativos... ¿Quién puede rivalizar con este supercompilador?
  • Linux
    Sistema operativo bastante popular.
    Utilizado sin saberlo en multitud de teléfonos, lectores de libros digitales, gps, etc...
    Utilizado casi en exclusiva en los supercomputadores de todo el mundo [link]
    SO más utilizado en servidores de internet.
  • GIT
    Fantástico sistema de control de versiones distribuido, que a pesar de su enorme juventud, ya es una "killer application".
    Una funcionalidad y modelo de trabajo extraordinario, unido a total estabilidad...
    Y no olvidemos el sensacional Mercurial (Hg)
  • Y muchos más
    GNU tools (autotools, make, gcc, bash...)
    Apache, ngix, cherokee, lighttpd... en servidores web
    Postgresql, Firebird, Ingress, Mysql, MariaDB...  en bases de datos
    Eclipse, Netbeans, KDevelop, Codelite... como IDEs
    Firefox, Chromium, Rekonk, Konqueror... como navegadores web
    Mediawiki, pmwiki... como wikis
    Qt, GTK, Wxwidgets... como toolkits gráficos
    KDE, GNOME, XFCE... como escritorios
    OpenOffice como suite ofimática
    g++, Erlang, Rust, Openjdk, groovy, scala, lua, go, GHC, python, perl...
    LaTex (con perdón), GIMP, ANTLR...
    y una infinidad más de proyectos...



Flexibilidad en el precio

Recordar como siempre, que software libre no es software gratis.
Aunque parece una explicación para angloparlantes ("free" significa libre y gratis), es una aclaración necesaria también en español, porque muchas veces se justifica la utilización de software libre "por ser gratis".

Podemos empezar un proyecto, investigar, aprender, valorar, sin coste en licencias. Luego una vez tomada las decisiones, podemos pagar de diferentes formas ajustándolo a nuestras circunstancias.

Esto puede ir desde contratar un soporte de gran calidad, hasta comprar unas camisetas, pasando por colaborar directamente en el código fuente del proyecto, colaborar en foros, ayudar a otros usuarios, traducciones...

Aunque sea posible y legal utilizar software libre sin dar nada a cambio, me parece inmoral.
Tenemos la enorme flexibilidad de ajustar el precio de productos realmente sensacionales, a nuestras circunstancias. No hacerlo es egoísmo, es poco inteligente.

Recuerdo un software comercial, que lo vendían en paquetes.
Entre el paquete básico y el siguiente, la diferencia de precio era de un orden de magnitud.
El paquete supremo incluía varios programas y herramientas adicionales, pero nosotros sólo queríamos uno de esos programas, el resto, nos sobraba. No había ni hubo opción. No hubo ni una minúscula flexibilidad.

Microsoft, IMB, Oracle y otros productos comerciales, te cobran por el mismo software, un precio diferente dependiendo de la máquina donde lo pongas. Si bien eso da una cierta flexibilidad, suena un poco raro a que te cobren diferente por el mismo producto. Quizá deberíamos entender que con el software privativo, en realidad no compramos nada y por tanto, no tenemos libertad ni los derechos que nos imaginamos. Generalmente no puedes por ejemplo, utilizar la licencia de tu ordenador viejo en uno nuevo, o vender a otra persona esa licencia. ¿Pero quién se lee el EULA?




Es una realidad que nos rodea a todos


Poco conocido, poco entendido, pero aunque mucha gente no lo sepa, está muy próximo a todos nosotros.

Podemos identificar entre las empresas más famosas, grandes y menos pro-software libre (incluso más antisoftware libre) a Apple, Oracle y Microsoft.

Apple no permite a ninguno de sus trabajadores que colaboren de ninguna forma (incluido en su tiempo libre) en software libre. Steve Jobs llegó a ofrecerle un trabajo a Linus Tordvals[link], pero esa restricción es incompatible con lo que quiere Linus [link].
Apple es conocida también por patentar tonterías y atacar a otras empresas que han utilizado software libre como el "bote" en el tope del "scrool".
Apple está enfrentada al software libre, odia y repudia el sistema "software libre"

La misma Apple, tuvo su renacer con la reentrada de Steve Jobs. Este vino con su Nextsteep debajo del brazo.
Ahí empezaron su nuevo sistema operativo... basado en Match y BSD. Ambos, proyectos de software libre. ¿Saben los fans de Apple que el corazón está gobernado por un origen en software libre?

Y el compilador que utilizan y han utilizado hasta la fecha es...  GCC. El genial y fantástico compilador GNU. Y cuando cambien a clang (por razones que ya comentaré en otro momento) seguirán partiendo de software libre.

¿Y qué tal su navegador Safari? Sí ese que utiliza el "renderizador" webkit, sí software libre (basado en KHTML, el motor de Konqueror de KDE).

Oracle compró hace unos años a la empresa que desarrollaba un motor utilizable en Mysql llamado InnoDB. ¿Para qué lo quería? Para desmontar el gran avance que suponía para Mysql la utilización de este motor como motor por defecto. Eso sucedió pocas semanas antes de la salida oficial de la versión correspondiente de MySQL y obligó a MySQL a reemplazar el motor oficial de dicha versión por algo considerablemente peor.
Ahora Oracle compró Sun e indirectamente se hizo con el control de un montón de proyectos de software libre que gestionaba Sun.
Muchos de los desarrolladores salieron corriendo. James Goslin (padre de Java), Miguel de Icaza (padre de GNOME, líder de mono y monotouch), y más en OpenOffice y MySQL...
Oracle, ofrece como su solución especial y fantástica, su base de datos y sus sistemas en una distribución de Linux (software libre) copiado de Redhat.
Es curioso, el jefazo de Oracle manifestó en más de una ocasión su interés en destruir Redhat.

Estos son ejemplos de cómo el software libre, está en lo más profundo del ADN de las empresas más contrarias al software libre.

¿Y qué empresas apoyan al software libre?
Quizá Redhat o Suse no son empresas muy conocidas, pero...
Google, Facebook y Twitter sí lo son. Estas utilizan y apoyan abiertamente al software libre. Colaboran y desarrollan mucho software libre.

Y si miramos la lista de patrocinadores de la Linux Foundation, podemos llevarnos algunas sorpresas...
Fujitsu, IBM, Intel, Nec, Oracle, Quic, Samsumg son patrocinadores platinum. [link, link]

Apple no aporta a la Linux Foundation ni a la FSF a pesar de que es una de las empresas más fuertes en este momento, con mayor capitalización bursátil (que no saben muy bien que hacer con tanto dinero) y que se beneficia muchísimo con el software libre. Son libres de actuar así.

Las "killer applications" son "killer application" porque son tan buenas, que hasta quien reniega de la filosofía del software libre, las tienen que utilizar.

Los libros digitales tienen Linux, Android es un Linux, muchos navegadores GPS tienen Linux. De las 500 computadoras más potentes del mundo en la actualidad, 462 tienen Linux, 24 Unix, 11 sistemas mixtos, 2 tienen windows (¿¿??) y una tiene un BSD.

La mayoría de servidores de internet están corriendo Linux, Apache y otras piezas de software libre. Incluso servicios de Microsoft.




Gran soporte

Encontrar buenas soluciones a problemas es mucho más fácil en software libre.
Basta con un soporte mediocre para arrasar con el típico soporte del software privativo.

Generalmente, llamas a un número donde te atiende alguien que no se entera de mucho porque desconoce el producto al que da soporte.
Después de horas y repetidas llamadas, puedes conseguir hablar con alguien que se entere.
Generalmente, esta persona te dirá lo que pone en la documentación y ya sabes, o que pruebes lo que hace tiempo ya probaste.

El siguiente paso es "escalarlo", pero en este punto... generalmente nuestro problema tiene que llegar a la costa oeste de EEUU y nos pilla muy lejos. El presupuesto para "escalado" de problemas es pequeño y este tiene que viajar por sus propios medios, a nado cruzando el atlántico y a pie los desiertos... el resultado es que después de varios años, todavía estará viajando la pregunta, o la respuesta.

Todo esto por un módico precio del 15 al 20% del precio de lista.
¿Has comprado alguna vez un producto de software con una fantástica rebaja?
¿Has sido alguna vez tan hábil para conseguir una enorme rebaja?
El precio de mantenimiento generalmente es sobre el precio de lista (antes de la rebaja).
Yo diría (lo he visto más de una vez) que es una forma "elegante" de cobrar un 80% (y yo he visto incluso más) por el mantenimiento de un producto, pero escribiendo en el contrato que en realidad es un 18%. No parece muy... claro ni limpio.

Supongamos ahora una empresa como Redhat que te da el producto sin coste. Total, la copia no cuesta dinero ni a ellos ni a ti. Lo que te propone Redhat, es cobrar por el soporte, mantenimiento y correcciones.
Más vale que hagan bien eso, porque es lo único por lo que recibirán dinero.

Por otro lado, en el mundo del software libre, la gente está deseando colaborar con otros. Los foros de usuarios de productos están al rojo vivo. Los desarrolladores directos del producto participan en estos foros.
Los propios usuarios tienen en muchas ocasiones la capacidad de resolver un problema, y cuentan cómo, además de proponer a los desarrolladores la solución.





Libertad para aprender

Poco antes del año 2000, quise aprender de la famosa y prestigiosa base de datos llamada Oracle.
Para ello, decidí llamarles por teléfono y pedirles ayuda. ¿Dónde aprender? ¿Versiones de aprendizaje? etc...

Se quedaron enormemente sorprendidos. Parte de su negocio es contar, enseñar y explicar su producto. A un precio muy caro, creando un grupo elitista que se autoalimienta y protege.

Las cosas han cambiado. Ahora Oracle y muchas otras compañías, ofrecen versiones recortadas para aprendizaje y usos restringidos. Esto ha sido empujado por el software libre, pero deberían haber visto esta utilidad por si mismos (así fue lo hizo Microsoft ofreciendo versiones gratis o de muy reducido precio a estudiantes, por ejemplo).

Como no pude aprender mucho de Oracle, empecé a aprender de lo que pude. Y aprendí mucho de Postgresql y MySQL. De documentos cruzados entre ambos. Y de Firebird. Intenté contrastar mis conocimientos y el potencial de estas herramientas con gente que conociera bien Oracle, DB2, Sybase, o MS sql server.
Probablemente no di con gente suficientemente experta, porque salieron mal parados.
Por el camino aprendí enormemente de bases de datos relacionales.

Con el software libre, el límite para aprender, lo pones tú. Depende de tus ganas y capacidad. Aprender es una de las cosas que más me gusta y gracias al software libre, no paro de disfrutar aprendiendo todo lo que soy capaz.


Valor profesional

¿Cuántas personas conoces que se creen imprescindibles en una empresa?
Personas que saben algo que los demás no saben, que controlan cosas que los demás no controlan.
En ocasiones son hojas de cálculo oscuras, o bases de datos access también tenebrosas.

Es común que el perfil del que se considera imprescindible coincida con la filosofía de "valgo lo que sé", que dicho más claro es... "valgo lo que oculto".

En el mundo del software libre, la filosofía es la opuesta. Vales lo que aportas, no ocultas nada, no aprecias el valor de lo oculto.

Hay que ser valiente para ser tan transparente. Mucha gente puede ver y criticar tu trabajo. Y también es valiente atreverse a no ocultar para darse valor.

Y es también valiente permitir que otros puedan utilizar tus ideas, tus desarrollos para hacerlo mejor que tú. Y si son capaces, esa se convertirá en la línea principal.

Así funciona el software libre, y es una forma de actuar, valiente y muy recomendable para los empleados de todas las empresas.

Se debe valorar con un extra, a un informático que entienda y apoye el software libre. Esto hará más probable tener gente colaboradora y transparente.

Esta es la filosofía opuesta a los hermanos Winklevoss. Reclaman que tuvieron una idea, que no sabían desarrollar y que otra persona, utilizando su idea y sabiendo cómo desarrollarla, les ganó la partida. [link link link]





Estabilidad

Imagínate que tu empresa utiliza un producto privativo de calidad.
Además, es un producto utilizado masivamente a nivel mundial.
Es un producto estrella de una empresa privada enorme, existosa y también estrella.
Puedes dormir tranquilo, al menos en la tecnología utilizada.

Esa empresa estrella, decide sacar una nueva tecnología e invierte mucho.
Esa empresa estrella quiere impulsar su tecnología. Se monta una enorme campaña de marketing y se anima a todo el mundo a cambiar a la nueva tecnología.
Pero como no confían de que la gente cambie de buena gana, con alegría e ilusión (¿porqué será?) deciden darles un empujoncito.
Consiste en aprovechar su posición de monopolio y control absoluto sobre el exitoso producto, para...
abandonarlo y dar como única opción el producto nuevo.
Nadie puede hacer nada contra eso, opines lo que opines.

Esto es lo que pasó con VisualBasic y .Net. Para garantizar el éxito de .Net, había que mover a todos los programadores de VisualBasic. Para "evitar riesgos" se decidió hacer por las malas y a la fuerza.

El resultado es que más de 8 años más tarde del abandono, todavía quedan unas cuantas empresas utilizando y manteniendo visualbasic a su pesar.

Esta idea se repite con las versiones de windows (por las nuevas tienes que volver a pagar), con las versiones de Office (pagas otra vez y obligado por la compatilibidad), y muchos otros productos.

Y si optas por productos menos populares... la empresa puede quebrar, o puede decidir abandonar el producto buscando otras líneas (sin opciones)...

Podríamos repasar lo que ocurrió con productos Borland->Inprise->Borland->CodeGear->Embarcadero y sus Delphi, BuilderC++, BuilderC++X, Kylix, Delphi.net, etc...

O FoxPro, o concurrent DOS, o OS/2 o...

En el software libre no tienes la seguridad de que tu producto no sea abandonado, pero sí tienes la seguridad de que el abandono o no, no depende de una decisión de una persona o empresa.
Veáse Qt, de trollteck a digia pasando por nokia.
Y si el producto software libre es grande y utilizado por mucha gente desde hace tiempo... difícilmente se verá a la deriva y encallará (Linux, GCC, Git, c++, etc...)




Y muchos más puntos se podrían desarrollar sobre el software libre y las empresas (como la innovación), para otro día.





Referencias:

http://www.gnu.org/philosophy/free-sw.es.html
http://es.wikipedia.org/wiki/Definici%C3%B3n_de_Software_Libre
http://es.wikipedia.org/wiki/Software_libre
http://www.wired.com/wiredenterprise/2012/03/mr-linux/all/1
http://www.slashgear.com/linux-creator-linus-torvalds-declined-job-offer-from-steve-jobs-22219603/
http://www.macrumors.com/2012/03/22/steve-jobs-tried-to-hire-linux-creator-linus-torvalds-to-work-on-os-x/
http://www.linuxfoundation.org/about/members
http://i.top500.org/stats
http://fsfe.org/donate/thankgnus.es.html#patron
http://en.wikipedia.org/wiki/Winklevoss_twins
http://en.wikipedia.org/wiki/Cameron_Winklevoss
http://en.wikipedia.org/wiki/Tyler_Winklevoss

Comentarios

Entradas populares de este blog

Servicios, servicios, servicios... (y Amazon)

Tecnologías divertidas