En mis diversos lugares de trabajo siempre escribí código que me hizo pensar "esto sería realmente útil en otras situaciones". De hecho, escribo código intencionalmente, incluso si me lleva más tiempo escribir, lo que sé que me ayudará en el futuro (por ejemplo, SubString()
funciones personalizadas ). Un buen candidato para estos fragmentos son varias clases de 'Ayudante'.
Estoy seguro de que estos fragmentos se pueden encontrar en otros lugares en línea, pero el punto es que los escribí y los volveré a usar más tarde en otros trabajos o para proyectos personales. Actualmente no mantengo una biblioteca de códigos personales, pero la pregunta es, ¿está mal tomar el código que ha producido en el trabajo y reutilizarlo ( a ) para proyectos personales y ( b ) en otros trabajos?
Respuestas:
Siempre he resuelto este problema teniendo un proyecto personal donde pongo todas mis ideas locas y cosas genéricas, y luego lo licencia bajo la licencia BSD, que permite a las personas reutilizar, alterar, cambiar la marca, cerrarlo y cobrar dinero por eso. De esa manera, conservo el derecho de autor, pero puedo reutilizar el código a mi gusto para este y aquel empleador, de modo que conserve el copyright del original, pero el empleador retiene el copyright de la instancia reutilizada. Me imagino que si tenían un problema con eso, simplemente tendrían que pagarme para reescribirlo en el horario de trabajo, lo que no tiene sentido desde su punto de vista. Además, las empresas usan el código BSD todo el tiempo, ya que la idea detrás de BSD es permitir que las personas y las empresas hagan lo que quieran, incluyendo el cambio de marca y la venta.
Entonces, por supuesto, si se hacen adiciones al código en el lugar de trabajo, no puedo reutilizarlo en otro lugar sin reescribirlo en mi propio tiempo ... lo cual está bien porque las cosas genéricas tienden a ser relativamente pequeñas, a menos que sea un idea que justifica un esfuerzo considerable de tiempo libre de todos modos.
Escribirlo en su propio tiempo y licenciar el código bajo una licencia de estilo BSD debería permitirle mantener una biblioteca para usted que puede usar prácticamente en cualquier lugar que desee.
Ahora, en cuanto a los contratos que pretenden absorber todos los derechos de autor de sus proyectos personales ... esto probablemente difiere radicalmente entre las jurisdicciones, pero al menos en algunas jurisdicciones occidentales, entiendo que un contrato no puede hacer eso. El contrato puede decir que sí, pero no se aplicaría en un tribunal de justicia porque los derechos de autor deben transferirse explícitamente, en lugar de "todos sus bases nos pertenecen", un acuerdo de Nikda que nunca se mantendría (en la jurisdicción de donde soy de todos modos). Hay una serie de restricciones sobre lo que puede confirmarse en un tribunal mediante contrato, por lo que generalmente (y con suerte) verá una cláusula que dice algo en el sentido de que si una parte del contrato no funciona legalmente , el resto del contrato aún se mantiene.
Pero como siempre, consulte a un abogado antes de interpretar esto como un asesoramiento legal preciso. Nunca me han llevado a juicio por esto, así que no sé nada de esto como hechos a prueba de abogados. :)
fuente
Depende de su contrato de trabajo. En estos días, la respuesta más probable es (a) sí, esto está mal y (b) sí, esto está realmente mal. Casi todos los contratos ofrecidos a los desarrolladores de hoy tienen disposiciones que dicen que cualquier código que escriba mientras esté empleado por la empresa (ya sea durante el horario de oficina o no) es suyo y usted les transfiere automáticamente sus derechos de autor. A menos que haya negociado específicamente en contra de esto, esto presumiblemente se aplica a usted.
Sin embargo, como siempre:
¡No nos creas! Consulte a un abogado antes de hacer algo potencialmente peligroso.
fuente
Simplemente vuelva a escribir el código cuando lo necesite . Evita completamente el problema por unos minutos de codificación.
Mientras tanto, es probable que haya aprendido más y escriba algo mejor. Reescribir el código también generalmente lo hace más elegante.
fuente
x()
es tan específico y útil que no hay tantas formas de escribirlo? En ese caso, ¿cómo puede mantenerlo separado si la implementación es tan similar?Dependiendo de sus términos de empleo, podría ser. Consulte con su supervisor, departamento de recursos humanos, departamento legal y / o departamento de ética para determinar qué es propiedad de su empresa y qué es de usted, así como también cuál es el proceso para solicitar la obtención de derechos de uso o propiedad de las cosas. que produces en el trabajo.
Casi todos los lugares en los que he trabajado, las cosas que entran en los proyectos son propiedad de la empresa, pero he solicitado y obtenido permiso para presentar cosas para proyectos personales caso por caso, lo que generalmente requería explicar lo que quiero que ver con esto y cómo no sería perjudicial para la organización dejarlo ir.
fuente
He tenido cierto éxito (no un éxito total) al lograr que mis empleadores acepten liberar bajo una licencia de código abierto parte de mi código escrito mientras trabajaba para ellos. Principalmente código que escribí en mi propio tiempo, pero a veces no. Todo el código no es específico de ninguna industria.
Comencé todo esto escribiendo algunas bibliotecas mientras estaba desempleado, y luego las liberé bajo la licencia MIT. Luego, durante el proceso de contratación en trabajos posteriores, lo mencionaría y diría que usaría ese código para ayudarlos, si pudiera, pero les importaría si agregaran cosas que escribí mientras trabajaba para ellos, pero solo cosas que no fueron específicos para su negocio y solo con su aprobación.
Los resultados han variado, pero he podido construir mi biblioteca con el tiempo. Y ha habido casos en los que tener la biblioteca ha acelerado el tiempo de desarrollo para mis empleadores.
fuente
Me sorprende que la respuesta más votada aquí sea "sí". Como desarrollador, la respuesta siempre ha sido un "absolutamente no", excepto en circunstancias en las que el código es:
Alguien te pagó para escribir el código. Salvo una comprensión y un acuerdo diferentes, lo cual está bien, no está bien que otra persona obtenga los beneficios DIRECTOS de la misma.
Ahora, la palabra DIRECTA. Si llega al final de un proyecto y aprendió algo interesante y creó algo útil con él que no está directamente relacionado con la propiedad intelectual del cliente, tómese un tiempo y cree una biblioteca para ello. Aún mejor: COMIENCE UN PROYECTO DE FUENTE ABIERTA CON ELLO, para que todos terminen siendo más ricos por ello. Creo que es absolutamente 100% éticamente puro como la nieve conducida, y de hecho, lo he hecho yo mismo.
A corto plazo, reutilizar el código que le han pagado para escribir para otra persona le causará dolores de cabeza legales. A la larga, le causará dolores de cabeza a los personajes.
fuente
Estoy seguro de que este es un asunto legal dependiendo de dónde vivas / trabajes y de lo acordado / tu contrato.
Si aprendo algo por mi cuenta, en mi propio tiempo, con todos los gastos pagados por mí (computadora, acceso a internet, software, etc.), ¿no querrían que lo utilizara en mi trabajo? Encuentra una expresión regular para un proyecto personal y decide enviarla por correo electrónico a su cuenta de trabajo porque probablemente podría usarla. Sería un poco tonto pasar el tiempo de la compañía fingiendo buscarlo nuevamente en Internet. Por supuesto, nos esforzamos por mejorar nuestro oficio, esto es lo que se espera de los programadores, bla, bla, bla, pero ¿qué pasaría si estuviera en un área fuera de la programación o incluso de TI? Puedo contenerme si quieren jugar este juego.
La compañía puede intentar mantener un estricto control sobre el código que produzco. Es solo una base pobre para construir una relación. Si les importan tanto unas pocas líneas de código, no puedo imaginar la medida en que dominarán mi tiempo; que vale mucho más
fuente
También he tenido los mismos pensamientos en el pasado. Desafortunadamente, creo que cualquier cosa que escriba directamente para su trabajo estaría técnicamente bajo los derechos de autor de su empleador. Debería solicitar permiso para reutilizar ese código en otro trabajo no relacionado con la empresa.
Por otro lado, si escribió código en su tiempo libre para uno de sus propios proyectos, podría proteger su código con algún tipo de derecho de autor y luego ofrecerle ese código a su empleador para que lo use.
De cualquier manera, debe haber una comunicación clara sobre el tema.
Por supuesto, IANAL.
fuente
Su pregunta es muy similar en vano a este " Código abierto - ¿Es legal recrear / código abierto un programa que creó anteriormente para otra compañía? "
Diría que tiene motivos legales inestables, ya que las empresas para las que trabajó probablemente poseen el código que escribió para ellos. Sería mejor codificar las rutinas desde cero, pero incluso entonces podría haber preguntas si todavía tuviera copias del otro código.
[No soy abogado, así que no esperes que mi consejo te ayude en un tribunal de justicia.]
fuente
Yo diría que esos pequeños métodos / funciones genéricos no se guardan entre proyectos. La mayoría de las veces, puede usar Boost o lo que su idioma le proporcione para hacer esto. La mayoría de las veces, están mejor escritos que los tuyos.
Lo que es una buena idea es tener un conjunto de pruebas unitarias para esos y usarlos para probar su código kata.
fuente
Los trabajos se dirigen a Asia, así que vuelva a escribir el código mientras exista el tren de salsa. Si te pagan por escribir código, escríbelo o pégalo y finge haberlo reescrito mientras haces algo divertido. O incluso mejor, trabaje desde su casa y pague a un codificador de Asia más hábil, más inteligente y, lo que es más importante, mucho más barato, para que escriba el código por usted y ahorre la diferencia. Entonces puedes salir y disfrutar del mundo antes de que nuestros dioses corporativos nos abandonen y todos estamos desamparados trabajando en fábricas de chips que producen chips a 2 centavos por hora para los consumidores de iphone chinos e indios ricos.
fuente
Sé que esta es una vieja pregunta, pero alguien la rechazó y sentí que sería una buena idea agregar una referencia a la muy triste historia de Sergey Aleynikov . Antes de tomar un código del trabajo, lea acerca de cómo hacerlo arruinó su vida y lo llevó a prisión .
fuente