viernes, 22 de junio de 2012

Razones por las cuales el estado debe usar software libre


Hay mucha tela para cortar, tal vez se vea esto en el Congreso, puedo traerles - cortesía de horas de lectura de foros y correos durante años - un breve (en realidad no es tan breve :-), resumen de las fundamentaciones que se vieron durante años de discusiones previas a buscar la sanción de una ley de software libre para el estado.


Intereses
Desde la primera vez que leí sobre ideas para proponer una ley de software libre, años atrás, creo que en comentarios o posteos en Solar y un par de asociaciones pro software libre, lo primero que pensé fue:


"el lobby de software propietario y la coyuntura social-política deben ser tremendas, por eso buscan la salida de la obligatoriedad"


Es decir, los grupos de interés que pugnan por impulsar el uso de soft propietario por intereses particulares, lo hacen en gral. aún a sabiendas de que usar soft propietario no es la mejor solución para el estado en algunos (muchos probablemente), casos, igualmente le tuercen el brazo a la situación.


Vendors de software libre
Los vendors de software libre normalmente son inexistentes, generalmente no hay un reseller local (en Corrientes por ejemplo), que brinde soporte para Postgresql (instalación, configuración, mantenimiento, packaging garantizado para la distribución en producción en la organización por X cantidad de años, no más de 24 hs. de tiempo de espera para disponer de paquetes actualizados de la suscripción, etc. etc.); casi lo mismo se puede decir de MySQL, Apache, Squid, Samba, etc.


El soporte de soft libre en AR en gral. está en pañales, por ejemplo pocos se comprometen a hacer un seguimiento día a día del desarrollo de un paquete de software (Postgresql por ejemplo), e ir preparándose para por ejemplo, backportear y mantener código de la última versión en desarrollo que arregla una regresión que ralentiza el uso normal de la DB en 15% (que no suele ser taaan difícil tampoco). Obviamente, un backport de código no oficial se debería proveer con un procedimiento de regreso ordenado a la versión estándar, por si ocurriera algun incidente, exactamente igual a lo que se hace con los parches y fixes "out of band" - no oficialmente liberados por el vendor, que proveen muchos vendors comerciales cuando se pide soporte).


Lo que está disponible en cambio, son suscripciones a distribuciones industrial-level, RHEL y SLES (las únicas comerciales que tienen real "llegada" en la industria IT), y a veces, a veces, alguna empresa - perdida en la multitud en Cap.Fed. - compra algun paquete de soporte de Ubuntu Server (directamente a Canonical, vía Internet y tarjeta de crédito).


Es decir, el soft libre no tiene quien pelee el lobby propietario hoy, siquiera con una presentación aburrida de 10 minutos, desmintiendo, corrigiendo tergiversaciones y medias verdades presentadas como hechos veraces, cosa ocurren, todo el tiempo, obviamente, y desde las "mejores fuentes" - el artículo es un ejemplo - muy a pesar de los intereses del cliente puntual (para el que podría o no ser lo mejor usar soft propietario), y para su desmedro económico (TCO, etc.).


Hagamos una ley y listo
Así que veo que lo quedó fue impulsar directamente una ley de software, con obligatoriedad incluída, lo que no es justamente una garantía de tener un mejor TCO.


Sí es muy probable IMHO, que si se fuerza a las empresas proveedoras del estado a crear una industria local proveedora de software libre, los revenues, las ganancias, muy probablemente sean mucho mayores que los "cuts" que sacan por revender licencias de soft propietario.


Hay sí una realidad tecnológica, muy presente para los que estamos metidos hasta los huesos en el opensource: cualquier solución comercial puede ser completamente reeemplazada por una solución opensource igualmente viable desde lo tecnologico. No, realmente no hay un "límite", CUALQUIER software propietario puede ser reemplazado por un software opensource;


Límites
Sí es verdad que hay casos en que el software opensource no va a brindar de inmediato similares topes de características: por ejemplo, mientras X OS Server propietario soportaba 50 TB de memoria máxima ya en su versión 2003 (y en ese año también), X OS Enterprise Server Linux, soportaba un tope de 16 TB de memoria máxima.


Hay otros ejemplos de topes de características, pero en todos los casos, va a llegar un punto en que se va a tener que considerar los beneficios devenidos de considerar el TCO. Donde un software tiene un costo de licenciamiento 1 millón de pesos en un ciclo de vida de 10 años totales, es probable que la organización debiera considerar contratar un experto o entrenarlo inclusive, para administrar un software opensource con similares características, pero de costo de licencia cero.


TCO
En ese punto hay que considerar muchísimos costos asociados, pero se tiene un (1) millon de pesos de límite para ver qué es lo que sale más barato al final. Luego de considerar usar el software opensource por 10 años, si ya se tiene un experto o dos, o un team, la siguiente iteración del TCO sería ahorrarse otro millón de pesos en costo de licenciamiento en los próximos 10 años.


