Exploración de problemas corporativos con componentes de software de código abierto
En resumen, el desarrollo de software moderno, incluida la plataforma y el ecosistema de desarrolladores de Microsoft, implica componentes de código abierto.
Tiene implicaciones para las empresas que compilan software, ya sea comercialmente o para uso interno.
La inclusión de componentes de software que no los crean las propias empresas significa que no hay ningún control completo sobre los códigos fuente.
Ser responsable del código fuente usado en los componentes usados dentro de una empresa significa que debe aceptar sus riesgos. El problema es que el componente de código fuente:
- Es de baja calidad. Afectaría al mantenimiento, la confiabilidad y el rendimiento de la solución general.
- No tiene un mantenimiento activo. El código no evolucionaría ni se modificaría sin copiar el código fuente, lo que haría que se alejara del origen de forma eficaz.
- Contiene código malintencionado. Todo el sistema que incluye y usa el código se verá comprometido. Potencialmente, la infraestructura y la TI de toda la empresa se ven afectadas.
- Tiene vulnerabilidades de seguridad. La seguridad de un sistema de software es tan buena como su parte más débil. El uso del código fuente con vulnerabilidades hace que todo el sistema sea susceptible a ataques por parte de hackers y usos indebidos.
- Tiene restricciones de licencia poco favorables. El efecto de una licencia puede afectar a toda la solución que usa el software de código abierto.
Las empresas tendrán que hacer una compensación: sus desarrolladores quieren utilizar componentes de software de código abierto, lo que les permite acelerar el desarrollo y utilizar plataformas, bibliotecas y prácticas modernas.
Por otro lado, dar a los desarrolladores y proyectos la libertad de incluir software de código abierto no debería poner en riesgo a la empresa.
Los desafíos de la empresa consisten en encontrar una forma de mantener a los desarrolladores capacitados y libres para elegir la tecnología que van a utilizar y, al mismo tiempo, asegurarse de que los riesgos para la empresa se gestionen lo mejor posible.
Otros desafíos proceden de empresas que ofrecen software de código abierto al público.
Estos desafíos incluyen tener un modelo de negocio en torno al código abierto, cuándo publicar código abierto y cómo tratar las contribuciones de la comunidad.
El hecho de que el código fuente esté abierto no implica que nadie pueda realizar cambios en él.
Puede haber contribuciones de la colaboración de la comunidad, pero una empresa no necesariamente tiene que aceptarla. Se conoce como código abierto cerrado.
Las sugerencias de cambio son bienvenidas, pero los que realizan las tareas de mantenimiento son los que se encargan de los cambios reales.