Un proyecto de código abierto con licencia BSD, MIT u otra licencia permisiva acepta contribuciones de código de la comunidad.
¿Cómo puedo evitar que alguien tome un código con licencia GPL que no es de su propiedad y lo envíe a mi proyecto con licencia BSD? No sé si la contribución fue robada de un proyecto con licencia GPL y la acepto.
No deseo aceptar tales contribuciones, para no hacer que todo el proyecto sea GPL. Pero no tengo forma de saber si el contribuyente realmente posee los derechos de autor del código que está contribuyendo. Entonces, si alguien contribuye ilegalmente a mi proyecto con un código con licencia GPL, no conozco ninguna forma de detenerlo (salvo por no aceptar ninguna contribución).
Seguramente, hay un montón de proyectos con licencia BSD y MIT, por lo que debe haber una solución.
¡Gracias!
Respuestas:
Uno no simplemente "protege contra" contribuciones ilegales.
Nunca acepta una contribución a ciegas y debe tener un proceso para examinar las contribuciones (incluida la suya) para varios tipos de problemas:
"Todo" lo que debe hacer sería agregar un cheque por plagio . Esto se puede hacer, hasta cierto punto, con herramientas automáticas simplemente buscando en Google las líneas de código relevantes.
Lo he intentado ahora levantando algunas muestras de código de proyectos, y funciona. Simplemente extraje cadenas, formatos, comentarios y nombres de funciones y prototipos del código, luego busqué en Google y miré dónde aparecía un solo sitio en múltiples coincidencias. En 17 pruebas de 19, el sitio fuente fue el primero de cinco candidatos; en todos los casos, el sitio apareció entre los primeros cinco. Por el contrario, partes de mi propio código solo activaron falsos positivos en tres (cuatro) casos de veinte, con objetivos de muy baja calidad, por lo que al leer rápidamente media docena de sitios pude descartar la alerta. Con el código GPL, además, el fragmento de la Búsqueda de Google era visiblemente el mismo que el código que había probado.
En este punto, estoy seguro de que podrías hacerlo a mano . Eche un vistazo al código, mire los comentarios (¿tienen sentido? Si no, ese es otro tipo de luz roja. En caso afirmativo, o se han redactado de nuevo (!) O los encontrará), pruebe un un par de cadenas de texto, conéctelas a Google u otros motores de búsqueda.
Y solo necesita esto para contribuciones considerables .
Desde un punto de vista legal, me estoy desviando rápidamente de mi profundidad , me imagino que necesita que sus contribuyentes acepten alguna forma de renuncia o acuerdo en el que declaren que van a contribuir honestamente.
Cuando no lo hacen, y te lo perdiste (por ejemplo, transformaron / ofuscaron algún código GPL para que no se encuentre buscando en Google), lo más probable es que nunca se descubra a menos que se haya hecho con fines de atrapamiento, y ellos mismos hacen sonar el silbato. En ese momento, su proyecto violará la GPL y usted puede:
Para que todo el escenario sea cualquier tipo de problema realista, el "contribuyente" debería necesitar:
Todo el escenario, especialmente el último punto, me parece muy descabellado. Una vez que el control de plagio esté en su lugar, dejaría de preocuparme.
fuente