Tengo una herramienta de documentación codificada (por un ex colega) con componentes de código abierto. ¿Cómo puedo verificar para estar seguro de que el software no está pirateado?

Creo que “pirateado” no es el término correcto. Supongo que lo que quiso decir es cómo verifica si hay problemas en los componentes de código abierto, como vulnerabilidades de código abierto, problemas de cumplimiento de licencia de código abierto, etc.

Primero, los problemas de cumplimiento de la licencia pueden ocurrir solo si planea usar el código comercialmente (es decir, desea vender y ganar dinero con él). Si el código es solo para su uso personal, la licencia adjunta al código de fuente abierto que mencionó no debería alertarlo.

Las licencias de software explicadas en inglés simple (TL: DR legal) son un gran recurso para comprender cuáles son los términos de la licencia en pocas palabras (+ una lista de algunos otros recursos excelentes para el código abierto: los 10 recursos principales para explorar el mundo de Open Fuente

Con respecto a las vulnerabilidades de código abierto , la NVD (National Vulnerability Database) informa sobre cada vulnerabilidad de seguridad descubierta. El NVD es un producto de la División de Seguridad Informática del Instituto Nacional de Estándares y Tecnología (NIST) y se utiliza para la gestión y cumplimiento de la seguridad. La base de datos de CVE enumera todas las vulnerabilidades descubiertas en las bibliotecas de código abierto y comerciales, y puede buscar un CVE aquí: https://web.nvd.nist.gov/view/vu…

Sin embargo, el CVE no proporciona ninguna evaluación sobre el riesgo o la información sobre cómo parcharlo. Si eres un desarrollador solitario, el motor de búsqueda CVE anterior funcionará bien, pero si eres parte de un equipo, preferirías usar herramientas automatizadas que puedan brindarte visibilidad con respecto a todos los componentes de código abierto en uso, incluidas las dependencias.

Si está vendiendo un producto que contiene componentes de código abierto, debe usar una herramienta de administración de código abierto para estar al tanto de los riesgos en su código. Empresas como WhiteSource (Integración continua), OpenLogic y Black Duck (escáneres de código) están haciendo exactamente eso, en diferentes métodos …

5 consejos para usar componentes de código abierto de manera más inteligente

Puede usar herramientas pagas como Blackduck o Palamida o una versión de código abierto llamada FOSSology . Estos escanean su código y lo coinciden con el código abierto conocido y le muestran los tipos de licencia. Algunos mostrarán compatibilidad de licencia si hay varias licencias. Si la herramienta no muestra compatibilidad, tendrá que investigar esto usted mismo, lo que puede ser complejo si no conoce el mundo de los tipos de licencia de código abierto.

No puede “piratear” software de código abierto. Creo que lo que se quiere decir es “¿Cómo puedo verificar para asegurarme de que el software cumple con los requisitos de licencia y uso”.

Si solo está utilizando el software personalmente, o para casos de uso menores, o incluso para usos internos en una empresa, no me preocuparía demasiado por tener problemas para usar algún código que tal vez no provenga del lugar correcto o no cumple con los requisitos de licencia. Esto se debe a que 1) para uso personal, nadie vendrá después de usted 2) para uso interno de la compañía, la gran mayoría de las licencias de código abierto no afectan el código que se usa dentro de los muros de una compañía.

Si lo está utilizando en un entorno corporativo o corporativo oficial, o más particularmente lo está colocando en un producto o vendiéndolo o apoyándolo a los clientes (esto se llama distribuir el software), entonces debe hacer mucha diligencia debida , o corre el riesgo de ser demandado o ser forzado a dejar de usar ese software o tener malas relaciones públicas.