Probablemente estás utilizando software de código abierto (OSS por sus siglas en inglés) a diario y sin saberlo. El OSS está en el núcleo del sistema operativo de los ordenadores Mac de Apple (el OS X), está revolucionando la ingeniería de PayPal, está en el sistema de comunicación de tu automóvil, y hace que funcionen el 22 por ciento de las páginas web de todo el mundo, a través de WordPress. De hecho, este artículo está almacenado en un servidor Apache, que es un proyecto de código abierto.
¿Qué es el software de código abierto?
Si eres nuevo en el mundo OSS, los detalles sobre qué es y para qué sirve pueden ser abrumadores. En pocas palabras, se trata de proyectos de software construidos de manera abierta por una comunidad de desarrolladores e ingenieros, la mayoría trabajando de manera voluntaria. El alcance y el objetivo de los proyectos suele ser gestionado por una o varias personas.
El código abierto no siempre es sinónimo de gratuito. El OSS puede tener doble licencia (una versión del software es gratis y otra es de pago), como en el caso de la plataforma OpenGamma. Compañías como Digium mantienen una aplicación principal gratuita y venden aparte plugins propietarios, componentes, servicios y soporte premium. El OSS también puede ser utilizado para añadir funcionalidades a sistemas cerrados/propietarios ya existentes, en cuyo caso los clientes o usuarios pueden tener que abonar el coste del sistema en el que funciona esa aplicación de código abierto.
El OSS aprovecha el poder del desarrollo colectivo
El vicepresidente de Business Engineering de PayPal, Bill Scott, sostiene que utilizar OSS va más allá de aprovechar simplemente un trozo de software de código abierto para satisfacer una necesidad determinada. “Es una forma de trabajar y de pensar. Nosotros adoptamos el código abierto (y lo difundimos) y cambiamos nuestro planteamiento de trabajo. Pasas de crear tus propias soluciones a crearlas sobre el trabajo de otros; pasas de estar enfocado hacia dentro a mirar hacia afuera (dando a la comunidad), y eres capaz de trabajar más fácilmente con diferentes equipos (recursos internos)”.
A diferencia del software propietario, cada una de las personas que participa en un proyecto de OSS tiene acceso a todo el código base, lo que le permite experimentar con sus capacidades y limitaciones. Cualquiera de esas personas puede detectar fallos en el código. Como miembros de una comunidad, esas personas comparten las soluciones y las mejoras que desarrollan para que sean revisadas y aceptadas para futuras versiones del software. Cualquier funcionalidad o cambio aprobado por la comunidad se pone a disposición de todos los usuarios en las nuevas versiones del programa.
Los peligros de utilizar software propietario
Si bien el software cerrado o propietario sigue siendo ampliamente utilizado, algunos programas están siendo sustituidos paulatinamente a favor de OSS. Esto se debe al hecho de que el software propietario resulta costoso a diferentes niveles organizativos. Comprar licencias puede salir muy caro. Hace que una organización dependa de una compañía de software concreta para hacer actualizaciones y mejoras que quizás no se hagan en los tiempos adecuados, y a menudo estos programas usan formatos cerrados y frameworks anticuados que no se traducen a otros sistemas (acuerdos exclusivos) y que pueden ser difíciles de aprender e implementar. Si una compañía de software cierra, mantener su sistema es muy arriesgado, y migrarlo resulta muy costoso.
El código abierto, construido sobre frameworks comunes, salva alguno de esos escollos
El OSS es a menudo de uso gratuito, se construye en menos tiempo, y se basa en un entendimiento común sencillo que utiliza formatos, librerías y frameworks (JSON, SQL, OAuth, APIs) populares y de funcionamiento demostrado. Si el dueño de un proyecto OSS lo deja (o lo lleva en otra dirección), cualquier empresa o ingeniero puede clonar el código para lanzar su propia iniciativa.
El código abierto está cambiando la cara de la TI en los servicios financieros
Cuando hablamos de utilizar OSS en servicios financieros y del hecho de que algunos se están mudando (o integrando) al código abierto en detrimento de las soluciones propietarias/corporativas, la realidad es que la mayor parte de las soluciones hoy en día son una mezcla de ambos planteamientos.
“En 2016 la gran mayoría de las organizaciones de TI aprovecharán elementos no triviales de OSS (directa o indirectamente) en soluciones tecnológicas de importancia vital”. — “Within the Enterprise, Open Source Must Coexist in a Hybrid IT Portfolio” (Gartner).
Dado que el OSS está hecho para ser abierto, para que se trabaje y se contribuya en él, las compañías que lo usan necesitan tener por lo tanto más desarrolladores o ingenieros para implementar y mantener el código o para desarrollar plugins que amplíen las funcionalidades.
El código abierto está cambiando la gobernanza de la TI
Hay quienes creen que al ser el OSS gratuito se evitan papeleos de peticiones de compra y de licencias, y que por lo tanto no queda rastro documental. Sin embargo, la Ley Sarbanes-Oxley de EE UU de 2002 exige a las organizaciones verificar la propiedad del software y su derecho a utilizarlo, y a documentar cambios o actualizaciones en software financiero o contable.
Si bien el OSS se puede descargar y utilizar de manera gratuita, añadir más aplicaciones, conectividad e infraestructura a un sistema ya existente requiere gastos adicionales de mantenimiento y seguridad. En este sentido, el hecho de que sea código abierto no garantiza que el software haya sido probado o que funcione con determinada aplicación (se exigen diligencias debidas en temas de control de calidad, pruebas de seguridad e implementación, pruebas de estrés de software, etc.).
Frameworks como ITIL y COBIT pueden ayudar a gestionar estrategias, activos y demás aspectos de TI de acuerdo a las regulaciones establecidas.
El código abierto está cambiando el modo en que contratan las empresas
Una organización que sólo utiliza software corporativo depende prácticamente de la compañía que ha creado ese programa para lograr nuevas extensiones, solucionar fallos o tener actualizaciones.
En cambio, una organización que incluye código abierto en su stack necesita un equipo con una mezcla potente de desarrolladores e ingenieros que puedan trabajar en crear nuevas extensiones o plugins, y detectar, probar e implementar soluciones de código abierto a medida que sean necesarias.
Bill Scott asegura que el OSS “hace que tus equipos mantengan sus conocimientos al día, ya que tu stack está a la vanguardia”. PayPal también comparte su OSS, como Kraken.js y Card.io. La ventaja de hacer esto, según Scott, es que “tu trabajo es público y se da difusión a tu capacidad tecnológica”, lo que a su vez se ha convertido en “la mejor herramienta de captación” para su equipo de ingenieros.
Algunas soluciones de código abierto que puedes utilizar
Desde tecnología backend hasta tu página web de cara al público, analíticas y gestión de riesgo, e incluso apps para móviles, puedes encontrar OSS para implementar en casi cualquier capa de un sistema.
– En el backend están el muy popular Node.js (construido sobre el motor JavaScript de código abierto de Google, V8, entre otros), así como Kraken.js y Socket.io, para conexiones bidireccionales en tiempo real entre el servidor y el cliente.
– Para cuando necesitas un blog o una mini web en menos de un día, ahí está WordPress, el CMS de código abierto más popular y más utilizado en todo el planeta.
– Para la gestión de riesgos y analíticas en tiempo real está la plataforma OpenGamma, disponible en dos tipos de licencias: código abierto (gratis) y comercial (de pago).
– Cuando tu aplicación para móviles necesite aceptar tarjetas de crédito, puedes hacer que los usuarios introduzcan los números utilizando su cámara con la Card.io de PayPal. Y después puedes usar el FinTP de Allevo para procesar las transacciones financieras.
En resumen
El software de código abierto ya es una realidad. Además de mejorar los stacks tecnológicos de empresas punteras, consigue que los costes se reduzcan e incluso se utiliza ya como herramienta para contratar personal tanto en empresas consolidadas como en startups. Quizás ha llegado el momento de que revises tu stack para ver si tu organización puede adoptar soluciones OSS, y así recortar gastos al tiempo que se mejora en agilidad y se potencia la innovación.