Estoy haciendo mi maestría basada en tesis en ingeniería informática y debo programar una herramienta en C++ como parte de mi investigación. Estoy muy impresionado con la ayuda que se ofrece en el sitio web Code Review y estoy considerando publicar una gran parte de mi código para sugerencias y mejoras. Sin embargo, también me preocupa que alguien pueda plagiar la idea contenida en mi código publicado. Esto, a su vez, podría afectar la credibilidad de mi trabajo.
Creo que una solución es publicar un ejemplo mínimo, verificable y completo del código para el que quiero sugerencias. Sin embargo, estoy interesado en saber si es posible publicar mi código tal como está y no preocuparme de que se copie.
En las revisiones de código, es necesario saber cuál es el objetivo del programa; de lo contrario, las personas que miran su código son esencialmente "linters humanos". Entonces, según el tipo de comentarios que desee, es posible que deba explicar un poco qué está haciendo su código.
Entonces, el problema central sería que usted está explicando su idea, y alguien más puede ejecutarla. Bueno, es internet, si lo haces público no hay forma de saber qué va a hacer la gente con él. De hecho, podría simplemente solicitar una verificación de código simple (sintaxis, nombres, errores obvios) pero sin contexto no pueden verificar si su código hace lo que cree que hace (parte útil de una revisión de código).
Sin embargo, si su título no es puramente en ingeniería de software, es posible que no les importe si su herramienta está escrita de una "manera óptima". La mejor opción sería mantenerlo fuera de línea en ese momento, o pedirle a algunos amigos en quienes confíe que revisen su código (a través de gists privados de github, por ejemplo).
Otra solución sería leer algún material relacionado con la calidad del código. Code Complete2 es un buen comienzo. Aparte de eso, consulte el código C++ en github de proyectos más grandes (Unreal Engine, por ejemplo). Si encuentra valioso escribir un buen código, esto lo ayudará más a largo plazo ;-)
Además de todas las buenas respuestas que ha recibido hasta ahora, también debo señalar que, en general, el miedo de las personas a ser eliminados sin ética es muy exagerado. Me imagino que realmente no hay una comunidad de personas que busquen en la Web investigaciones a nivel de tesis de maestría que puedan encontrar y luego, con una considerable desventaja de tiempo para el autor original, copiar. Digo "con una desventaja de tiempo considerable" porque incluso si alguien encuentra su trabajo, todavía necesita aplicar ingeniería inversa a mucho de lo que ya tiene y sabe para llegar a una tesis o artículo publicable solo con su código. A menos que considere dejar reposar su trabajo durante medio año, parece poco probable que un imitador termine publicando más rápido que usted, el autor original.
Sí, ser descubierto apesta, pero por lo general no sucede porque alguien robó tu código, o incluso tu idea. Scooping ocurre porque hay varios equipos independientes que trabajan en todo el mundo en casi cualquier tema de investigación principal y, por lo general, solo hay un número finito de formas de atacar cualquier problema dado el estado actual de la literatura. Es probable que surjan situaciones en las que dos equipos trabajen con enfoques similares en problemas similares.
Publicar código en Internet es algo así como publicar una preimpresión¹. Todos pueden verlo, usarlo e inspirarse en él, y está bien si te mencionan a ti como la fuente de esto, pero, por supuesto, alguien también puede venir y afirmar que tuvo la misma idea de forma independiente y apresurar una publicación antes que tú. (lo que constituiría plagio si no lo hubieran hecho). Incluso si sucede lo último, aún puede consultar su publicación/publicación con marca de tiempo para establecer la prioridad y obtener al menos una parte del pastel de crédito.
Sin embargo, hay una gran diferencia: en los campos donde los servidores de preprints como Arxiv están correctamente establecidos, los plagiadores pueden no ser muy creíbles cuando afirman que no sabían de su publicación anterior. Ser ajeno a algo publicado en Code Review, por otro lado, siempre es una afirmación plausible, a menos que el plagiador haya dejado un rastro interactuando con su publicación.
Algunos otros factores a considerar:
¿Cuánto de su resultado está contenido en su código? Al menos para mi trabajo, cualquier fragmento de código que encaje razonablemente en una pregunta de revisión de código, como máximo, le da una idea del panorama general. Si lo mismo se aplica a usted, es muy poco probable que alguien vea su código, reconozca su relevancia y reconstruya el resto de su trabajo a su alrededor.
¿Qué tan fácil es reconstruir su trabajo a partir de su código? Por ejemplo, si pasa un tiempo considerable averiguando el valor de algún parámetro (y no lo da en su ejemplo ni lo modifica), alguien más tendrá que reiterar todo lo que lleva a su parámetro. También considere que si se requiere una cantidad considerable de creatividad, habilidad de investigación y conocimiento de la materia para reconstruir su trabajo, alguien capaz de hacer esto también puede producir una investigación original con menos esfuerzo y riesgo.
¿Qué tan estrecho es su campo? Si solo una pequeña comunidad puede apreciar y reproducir plausiblemente su trabajo, también necesita a alguien de esta comunidad para reconocer y plagiar su trabajo a partir de su código.
¿Qué tan relevante es tu resultado? Dado que estamos hablando de una tesis de maestría, es poco probable que sea muy grande. Por supuesto, no es imposible, pero puede juzgarse a sí mismo por los comentarios que debería haber recibido de su supervisor. Cuanto menos atractivo sea el resultado, menos probable es que alguien se esfuerce y se arriesgue a plagiarlo. Una vez más, la mayoría de los investigadores probablemente tengan mejores cosas que hacer, por ejemplo, realizar su propia investigación.
¹ También vea esta pregunta mía sobre el plagio de preimpresiones.
En el momento en que publicas algo en Internet, debes estar dispuesto a vivir con las consecuencias de que la gente se escape. Code Review no es diferente en este sentido.
Sí, hay reglas en la academia contra el plagio. Sí, Stack Exchange tiene una política de derechos de autor ( aquí, párrafo 15 ). Pero siempre habrá gente alrededor que rompa las reglas, por lo que nada de eso garantizará que la gente no acepte tu idea.
Ya sea que afecte o no la novedad de su idea, supongo que eso depende de quién publique su artículo más rápido. Siempre que el tuyo se publique antes que el de cualquier plagiario deshonesto, no veo ningún problema.
Tenga en cuenta que llevará tiempo volver a hacer su trabajo, incluso si alguien ejecuta su idea (a menos que esté publicando el código fuente de la aplicación completa). Sugeriría esperar hasta que esté cerca de enviar o haya enviado un documento; en ese momento, cualquier imitador no tendrá ninguna posibilidad de alcanzarlo.
Un problema que no creo que se haya mencionado aún es el de los sistemas de software de detección de plagio. Esas son generalmente herramientas bastante contundentes y no es raro que marquen borradores anteriores del trabajo de un estudiante si se publican en línea en algún lugar donde saben buscar.
Si su trabajo se transmitirá a través de dicho software, debería habérselo dicho y debería leer atentamente las políticas que se le aplican. La mayoría de las instituciones llevarán a cabo una revisión manual después de que el software marque su trabajo como copiado, y si esa revisión se realiza correctamente, tendrá la oportunidad de señalar que el trabajo en línea es suyo. Pero es posible que aún deba poder probarlo, especialmente si publica bajo un seudónimo.
Si quieres un think-tank en una sala privada, donde la discusión y el conocimiento sea cerrado para los miembros y todos acepten un acuerdo confidencial, este no es el lugar.
No sé si existe algún sitio así, pero podría ser muy interesante como plataforma de grilla de investigación.
En cualquier caso, si alguien corrige un error en tu código, o incluye alguna mínima mejora, tienes que aceptar que no eres el propietario exclusivo de la obra frente a los colaboradores.
En primer lugar : ¿Tu universidad requiere que licences el programa para tus maestrías bajo la propiedad de la universidad o alguna licencia específica?
Si no, (es decir, usted es el propietario de su trabajo), ¿por qué no publicarlo en Github bajo la licencia deseada de su elección? #
De esta manera se puede probar prima facie la credibilidad/primera autoría del programa y posteriormente buscar las mejoras/contribuciones de la comunidad.
Si el programa resulta ser bastante útil y gana una tracción significativa, entonces esto podría convertirse en una insignia brillante en su currículum.
# Ya que está haciendo una maestría, asumo que incursionará en la industria en algún momento tarde o temprano y para que su programa gane tracción en la industria (léase: un currículum brillante) debe tener una licencia permisiva, por lo que si desea una opciones de licencia simples en lugar de investigar usted mismo (o mucho mejor consultar a un abogado ), puede elegir entre LGPL vs Apache vs zLib.
En pocas palabras, no hay forma de evitar que alguien tome su código y lo use de la forma que quiera, incluso reclamarlo como propio. Las licencias y la jerga legal solo son importantes para las personas que se preocupan por las licencias y la jerga legal. Puede poner todos los avisos de derechos de autor y términos de licencia en su código que desee, y no impedirá que alguien copie su código y lo use si está disponible públicamente. Usted tendría que
Si decide seguir este camino, asegúrese de tener una gran cantidad de dinero para pagar a sus abogados.
La alternativa es mantener su código en secreto, hacer su mejor trabajo con él y no dejar que nadie lo vea hasta que se publique su tesis, después de lo cual no podrá evitar que la gente lo use.
Toda la suerte.
Si su preocupación es la credibilidad, puede usar la publicación de su código en Internet en un foro como Stack Exchange para demostrar la propiedad. Hay un historial de edición completo que incluye marcas de tiempo. Por lo tanto, es verificable por terceros, inalterable, con una cadena de custodia independiente y transparente y de acceso público. Esa es una prueba sólida de posesión a partir de la marca de tiempo.
Además, usted posee los derechos de autor de su código en el momento en que lo escribe.
Entonces, la publicación en Internet podría ayudar a demostrar que es tuyo si alguna vez hay una disputa.
ff524
a_sid
Mástil
verdeb
sanchises
Mindwin
user contributions licensed under cc by-sa 3.0 with attribution required. rev 2017.10.31.27598
(vea el pie de página del sitio): las personas pueden y usarán su código para cualquier propósito que deseen, pero tienen que atribuir créditos.Pablo Ebermann
200_éxito
usuario1717828
Barmar
Voo
Mindwin
Mindwin
Kevin
redbow_kimee
Trilarión