Cuando utiliza un software de código abierto, ¿cómo puede estar seguro de que solo ejecuta su código público y nada más?

Si está utilizando Java, hay formas de verificar. Cada biblioteca de código abierto se empaqueta en un jar. Muchas bibliotecas de código abierto dependen de otras bibliotecas de código abierto, y le dirán que descargue todas las bibliotecas o que use una herramienta de compilación que gestione la dependencia para descargar todas las bibliotecas dependientes por usted.

En última instancia, todas las bibliotecas que utiliza y las bibliotecas que necesitan deben empaquetarse y copiarse en la máquina de destino. Puede inspeccionar manualmente este paquete para ver que todos los frascos que contiene son de código abierto.

Sí, es posible que una biblioteca de código abierto en particular descargue otros frascos de Internet y los use. Además, podría estar haciendo algunas llamadas al servicio web. Puedes atrapar esto monitoreando la red. Puede evitarlo colocando la aplicación en un entorno limitado que no le otorga permisos para realizar una conexión de red, o colocando un firewall que evite las conexiones salientes desde la máquina que ejecuta el software.

Por último, es completamente posible que los creadores de bibliotecas de código abierto hayan plagiado el código de otra persona. No hay forma de prevenir el plagio, excepto mediante la inspección manual del código fuente. En general, es poco probable que las bibliotecas de código abierto plagien el código fuente cerrado, porque las posibilidades de que alguien se entere son altas.

Una cosa sobre el código abierto es que no hay secretos. Si no puede leer el código fuente usted mismo para ver qué está haciendo, vea si puede encontrar a alguien que lo ayude. Si un programa de código abierto estaba robando información de la gente, lo sabrías porque los programadores que tenían interés en el producto transmitirían ese hecho. Confío mucho más en el software de código abierto que en el de código cerrado.

Sí, puede compilarlo después de revisar todo el código fuente para asegurarse de que no haya nada indeseable. Si le preocupa que el compilador introduzca código no deseado, entonces tiene mayores problemas. Es posible que deba revisar el código de un compilador escrito en ensamblador (probablemente difícil de encontrar en estos días) y luego ensamblarlo usted mismo … por supuesto, tendría que confiar en el ensamblaje. Un ensamblador puede ser lo suficientemente simple como para escribir el tuyo usando las especificaciones de la CPU, pero a menos que sea para una plataforma informática confiable, diría que no vale la pena el esfuerzo para evitar algunas posibles travesuras integradas en un compilador ampliamente utilizado. Si va a llegar a esas longitudes, también podría hacer sus propios chips de hardware porque el código también podría estar oculto allí. : – \

Infórmese sobre el origen de su paquete compilado para determinar si puede confiar en ellos y / o revisar y construir el paquete usted mismo.

Primero lea su código para asegurar su autenticidad. Luego compílelo y use el código que ha cumplido usted mismo.

Como otros han respondido, el beneficio de usar un proyecto de código abierto es que puedes leer lo que hace.

Espero que esto ayude 🙂

Gracias por el A2A