Es bastante remoto que contratar y entrenar desde cero hasta nivel experto a un especialista le cueste a una organización un (1) millón de pesos, o inclusive a dos, o a tres (consideremos que no se contrata a los mejores, sino Jr. que se entrenan). Hay un gasto inicial grande, en la implementación, este gasto es el que suele igualar o superar inclusive a lo que costaría implementar software opensource (sí, es así), por lo que un TCO real podría implicar que incluso no pagando costos de licencias, aún así se superara el millón de pesos en los primeros 10 años.


Pero luego llega el siguiente ciclo de 10 años, y aquí es donde se podrá ver los beneficios y el ahorro a largo plazo que muchísimos expertos y casos de uso alrededor del mundo ya vieron.


Qué dirían si les digo que hay ejemplos que en vez de tener 2 ciclos de 10 años tienen dos ciclos 1 o 2 años, luego de los cuales ya van a empezar a ver cuantiosos ahorros ($$$), sería algo interesante para probar verdad?


Pero...hablamos de plata solamente, TCO?


El TCO no es el único argumento
No, de todos modos, el TCO no es la preocupación principal del estado, no importa (de vuelta, no importa), si el software opensource es más caro, mucho más caro o muchísimo más caro. En los fundamentos de las distintas ideas para proponer una ley de software, el costo - gratuito, ahorro a largo plazo - no es ni siquiera un argumento de importancia secundaria para impulsar la ley, al contrario, siempre lo presentan como un "costo importante", un inconveniente inicial, necesario, y temporal para la implementación de la idea detrás de la ley.


Un par de fundamentos de la ley
Los dos fundamentos más importantes de las distintas ideas de leyes de software fueron:


- Que el estado utilice soft libre por todos los beneficios no económicos que acarrea. Un mínimo, muy escaso ejemplo, es que se puede garantizar mayormente la ausencia de backdoors en los softwares que manejan información crítica (digamos, dentro de un datacenter del ejército con 700 TB críticos y secretos mayormente), si tienen dudas de que eso sea necesario, solamente busquen información sobre Stuxnet, Duqu y Flame y fijénse cuales son - exactamente - los pivots de ataque.


- Que el estado promueva la creación de un ecosistema de producción industrial de software, no hablamos de la industria actual - masiva, nacional - de provisión de refactoría de software, sino de la creación de verdaderos productos de software. Por ejemplo, donde 3 empresas tienen que proponer la mejor solución opensource para un website de un ministerio provincial, una empresa puede ofrecer un LAMP estándar basado en Ubuntu, otra puede ofrecer Nginx, una empresa va a ofrecer un cluster web hiperescalable vía - digamos - GlusterFS, otra va a ofrecer algo menos escalable, pero más barato, etc. etc.


Una licitación de ejemplo
En una licitación legalmente llevada, el máximo nivel de provisión de servicios por el mínimo precio queda fijado al momento de la presentación de ofertas, así que el "yo también te puedo ofrecer GlusterFS" debería quedar limitado a opcionales, y acá llegamos al quid de la cuestion..


...como el software que las 3 empresas del ejemplo pueden ofrecer es básicamente el mismo, y asimismo se da con el máximo nivel de prestaciones que puedan proveer en el software, el factor diferenciador va a estar dado por el soporte que las empresas le puedan dar al software.


Si tenés una empresa con 10 empleados y ganás una licitación por 10 años con un costo anual de 1 millón de pesos de soporte para el software (opensource), contrato de un estado provincial, con pago - garantizado por contrato - anual, vas a poder contratar tranquilamente un experto, inclusive, podrías tener un helpdesk durante cierto tiempo (un mínimo de dos años y ello detallado por escrito en la oferta presentada en la licitación), y luego el experto - ya pasada la tormenta de helpdesk inicial + implementación inicial - se podría hacer cargo de las calls de soporte.


Es decir, la ley de software libre básicamente serviría para promover la replicación del modelo de venta y soporte de software que hoy se realiza vía software propietario, pero dejando todos los beneficios económicos y no económicos puertas adentro del país.




Faceta económica y no económica
Por el lado económico, es fácil, habrá menores costos a futuro, pero en principio el costo mucho mayor de implementaciones opensource va a beneficiar - tremendamente - a los pioneros que se "metan" en el asunto, permitiendoles crear - con ese cash masivo inicial - infraestructura empresarial (sedes, empleados, training, expertise, productos, etc.). El mercado debería hacer lo suyo y bajar los precios en unos años, para ese entonces, ya habría una vasta base de empresas bien afianzadas (algun oligopolio tal vez?), etc. etc.


Por el lado no económico, hoy esas empresas (y el oligopolio), no existen, no hay industria fuerte de producción de software, no hay helpdesk atendiendo 5 clientes por tickets de Postgresql, etc. No hay laburos. El expertise se vende acá y se cobra afuera (y la plata sale del país), los expertos en el expertise propietario - inocentemente en gral. - promueven el uso de software que impulsa la salida de inversiones y beneficios fuera del país, por ejemplo, cuando 200 empresas de AR compran licencias de X DB propietaria, tal vez, el vendor extranjero sume 2 helpdesk a tiempo completo, que cobran (y gastan) sus sueldos fuera del país.


