¿Puedo reclamar esto como mi propio proyecto si recibí ayuda en línea? [cerrado]

9

Básicamente, soy nuevo en la programación de redes en Python, así que realicé un tutorial en línea para averiguarlo. Utilizando lo que se enseñó en el tutorial (creación de un socket, conexión a puertos, etc.), modifiqué el código para crear un programa en el que dos computadoras puedan enviarse mensajes entre sí.

Si tuviera que solicitar un trabajo y mostrarlo a mis entrevistadores, ¿sería técnicamente el código para mí? Es justo decir que no modifiqué tanto el código; Sin embargo, ¿qué pasa si, por ejemplo, lo modifico en algo así como un juego de tres en raya, donde dos usuarios juegan entre sí desde diferentes PC, entonces el código sería mío? Simplemente no quiero parecer un plagio, por eso pregunto.

Brad Guy
fuente
99
Robert tiene razón, pero para ser claros: esto no es negativo. "¡Comencé con un código de un tutorial inicial de Python, y lo convertí en esto!" ... desde una perspectiva laboral, esto puede verse como bueno o mejor que si comenzaras desde cero. Si comenzó con el código de otra persona, eso significa que puede leer el código de otros, además de expandir, refactorizar, cambiar el propósito, etc. Tener algo "propio" no es, para la mayoría de los trabajos, el gran foco, y si usted puede mostrarles con qué comenzó y qué hizo con él, ¡incluso mejor!
BrianH
¿Cuánto código agregaste o restaste? Si comenzó con 100 líneas de código del tutorial y tiene 110 líneas, probablemente no. Si tienes 1000 líneas, sí, es tuyo, pero habla sobre cómo las obtuviste y menciona dónde obtuviste ayuda. (Sí, sé que las líneas de código no son una gran métrica, pero pueden dar una idea).
1
Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de una pregunta ética que está fuera de tema para los programadores.
durron597

Respuestas:

11

No.

Pero puede afirmar que modificó el código para crear un programa en el que dos computadoras puedan enviarse mensajes entre sí. O puede afirmar que lo modificó en algo así como un juego de tres en raya, donde dos usuarios juegan entre sí desde diferentes PC.

Simplemente represente sinceramente la cantidad de trabajo que le dedica. No puede reclamar la propiedad de algún proyecto en Internet si otros hicieron parte del trabajo.

Robert Harvey
fuente
1

Yo iría con la línea clásica "depende" .

Como ya dijiste que no lo modificaste mucho, estoy completamente del lado de Roberts. No es tu proyecto.

Pero por otro lado: a todos los desarrolladores nos gusta discutir, investigar y, a veces, copiar y pegar para nuestros proyectos. Jugar con el código de otras personas es bastante común. Si lo modificas mucho, pones un poco de esfuerzo, proporcionando nuevas características o un enfoque diferente sobre el problema, entonces es tu código.

Simplemente manténgase en la verdad sobre la cantidad de trabajo que realmente hizo por sí mismo y estoy seguro de que nadie lo llamará plagio.

mhr
fuente
1

Si lo que hiciste fue modificar el código de alguien para hacer algo que quisieras, entonces sería deshonesto afirmar que tu código era "tuyo". Más bien, es un programa que creaste basado en el código existente.

Ahora puede haber notado que muchos programadores usan el código de otras personas. Todo el tiempo. Las bibliotecas y las API son esencialmente una forma formal de usar el código que alguien creó en su propio proyecto. Si bien lo que hizo no fue lo mismo que usar una biblioteca o API, tiene el mismo efecto.

En el caso del programa P2P simple, puede afirmar que escribió una aplicación de mensajería que utiliza la implementación de otros protocolos web de protocolos web simples. Puede seguir adelante y llamarlo su programa, solo debe dar crédito a quien escribió las partes prestadas. Y sería mejor agregar comentarios al código citando la fuente, para que otros puedan encontrarlo si es necesario.

Y en el caso del juego, escribiste un juego. Puede reclamar esto como su código. Este juego luego utiliza un conjunto de funciones que obtuviste de otra fuente para habilitar la funcionalidad multijugador. De nuevo, probablemente deberías ubicar la fuente de ese código al menos en los comentarios de tu código. Sin embargo, en esta situación, probablemente puedas salirte sin contar explícitamente esto a otros fuera del código, ya que realmente escribiste el juego.

Muchos desarrolladores confían en las bibliotecas para hacer frente a algunos de los problemas más complejos que enfrentan. Muchas personas usan cosas como protocolos de red, gráficos y matemáticas avanzadas, por lo que hay bibliotecas que hacen que todas esas cosas varíen bien. La utilización de este tipo de código no solo es completamente aceptable, sino también normal.

Si dice "este es un cliente de mensajería instantánea" o "este es un videojuego", nadie se sorprenderá si el código de red es de un tercero. Simplemente no afirme que es el único autor de todas las partes del código, y debería estar bien.

Sin embargo, debe considerar otra posibilidad: ¿el código en cuestión está protegido por algún término de uso? Hasta este punto, he estado hablando sobre el código que está disponible sin términos o con términos muy abiertos. Sin embargo, si el autor tiene algunos términos más específicos, sígalos . Si solo pretendían que el código fuera con fines educativos, no está bien usarlo en cualquier capacidad más allá de eso. Hay todo tipo de limitaciones que pueden colocar en ese código, así que tenga cuidado con la forma en que lo usa.

zeel
fuente
Esto está totalmente fuera del punto, excepto por el último párrafo. La reutilización de código a través de bibliotecas es bastante diferente (ética y legalmente) de la reutilización de código a través de copiar y pegar.
amon
En realidad no, ya que, en esencia, el compilador solo copia / pega de todos modos. No hay una diferencia real, al final son solo secuencias de comandos del procesador. En cuanto a "ética y legalmente", de eso se trata mi último párrafo. Mientras el creador original esté de acuerdo con su uso del código, es esencialmente lo mismo que usar una biblioteca.
zeel