Introducción
El software de código abierto se ha convertido en la base del desarrollo de software moderno. Desde marcos web y bases de datos hasta sistemas operativos y herramientas de desarrollo, los componentes de código abierto potencian la mayoría de las aplicaciones creadas hoy en día. Comprender cómo implementar de forma eficaz software de código abierto mientras se administran los riesgos asociados es esencial para los equipos de desarrollo y las organizaciones.
Sin embargo, el uso de software de código abierto presenta consideraciones importantes que las organizaciones deben abordar. Las vulnerabilidades de seguridad, elcumplimiento de licencias, las obligaciones legales y los riesgos de la cadena de suministro requieren atención cuidadosa. Las organizaciones que no administran correctamente sus dependencias de código abierto pueden enfrentar infracciones de seguridad, responsabilidades legales, costos inesperados e interrupciones operativas.
En este módulo se proporcionan instrucciones completas sobre la implementación de software de código abierto en entornos empresariales. Aprenderá cómo se compila software moderno con componentes de código abierto, comprenderá las preocupaciones corporativas sobre la seguridad y las licencias, explorará las licencias comunes de código abierto y sus implicaciones y detectará estrategias para administrar el software de código abierto de forma eficaz.
Conocimientos que adquirirá
En este módulo se tratan los conocimientos esenciales para trabajar con software de código abierto en entornos profesionales:
Descripción del desarrollo de software moderno: Explorará cómo se compilan las aplicaciones contemporáneas mediante la combinación de código original con bibliotecas, marcos y herramientas de código abierto. Conocerá por qué las organizaciones eligen componentes de código abierto y comprenderán las ventajas que proporcionan, como el desarrollo más rápido, las soluciones probadas, el soporte técnico de la comunidad y el ahorro de costos.
Preocupaciones corporativas sobre el software de código abierto: Examinará los riesgos operativos, legales y de seguridad a los que se enfrentan las organizaciones al usar componentes de código abierto. Esto incluye vulnerabilidades de seguridad en dependencias, requisitos de cumplimiento de licencias, riesgos de la cadena de suministro, proyectos no retenidos o abandonados, y el desafío de administrar miles de dependencias en varias aplicaciones.
Aspectos básicos de la licencia de código abierto: Obtendrá información sobre diferentes categorías de licencias de código abierto, desde licencias permisivas como MIT y Apache que permiten un uso comercial amplio, para copiar licencias como GPL que requieren trabajos derivados para usar la misma licencia. Comprender las características de licencia le ayuda a tomar decisiones fundamentadas sobre qué componentes de código abierto son adecuados para los proyectos.
Implicaciones de licencia para el software comercial: Descubrirá cómo afectan las distintas licencias al desarrollo de software comercial, incluidas las restricciones en el software propietario, los requisitos para revelar el código fuente, los requisitos de atribución y los problemas de compatibilidad de licencias. Este conocimiento evita problemas legales que podrían afectar a la capacidad de su organización para vender o distribuir software.
Estrategias para administrar componentes de código abierto: Explorará los enfoques prácticos para implementar software de código abierto de forma segura y conforme, incluido el mantenimiento de inventarios de componentes, el examen de vulnerabilidades, el seguimiento de las obligaciones de licencia, el establecimiento de procesos de aprobación y el uso de herramientas automatizadas para supervisar las dependencias continuamente.
Objetivos de aprendizaje
Después de completar este módulo, podrá:
- Comprenda cómo se crea software moderno mediante componentes de código abierto y las ventajas que proporcionan para la velocidad de desarrollo, la calidad y la innovación.
- Explicar las preocupaciones corporativas sobre el software de código abierto, incluidas las vulnerabilidades de seguridad, el cumplimiento de licencias, los riesgos de la cadena de suministro y los desafíos de administrar las dependencias a escala.
- Describir licencias comunes de código abierto , como MIT, Apache 2.0, GPL, BSD y otras licencias, comprender sus características clave, permisos y restricciones.
- Evalúe las implicaciones de licencia para el desarrollo de software comercial, entendiendo qué licencias son compatibles con software propietario y que requieren divulgación de código fuente.
- Implemente estrategias para administrar componentes de código abierto, como la administración del inventario, el examen de vulnerabilidades, la comprobación de cumplimiento de licencias y el establecimiento de flujos de trabajo de aprobación para nuevas dependencias.
Requisitos previos
Antes de iniciar este módulo, debería tener lo siguiente:
- Comprensión del desarrollo de software: Conocimientos básicos sobre cómo se compilan las aplicaciones, incluido el uso de bibliotecas, marcos y dependencias.
- Familiaridad con los conceptos de DevOps: Descripción de la integración continua, la entrega continua y el ciclo de vida de desarrollo de software.
- Experiencia de control de versiones: Experiencia básica con Git u otros sistemas de control de versiones en los que se produce la administración de dependencias.
- Reconocimiento de las licencias de software: Comprensión general de que el software tiene términos legales que rigen su uso, incluso si no ha estudiado licencias específicas en detalle.
La experiencia en el trabajo en una organización que ofrece software es beneficiosa, pero no necesaria. Este módulo proporciona los conocimientos básicos necesarios para trabajar con software de código abierto profesionalmente.