etc.


Es largo de discutir como ven pero básicamente en principio se muestra el gran issue de que el costo lo correrían las empresas pero, de vuelta, no es tan así, y el costo no es el único ni el más importante factor a considerar para el caso de venta de software al estado. Más allá de que el alto costo inicial de implementar software libre en el estado también haya sido considerado, y de hecho sea uno de los principales pivotes de apoyo a la ley.


Si al final de toda la discusión macro y micro económica se aprueba la ley y no funciona (los costos no bajan, no hay oferente alguno en alguna licitación, etc.), un par de amparos bien fundamentados van a dar por traste la aplicación de la ley (licitación por licitación, pcia. por pcia.), y eventualmente darían lugar a una - merecidad y justa - derogación.


Las ventajas potenciales luego de sancionada la ley
La idea de fondo es que el mercado va a hacer bien su trabajo y los empresarios ávidos de ganancias van a saltar al vagón de hacer cuantiosas cantidades de dinero básandose en ventajas como las de:


- Que el estado use soft libre obligatoriamente (se puede "esquivar" por vía legal si no hay oferentes), lo que se constituye en la disponibilidad de un - nuevo - mercado, garantizado y casi libre de competencia (quien vende soporte de soft libre en AR hoy? y lo hace para 700 clientes? puede dar soporte en 10 pcias.? etc.)
- Que el soft a vender sea libre y de costo de licencia cero (el vendor local se queda con todo lo que cobra)
- Que el código fuente se pueda modificar y crear productos de software nacional - opensource y aptos para vender al estado - de alta calidad, competitivos y con bajo costo de producción (gracias a reutilizar código fuente), con potencial de venta a nivel internacional (no nos olvidemos que existe Internet).
- Los primeros que salten al "vagón" del soft libre para el estado, se van a llevar los precios premium ($$$), altísimos y pagados obligatoriamente por el estado, se van a constituir en la base de la industria, con un mercado garantizado (revenue stream garantizado), y con el potencial de vender también su producto/servicio localmente con la tremenda ventaja competitiva de cobrar costos en pesos y disponer de una infraestructura local importante (visitas onsite de un ingeniero, trabajar con un laboratorio local para resolver un issue vía escribir código vs. abrir un ticket en un sitio de un vendor internacional y esperar - lo mejor - y que "aparezca" el hotfix.


...Ni hablar de que la competencia agregada al mercado interno local va a disparar - tal vez luego de un par de años- action paths de negocios de vendors internacionales que probablemente terminen abriendo subsidiarias y múltiples sedes en el interior (para competir con la oferta de soporte onsite), y/o incrementando los beneficios para los resellers locales (para que no se les "vuelen" puntos de venta), trayendo más empleos y mejorando muchísimo la provisión de software propietario a nivel local.


Conclusiones
Para finalizar, obviamente la ley de software libre no la están impulsando solamente un par de "loquitos de linux", sino que hay fuertes intereses económicos nacionales preparándose para llenarse de plata al minuto - las empresas se hacen para eso justamente, no es ningun "pecado" - que se sancione la ley (quien sabe cuantos abogados ya tendrán preparándose para dentro de unos meses presentarse en 5 pcias. diferentes en todo tipo de licitaciones).


Para ser más claro aún, el lobby a favor del software propietario (razonablemente), busca "dibujar" una situación de "empresas IT argentinas" vs. "loquitos de linux", cuando en realidad hay suficientes empresas IT nacionales respaldando con mayor o menor publicidad la ley de software libre. La fortaleza de la argumentación a favor no es un accidente ni mis dotes de escriba desplegadas, simplemente estoy reescribiendo los argumentos tuneados durante años vía discusiones y vía más de 4 o 5 revisiones de abogados/estudios caros pagados con dinero de empresas IT de AR.


La idea de fondo es más o menos la misma que la que se usó - exitosamente - para promover el ensamble de notebooks en el territorio (vs. importarlas a todas), con la consiguiente aparición de buenos $$$ de ganancia para empresarios, un par de miles de empleos (que antes no existían), y el consiguiente par de miles de sueldos que se termina - felizmente - gastando en ropa, comida, cosméticos, juguetes, medicamentos, etc.


Me tenté de usar esta frase, es grosa pero me parece apropiada para el tema tratado, así que con todo respeto > El que quiera ver, que vea.


Bueno, ahora me voy a dormir, y espero poder ver la discusión en el congreso, ciertamente estaría buenísimo escuchar la argumentación de cualquiera que le encuentre un punto flaco a la argumentación general pro-software-libre-en-el-estado y diga por qué no sería bueno una ley de software libre.

No hay comentarios: