Soy un estudiante universitario que trabaja como asistente de investigación para una universidad, principalmente junto con un supervisor. Si bien tengo mi propio proyecto, mi trabajo aún me obliga a ayudar a mi supervisor en su investigación principal.
Recientemente, mi supervisor me asignó un pequeño proyecto de codificación que aceleraría el análisis de datos para experimentos, lo que nos beneficiaría a ambos. Con mucho gusto escribiría un código que simplifique su trabajo y el mío como lo es mi trabajo como su asistente. Sin embargo, estoy ansioso de que el código que he escrito se disperse y se use en todo el grupo de investigación. Este sentimiento se debe al hecho de que este proyecto de codificación surgió durante una conversación grupal en la que yo estaba, mi supervisor y otro investigador, quien señaló que dicho programa le ahorraría a él y a otros en el departamento tiempo y energía.
mis dos preguntas
¿Estoy justificado al sentir que el otro investigador me está explotando para escribir este código o estoy siendo egoísta?
¿Puedo proteger mi código de otros que lo usen sin crear tensión/enemigos?
Creo que mi energía y mi tiempo están reservados ante todo para el trabajo de mi supervisor y el mío propio. Este es un código que es relativamente fácil de escribir pero requiere mucho tiempo. Veo que si el otro investigador quiere tener este atajo en el análisis de datos, podría escribirlo él mismo. No me molestaría tanto si el proyecto viniera directamente de mi supervisor, ya que sería explícitamente para nosotros. Después, si se compartiera, no creo que estaría tan en conflicto. Más bien, el investigador que impulsó el proyecto está muy alejado de mi trabajo.
De lo contrario, si este código se difunde a otros investigadores, ¿cómo me aseguraría de recibir reconocimiento por él? Estoy buscando educación superior con este departamento y quiero mejorar mi reputación en las admisiones como miembro significativo del grupo de investigación. Quizás estoy siendo demasiado mezquino o egoísta con el impacto de este código. Esta es la primera vez que experimento escribir código para algo más allá del trabajo en clase y me gustaría abordar la situación de la manera correcta.
Editar
Gracias a todos por mostrarme que estaba siendo realmente idiota. La mayoría de estos comentarios tienen sentido o repartieron la bofetada en la cabeza que necesitaba. Ser capaz de mejorar otras industrias es un gran punto de mi interés en el campo, por lo que verlo desde afuera hizo obvio que estaba siendo un hipócrita. Me doy cuenta de que necesito cambiar mi forma de pensar si la investigación es algo que quiero seguir en el futuro. Mientras tanto, diversificaré el código tanto como sea posible para ayudar a tantos como pueda. Gracias a todos por sus comentarios.
¿Estoy justificado al sentir que el otro investigador me está explotando para escribir este código o estoy siendo egoísta?
No, no está siendo "explotado"; si lo entiendo correctamente, este código también lo beneficiaría a usted y a su supervisor. Que también beneficiará a otros es algo bueno .
¿Puedo proteger mi código de otros que lo usen sin crear tensión/enemigos?
Posiblemente puedas protegerlo, aunque esto es poco probable dado que trabajas para la universidad y es probable que ellos "posean" el trabajo de todos modos. Pero creo que incluso el intento de hacerlo probablemente causará "tensión/enemigos", como dices.
¿Por qué? Porque literalmente no tiene nada que ganar al ocultar este código a otros en el grupo de investigación; todo lo que hace es dañar a otros, lo que hará que parezca que esa fue su intención. Y eso es bastante probable que moleste a la gente.
Estoy buscando educación superior con este departamento y quiero mejorar mi reputación en las admisiones como miembro significativo del grupo de investigación.
Aquí es donde tienes las cosas al revés: si creas algo significativo en el contexto del grupo de investigación, quieres que otros se beneficien de ello. Cuantos más miembros se beneficien de él, mayor será el impacto. Cuantas más personas intentes ocultárselo, más gente tendrás que decirle a la gente (como los involucrados en las admisiones) que eres un niño egoísta que no sabe jugar en equipo.
Como esta es la primera vez que está "escribiendo código para algo más allá del trabajo de clase", creo que es importante aprender algunos de los principios básicos de lo que significa escribir software por dinero, ya que creo que una vez que los entienda, la respuesta a su las preguntas fluyen con bastante naturalidad.
Primer principio: cuando alguien te paga por escribir código, implica dos cosas: primero, que estás escribiendo algo para resolver un problema o llenar una necesidad que tiene; segundo, que son de su propiedad y pueden hacer lo que quieran con él. Este principio se conoce legalmente como Work-For-Hire en los Estados Unidos.
Segundo principio: el código que escribió no es especial: hay literalmente millones de personas que podrían haber producido el mismo código, o mejor, para resolver el mismo problema.
Si los junta, se dará cuenta de que, en primer lugar, no es su código (pertenece a su supervisor, al laboratorio, a la universidad o a quien sea) y que el código no es particularmente valioso (todas lo que vale es el costo de pagarle a alguien para que lo reescriba). Como su proyecto era un "pequeño proyecto de codificación" escrito por un asistente de investigación, el valor de reemplazo es bastante mínimo.
Entonces, ahora que ve que el código en sí tiene un valor limitado, debe comprender dónde agrega valor real al proceso (para que pueda aprender cómo agregar más valor y recibir más compensación a cambio).
Un desarrollador agrega valor a una organización al poder:
Como su objetivo es "recibir reconocimiento" y "mejorar [su] reputación", y como esas son formas de compensación, debe concentrarse en agregar valor real.
Para agregar valor en su situación, debe abrazar a todos los usuarios potenciales. Como cada uno de ellos tendrá un problema visualmente diferente para resolver, ambos desarrollarán una experiencia en la resolución de este tipo de problemas (n.° 1) y producirán una pieza de software que puede resolver muchos problemas diferentes (n.° 3), incluidos los de usuarios que aún no ha identificado. Cada uno de ellos también ejercitará su código de manera diferente, lo que conducirá (con suerte) a un software que es más estable y escalable que si hubiera sido desarrollado para un solo usuario (#2).
Como desea continuar su educación con este departamento, imagine lo útil que sería para su solicitud si 2 o 3 (o más) investigadores describieran cómo produjo una aplicación que les ayudó a ahorrar una cantidad significativa de tiempo, cómo pudo rápidamente comprender su problema y traducirlo en una pieza de software que funcione y funcione. Eso parece algo valioso para que usted obtenga de este proceso.
También soy un programador de investigación que trabaja en el mundo académico. Tenemos suerte de estar en un campo donde el intercambio de datos y métodos es la norma. Yo, todos mis compañeros, y apuesto a que usted también, nos hemos beneficiado de décadas de investigaciones anteriores que se han hecho públicas y están disponibles para nosotros. Impulsa el progreso científico.
Sin embargo, es perfectamente razonable querer algún reconocimiento por su trabajo. Sugeriría crear una cuenta de Github y publicar su trabajo allí, con un pequeño artículo sobre cómo usarlo. Hacer que su trabajo sea utilizado por otros investigadores será mucho mejor para su carrera que simplemente recibir una palmadita en la espalda de su IP. Se verá muy bien poder hablar sobre el impacto de una herramienta de análisis de datos que lanzó en las cartas de solicitud a las escuelas de posgrado.
No creo que puedas proteger tu código de tus compañeros. Las universidades normalmente tienen algunas cláusulas de propiedad intelectual bastante estrictas en sus contratos de trabajo. Pero esto también puede depender del país en el que se encuentre.
Pero al final creo que eres un empleado de la universidad y tu supervisor te ordenó que produjeras algo. Este algo al final probablemente pertenecerá a la universidad. Probablemente tendrá que enfrentarse al hecho de que algo creado por usted en lugar de su trabajo para otra persona no le pertenece.
Podría argumentar que esta tarea está fuera del alcance de su contrato, pero realmente no creo que esto funcione aquí y podría dañar seriamente la relación con su supervisor.
A menos que el código ya exista bajo alguna licencia y usted convenza a su supervisor para que use este código, no veo ninguna forma de proteger su código.
En primer lugar, si solo trabaja como RA por el dinero, no tiene nada de qué preocuparse porque su empleador es dueño de su código de todos modos, como se explica en profundidad en las respuestas anteriores.
Pero asumo que también está interesado en la investigación y tiene el deseo de construir una reputación como investigador. En este caso, es importante entender que la moneda principal en la comunidad investigadora es la reputación y la visibilidad. La coautoría y la presentación de trabajos de investigación es una excelente manera de mejorar su reputación académica, pero la publicación de un código fuente que sea útil y ampliamente utilizado es otra.
Es posible publicar su código bajo una licencia que obligue a otros a reconocerlo si usan su código, pero no recomiendo este curso porque antagoniza innecesariamente a sus usuarios y reduce la probabilidad de adopción. Poner su nombre en un comentario en la parte superior de los principales archivos fuente e incluir una nota amistosa en el código/LÉAME como "si usa este código, reconozca a la persona XXX y cite el artículo YYY". suele ser suficiente.
Por lo tanto, por defecto, ¡ debería querer que su código sea lo más difundido y utilizado posible!
Dicho esto, a veces hay buenas razones para mantener el código en privado:
El resultado final: debe querer que su código sea utilizado por tantas personas como sea posible, pero hable con su supervisor sobre sus inquietudes y solicite permiso antes de publicar el código en un GitHub público o regalarlo a otros.
stdout
está bien; si es malo para el consumo de software posterior, escríbalo astderr
Debería estar contento de tener la oportunidad de incluir un proyecto de este tipo en su CV (currículum vitae); si lo usa, definitivamente será un tema de conversación para cualquier perspectiva laboral en el futuro cercano. En el gran esquema de las cosas, dentro de cinco años ni siquiera estarás pensando en el proyecto.
Para responder realmente a su pregunta, los proveedores protegen su código distribuyendo el archivo binario del código (por ejemplo, un archivo ejecutable), que no se puede interpretar en un editor de texto.
Para demostrar el punto, si el programa está escrito en Go y distribuye myProgram.go, su código se compartirá, si envía myProgram como un archivo ejecutable o exe de Unix, entonces no se puede interpretar.
Para Javascript, la ofusticación se puede hacer minificando su archivo. Esto presenta todas sus funciones y variables en un formato más difícil de leer. Ejemplo: "myFunctionToSendOutAnEmail()" se cambiaría a "a()". Los archivos JS minificados tienen la extensión myProgram.min.js en lugar de myProgram.js
micro solar
usuario107417
Erwan
zr00