In this article
Definir una política segura para el código abierto
Política de código abierto definida
Una política de software de código abierto define los casos de uso aceptables para utilizar y distribuir software de código abierto en tu empresa o proyecto.
¿Qué es una política de código abierto?
Hoy en día, las organizaciones enfrentan una intensa presión para ser más eficientes y ágiles a escala, y así mantenerse viables en un mercado cada vez más competitivo. Para mejorar la productividad y maximizar el crecimiento en el mercado, los desarrolladores deben compartir y aprovechar activos digitales de código abierto, tecnologías de la información y una enorme cantidad de software de infraestructura.
Contar con una política de software de código abierto reduce las conjeturas de los desarrolladores e impulsa la transformación digital de una organización. Y, lo que es más importante, una política de uso de código abierto permite a los desarrolladores elegir las herramientas adecuadas y los inspira a adoptar el código abierto.
Las políticas de código abierto son importantes para las organizaciones:
cuando consumen software de código abierto
cuando usan código abierto en sus productos
cuando contribuyen a proyectos de código abierto
cuando usan código abierto para crear herramientas internas
La importancia de una política de código abierto bien definida
Las prácticas de gestión de políticas de código abierto maximizan el impacto y los beneficios del código abierto. Esto ayuda a garantizar que los riesgos legales y técnicos derivados de implementar software de código abierto y hacer públicos los derechos de propiedad intelectual de la empresa se comprendan y mitiguen adecuadamente de antemano.
¿Por qué necesitas una política de código abierto?
Una política de código abierto bien definida debe incluir ejemplos para que los desarrolladores entiendan:
qué prácticas son aceptables al usar código abierto
cuándo está permitido publicar código y herramientas de la empresa como código abierto
Saber qué casos de uso son aceptables y cuáles no es fundamental para gestionar con éxito una política de código abierto.
Minimizar los riesgos y maximizar la eficiencia
Adoptar la libertad, la flexibilidad y las comunidades asociadas con el código abierto contribuye en gran medida a crear una experiencia laboral positiva para los desarrolladores. Sin embargo, estos beneficios quizá no sean tan importantes para el equipo legal de una organización. Los abogados internos quieren una política de software de código abierto que garantice el cumplimiento de las licencias, evite demandas y ayude a la organización a prevenir la mala prensa y las reacciones negativas de la comunidad por el uso indebido o la apropiación de código y herramientas. Al crear una política de uso de código abierto, las partes interesadas deben comprender los tipos de licencias de código abierto, incluido el acuerdo de licencia de contribuidor.
¿Qué debe incluir una política de uso de código abierto?
Las prácticas de gestión de políticas de código abierto deben documentar cómo se revisa el software de código abierto y quién puede aprobarlo antes de que la organización lo use.
Si tu organización contribuye a proyectos de código abierto, también es fundamental incluir políticas que protejan la propiedad intelectual de la empresa y minimicen otros riesgos. Esto mejora la productividad y la motivación de los desarrolladores, ya que les permite participar en la comunidad de código abierto.
Además, la política de uso de código abierto debe identificar al equipo responsable de corregir los problemas y notificar a las partes interesadas pertinentes. También debe designarse a una persona responsable y a un encargado del mantenimiento de la política, para que pueda adaptarse a medida que la empresa crece y establece relaciones comerciales y con socios.
Pasos para crear tu política de código abierto
Estos son dos pasos clave para crear una política de código abierto:
Quizás el paso más importante sea obtener primero el compromiso de la organización. Contar con el respaldo de las principales partes interesadas contribuirá en gran medida a adoptar un plan y cumplirlo, incluso a medida que evoluciona, para gestionar la política de código abierto.
Una vez completado este paso inicial, se puede empezar a redactar un borrador de la política que contemple las distintas concesiones que deben resolverse. Crea reglas sencillas y generales en lugar de complejas, sin perder de vista el equilibrio entre controlar los riesgos y aumentar la productividad de los desarrolladores.
Partes interesadas clave para crear una política de código abierto
En una organización, es importante que las partes interesadas contribuyan a la gestión de la política de código abierto. Entre quienes participan en la creación y evolución de esta política de software de código abierto pueden estar los ingenieros de software, desarrolladores, arquitectos de software, gerentes de producto y de negocios, y personal de control de calidad. No hay que olvidar al equipo legal de la organización ni a las partes interesadas de seguridad, que supervisan los detalles de cómo se permite que el software entre y salga de la organización.
Cumplimiento de licencias como parte de una política de código abierto
Como ocurre con cualquier otra licencia, es fundamental que las organizaciones cumplan las condiciones de las licencias de código abierto para reducir la exposición a riesgos. Una vez más, este es un elemento fundamental de la política de software de código abierto de una organización. Para lograrlo, se deben realizar auditorías frecuentes y verificar que en las versiones de software de la organización no se incluya software de código abierto sin documentar o mal documentado.
Adoptar una política de análisis de código
Se debe exigir a los proveedores de software que informen sobre cada componente de software de código abierto (OSS) incluido en sus entregas, cualquier modificación y los riesgos de seguridad conocidos. Las organizaciones también deben adoptar una política de análisis de código, por ejemplo, con Snyk Open Source, para verificar que el software sea seguro y cumpla con las licencias de código abierto. También deben incluirse las condiciones de cumplimiento de las licencias para que la organización sepa si se aceptan las licencias duales y pueda descartar las que no sean aceptables.
Analiza tus dependencias de código abierto en busca de vulnerabilidades
Encuentra, prioriza y corrige vulnerabilidades automáticamente y gratis con Snyk.
Revisar solicitudes de paquetes de código abierto para tu política de código abierto
Entre los elementos clave de una política de software de código abierto se incluye una lista de código abierto aprobado. La política debe indicar claramente si es aceptable usar código abierto en software propietario. De lo contrario, esto puede convertirse en un problema de licencias para la organización. Una política que permita revisar rápidamente las solicitudes de código abierto y los acuerdos de licencia de contribuidor ayuda a los desarrolladores a elegir las herramientas adecuadas y completar su trabajo con rapidez. También demuestra que la organización apoya firmemente el código abierto. Se debe reemplazar a los revisores si pierden el interés o tardan demasiado en aprobar nuevas solicitudes de software o código, sobre todo a medida que la organización crece.
Por qué debes perfeccionar continuamente tu política de código abierto
Las nuevas vulnerabilidades y sus correcciones suelen ser el resultado de las actualizaciones y mejoras continuas del software de código abierto. A medida que se incorpora más software abierto, para tener éxito es fundamental mantener un proceso continuo que supervise el uso de código abierto de la organización. Este proceso debe estar sincronizado con diversos tableros de documentación de vulnerabilidades que mantiene la comunidad de código abierto. Esto puede ofrecer avisos en tiempo real sobre vulnerabilidades de código abierto.
Cumplimiento como código: automatiza tu política de código abierto
En la carrera actual por mantener y actualizar el software, el cumplimiento como código puede ser una alternativa a las auditorías manuales del software de código abierto. En un momento en que la automatización puede liberar tiempo de los desarrolladores para mejorar los servicios internos y los que se ofrecen a los clientes, tiene sentido automatizar el método para comprobar que se sigan los controles establecidos en la política de uso de código abierto. El cumplimiento como código puede ayudar a prevenir errores y brechas de seguridad, detectarlos y corregirlos.