Introducing the 2024 PKI & Digital Trust Report     | Download the Report

Sopesar los pros y los contras de Open-Source Software para apoyar las infraestructuras críticas

Comunidad de desarrolladores

Hace quince años, un colega me dijo: "Open-source software no es libre; significa acceso al código fuente". Por aquel entonces, ambos trabajábamos para una empresa open-source software que vendía funciones empresariales y soporte para un proyecto Apache open-source . Este fue mi primero de muchos esfuerzos trabajando en el mundo open-source , y rápidamente aprendí que es un error utilizar open-source software sin soporte en producción.

Ahora, estoy seguro de que algunos de ustedes están listos para dejar de leer este blog en este momento porque utilizan open-source software en producción todo el tiempo (y muchos lo hacen). No he dicho que no puedas usarlo; he dicho que es un error. Escúchame bien: Soy un gran fan de open source, y hay muchos aspectos positivos en su uso. También hay muchos aspectos negativos, que pueden causar problemas importantes si no estás preparado. Este blog cubrirá los pros y los contras de open-source software para dar soporte a infraestructuras críticas, así que sigue leyendo.

Empecemos con cinco ventajas clave:

  1. Licencias y costes: El modelo open-source está diseñado para que las empresas puedan implantar y utilizar libremente software como deseen. Si se desea, puede pagarse una cuota de suscripción para las funciones y el soporte de empresa.
  2. Acceso al código fuente: Una de las cosas más frustrantes de software es conseguir que se añada una mejora. Se está a merced del proveedor. Esto no ocurre con open-source software . Tener acceso al código fuente significa que sus desarrolladores pueden añadir o modificar funciones para adaptarlas a las necesidades de su empresa.
  3. Escala y rendimiento: Muchos productos populares de open-source están expuestos a algunas de las mayores cargas de trabajo y demandas de escala del planeta. De hecho, muchos productos de open-source proceden de grandes empresas web en las que el producto se creó para gestionar necesidades a gran escala.
  4. Comunidad: Open-source software suele contar con el apoyo de una comunidad de desarrolladores que contribuyen al desarrollo y mejora de software. Esto significa que los errores se corrigen con mayor rapidez y que las nuevas funciones se añaden más rápido que en el caso de software (aunque hay que tener en cuenta que la comunidad puede rechazar correcciones de errores o solicitudes de funciones).
  5. Uso: Open-source software está construido para funcionar en sistemas operativos modernos y hardware, lo que facilita su despliegue y uso (no va a utilizar Windows 95 como sistema operativo).

Veamos la otra cara de la moneda: he aquí cinco contras a tener en cuenta:

  1. Apoyo: Este es uno de los mayores inconvenientes. Si planeas ejecutarlo en producción, deberías contar con el soporte de un proveedor que sea propietario del proyecto open-source o que tenga el mayor número de committers en el proyecto. He experimentado esto de primera mano como un proveedor de apoyo a un producto open-source . Me pidieron que atendiera una llamada con una persona que, según me dijeron, tenía mucho pánico. Cuando me puse al teléfono, descubrí que esta persona tenía un sistema financiero que no funcionaba y que no podía resolver el problema. Su equipo de desarrollo y operaciones se dio cuenta de que el problema estaba relacionado con el sitio open-source software que mi empresa soportaba. Para resolver la situación rápidamente, firmamos un contrato de emergencia y solucionamos el problema. No voy a decirles cuánto duró el proceso (el contrato duró más que la corrección del error), pero puedo decirles que fue mucho más de lo que ellos querían. Una vez solucionado el problema, firmaron un contrato de asistencia completa.
  2. Open-source prácticas: Dependiendo del producto open-source , conseguir que se corrija una función o un error puede ser todo un reto. Muchos productos requieren un proceso de votación que puede ser arduo y llevar un tiempo excesivo. Además, muchos productos de open-source se limitan a eliminar funciones en lugar de dejarlas obsoletas, lo que dificulta la actualización o la integración con versiones más recientes.
  3. Seguridad: Algunos productos de open-source no tienen el rigor de seguridad de los propietarios de software. Puede haber vulnerabilidades, por lo que debe utilizar sus herramientas de análisis internas antes de utilizar o desplegar cualquier producto no compatible de open-source .
  4. Interfaz de usuario: Normalmente, los equipos de aplicaciones de open-source se centran menos en la interfaz de usuario. El término "suficientemente bueno" suele ser su lema. Es probable que tu aplicación no dependa de la interfaz de usuario proporcionada, sino más bien de las API y los puntos de integración.
  5. Complejidad: Algunos open-source software pueden ser muy complejos de desplegar y gestionar. software está escrito por gente muy técnica. Recuerda que para ellos es fácil, pero no los tendrás en tu plantilla cuando llegue el momento de desplegar y gestionar (¿he mencionado un contrato de soporte?).

Mientras sopesas estos pros y contras, espero que mi mensaje quede claro: el uso de open-source software para infraestructuras críticas es positivo si cuentas con un proveedor que lo respalde. Un buen proveedor/socio dotará a su equipo de funciones empresariales (no disponibles en la versión open-source ), conocimientos profundos y asistencia 24x7x365 cuando las cosas vayan mal. Si opta por la autoasistencia, tenga en cuenta que su equipo de desarrollo pasará más tiempo dando soporte a open-source software y no creando los productos necesarios para su empresa.

En Keyfactor, creemos en open-source software y en una comunidad que la apoye y la alimente. Visítenos en https://www.keyfactor.com/open-source /community/ para saber más sobre la Comunidad Keyfactor y los productos que ofrecemos. Y si te interesa, puedes unirte a la comunidad para ayudar a forjar el futuro.