Mejores prácticas para el éxito empresarial con software de código abierto
Para los proveedores y usuarios de software, no sólo es importante utilizar los componentes de software adecuados, sino también las estrategias, modelos empresariales, procesos y herramientas apropiados.
El punto crucial para los usuarios comerciales es si están dispuestos y son capaces de evaluar correctamente las condiciones de licencia de los componentes de código abierto utilizados, de modo que las condiciones de licencia no contradigan su propio modelo de negocio y pueda garantizarse también su cumplimiento.
El desarrollo y la distribución de OSS se caracterizan actualmente por una variedad de modelos empresariales y de concesión de licencias. Además de las soluciones comunitarias clásicas, como la Fundación Apache, también existen distribuidores y proveedores de servicios, por ejemplo para Linux.
El uso correcto -y más aún el incorrecto- del OSS puede tener una enorme repercusión en el éxito comercial de las empresas, como examina detalladamente SAP (Resell/OEM/SolEx) a más tardar durante la venta de una empresa (fusiones y adquisiciones), las inversiones de capital riesgo o de capital privado, pero también durante la reventa de soluciones de software.
Los errores en el uso del OSS suelen acarrear elevados costes de reparación o el abandono de proyectos y oportunidades de negocio prometedores. Sin embargo, los propios clientes también corren peligro, ya que sólo se puede ceder OSS a los clientes si se cumplen las condiciones de licencia correspondientes.
El uso de OSS sin licencia por parte de los clientes puede acarrear costosas consecuencias, como medidas cautelares, daños y perjuicios, renovación de licencias o desmantelamiento.
Esta es otra razón por la que cada componente individual de OSS debe ser identificado y revisado antes de su despliegue comercial. Es importante aplicar políticas, procesos y herramientas adecuados como una gobernanza eficaz del código abierto, que debe abarcar, entre otros, los siguientes puntos:
por un lado, la selección del código fuente abierto más adecuado y maduro que cumpla los requisitos de la propia empresa y, por otro, la detección e identificación lo más automática posible de los componentes de software de código abierto y sus licencias, con funciones de auditoría y cumplimiento.
Además, la gobernanza del código abierto también debe incluir la gestión del código OSS, incluido el inventario, la documentación y el seguimiento.
Con la mayoría de las aplicaciones para móviles, pero ahora también con muchas para Windows y Mac, los usuarios son informados automáticamente de la disponibilidad de nuevas versiones, que normalmente no sólo amplían la funcionalidad, sino que también corrigen errores conocidos y cierran brechas de seguridad.
Sin embargo, éste no es el caso de la mayoría de los componentes de código abierto, sobre todo porque "sólo" se instalan como componentes en aplicaciones. Desgraciadamente, la prensa especializada sólo informa sobre riesgos de seguridad graves cuando ya hay cientos de miles de sistemas afectados y/o se han producido daños importantes.
Por lo general, los desarrolladores de software tienen que informarse sobre las versiones actuales y nuevas de una forma tediosa y lenta, y volverse activos. Esto resulta aún más difícil cuando los propios componentes de código abierto están integrados en otros componentes, como suele ser el caso.
Por lo tanto, a diferencia de los casos denunciados por la prensa como WannaCry y Petya, la mayoría de las amenazas críticas ni siquiera están en el radar de los desarrolladores y responsables de TI.
Aquí es donde entran en juego las soluciones de supervisión de OSS para desarrolladores de software como Snyk, que no sólo generan automáticamente una lista de inventario completa, sino que también advierten proactivamente de las vulnerabilidades de seguridad de los componentes utilizados y ayudan a simplificar su sustitución.
Esto es posible gracias a una gran base de datos sobre componentes de OSS y riesgos de seguridad, así como a una estrecha integración con las nuevas tecnologías de software.
Especialmente con el uso de nuevas tecnologías como los contenedores, pueden surgir nuevos riesgos para la seguridad que sólo pueden minimizarse mediante una supervisión eficaz.