No es el código, estúpido!
Cuando digo que conozco un sistema de misión crítica, que soporta uno de los sitios con mayor tráfico en latinoamérica, que tranza mucho dinero, y que está soportado con Windows y SQL Server 2008, mucha gente, que se jura experta en tecnología, me mira extrañado. Claro, se supone que Microsoft produce puras porquerías que no sirven para nada, y nadie pone sistemas de misión crítica corriendo sobre Windows. Claro que esa es la mitad de la historia, porque ese mismo sitio tiene, como front end, un application server java, opensource, corriendo sobre RedHat Linux, y con Apache como plataforma base. Ahí la cara de sorpresa es mayor. Hay otros, más “expertos”, que se extrañan porque todo eso que describo no esté corriendo sobre un stack Oracle.
¿Cómo es posible que exista ese engendro, y que además funcione tan bien? Muy simple, porque hay gente que es pragmática, que no se enfrasca en discusiones cansinas sobre si es mejor el software libre, o el opensource, o los sistemas operativos “privativos” (con todas las connotaciones incorrectas, y mal intencionadas de esa palabra).
El software es como la música, sólo hay de dos clases, buena y mala. No me gusta el regguetón, pero hay reguetón bueno, así como hay rock clásico muy malo. Lo mismo con el software. Hay software opensource (o libre) muy malo, y software propietario (¡ya ok!), digo privativo, ¡muy bueno!
En software lo que importa es que, primero funcione, que sea robusto, y que de pocos dolores de cabeza. La licencia? la licencia es para tener tranquilo a los dementores auditores. Mucho gerente TI viejo te dirá que lo que importa es que haya alguien que responda, si es una compañía opensource, o más tradicional, no es relevante, lo que importa son las garantías que tienes cuando las cosas fallan. Tener un contrato de soporte, que asegura que una empresa seria te va a responder cuando las cosas se pongan feas, hace que los gerentes TI puedan dormir tranquilos. Antes se decía que a nadie despedían por contratar a IBM, u Oracle. Ahora hay más alternativas en el mundo opensource, a nadie despiden por contratar soporte con RedHat.
Después de todo, sin los miles de millones de dolares que se invierte en opensource, y sin el sueldo de 6 dígitos que cobra Linus Torvalds, no tendríamos los excelentes productos opensource como los que que hay ahora.
Las empresas requieren un seguro, el core de los departamentos TI, no es participar en comunidades de desarrollo de productos open source, esos desarrolladores están para dar soluciones, y mantener operando los servicios de sus empresas. Muy pocas corporaciones, pueden darse el lujo de que alguno de sus desarrolladores dedique horas a participar de un proyecto opensource, aunque tengan las capacidades. Simplemente no hay tiempo. Es más eficiente levantar el teléfono de soporte, o abrir un ticket, para que un ingeniero en alguna parte del mundo resuelva el problema.
¿Y el acceso al código fuente?
La verdad, ¿de qué sirve el código si probablemente no tienes las capacidades para corregir el bug?, o si las tienes, probablemente no cuentes con el tiempo para hacerlo, sobretodo con productos de plataforma, como los sistemas operativos, o los motores de base de datos, que son monstruos de millones de lineas de código, que requieren capacidades de programación superiores. Además, ¿para qué? ¡si estás contratado para otra cosa!
El código fuente es un seguro, nada más, también puedes contratar una póliza en la compañía que más te de confianza.
Lo importante es la gobernabilidad del software, eso es lo valioso.