13 votos

¿Contribuir a los proyectos de código abierto que has utilizado y mejorado en el trabajo?

Actualización: 2 de septiembre Las respuestas de @mysterycommand y @Hiroto han dado una buena visión y me han impulsado a ser más claro. He reformulado mi pregunta con detalles explícitos; la intención es la misma, espero que sea más clara ahora.

Como desarrollador de software autónomo, me he encontrado con un contrato con una cláusula de "trabajo por encargo" que me convierte en un empleado de mi cliente. No he firmado este contrato, pero me ha hecho pensar:

¿En qué momento necesitas el permiso de tu empleador para contribuir al código abierto que utilizas en el trabajo? (vea los escenarios más abajo)

En el desarrollo de software es habitual utilizar software de código abierto con licencia permisiva, es decir, que se puede reutilizar comercialmente. La empresa para la que trabajas no está involucrada en el código abierto, pero tú decides utilizarlo en el trabajo (un marco de aplicación, un blog, un cms, por ejemplo). En EE.UU., se supone que el empleador suele ser el propietario de los derechos de autor del trabajo realizado. En el transcurso de tu trabajo, escribes algo de código que quieres aportar a la comunidad:

  • Encuentras un error en un código abierto que utilizas en el trabajo y lo arreglas. Como mucho, has cambiado unas pocas líneas, incluso unos pocos caracteres. ¿Necesitas el permiso de tu empleador para enviar un pull request para contribuir con tu cambio al repo público del proyecto?
  • Tienes una pieza de código abierto a medio terminar que has empezado en tu tiempo libre. En el transcurso de tu trabajo, acabas viendo la utilidad de tu código, por lo que optas por utilizar tu propio código previamente escrito. Acabas necesitando retocar el código, arreglar una función o añadir una nueva característica para poder completar efectivamente tu trabajo. ¿Necesita el permiso de su empleador para publicar los cambios que hizo en el módulo que empezó en su tiempo libre pero que mejoró en el curso de su trabajo para la empresa?

Los dos casos anteriores me parecen muy grises, por lo que sería de gran ayuda su comprensión. A continuación, un ejemplo que parece menos gris en cuanto a la obtención del permiso (parece un sí obvio), pero que lleva la cuestión al siguiente paso lógico:

  • En el transcurso de tu trabajo ves la utilidad de crear un módulo reutilizable que te ahorrará tiempo en futuros proyectos en el trabajo. Escribes este módulo y te das cuenta de que es un software bastante bueno y que otras personas (ajenas a tu trabajo) también pueden encontrarlo útil e incluso pueden ayudarte a mejorarlo. Cuando se trabaja para una empresa que no está activa en el espacio del código abierto, ¿cómo se abordan las conversaciones sobre los beneficios del trabajo de código abierto realizado en el trabajo?

Esta pregunta me ha hecho ver que es importante estar en la misma página que tu cliente. Como autónomos, podemos rechazar específicamente los proyectos que no cumplen con nuestros estándares (por ejemplo, no estoy seguro de que el trabajo por encargo vaya a funcionar para mí). Además, por lo general parece mejor conservar los derechos del trabajo creado en el trabajo en el caso de que quieras contribuir a la comunidad de código abierto. Como autónomos, es posible que tengamos que aceptar un trabajo en régimen de trabajo por cuenta ajena (por obligación fiscal) o que nos hayamos lanzado a un contrato sin entenderlo de antemano.

9voto

cmcculloh Puntos 11040

Descargo de responsabilidad: lea siempre varias veces los contratos que firme. Independientemente de si un contrato es ejecutable o no, asegúrese de no aceptar nada con lo que no esté de acuerdo.

¿Necesitas el permiso de tu empleador para enviar un pull request para contribuir con tu cambio al repo público del proyecto?

No. Esto es un "no" rotundo, a pesar de todo. Estás contribuyendo a un proyecto de código abierto. Que su empleador/cliente reclame derechos de autor sobre sus contribuciones a un proyecto de código abierto violaría absolutamente todas las licencias FOSS que haya, pueda, haga o vaya a existir (afirmación audaz en algunos países, pero debe realmente adherirse a esto).

Si está empleado En cuanto a las solicitudes de extracción, hágalas en su tiempo libre, fuera del trabajo (ya que, técnicamente, su empleador puede reclamar derechos de autor y, por tanto, su solicitud de extracción puede ser denegada o invalidada, dependiendo de la licencia).

Si eres autónomo , sólo pull request. A no ser que hayas aceptado un contrato que venda tu alma a tu cliente durante todo el tiempo que estés despierto hasta la fecha de finalización de tu proyecto, no hay ningún problema en contribuir a proyectos de código abierto como freelance.

¿Necesita el permiso de su empleador para publicar los cambios que hizo en el módulo que empezó en su tiempo libre pero que mejoró en el curso de su trabajo para la empresa?

Algo muy, muy Es importante tener en cuenta que usted no crea el código como parte del módulo/programa de su cliente. Créalo y obtén la licencia, y tendrás los derechos de autor independientemente del resultado. Simplemente no lo escriba mientras está en las instalaciones del cliente.

También debería publicarlo en algún lugar con bastante antelación, y utilizarlo como biblioteca en el código del cliente. Asegúrate de que la licencia es compatible.

Cuando se trabaja para una empresa que no está activa en el espacio del código abierto, ¿cómo se abordan las conversaciones sobre los beneficios del trabajo de código abierto que se ha hecho en el trabajo?

Deberías publicar el código que pretendes reutilizar bajo una licencia permisiva y luego incluirlos como bibliotecas. Cualquier otra forma de actuar puede (y probablemente lo hará) provocar el enfado de los consumidores de software a los que no les gusta el código abierto. Recuerdo que le pregunté a un director de marketing de Microsoft UK cuál era su postura sobre el código abierto y me miró como si me hubiera crecido otra cabeza.

Si la empresa quiere "información propietaria" en un programa, entonces no lo hará de código abierto, y punto (con algunas excepciones).

Sin embargo, si deciden abrir el código de algunos de los trabajos que haces, puedes simplemente aceptar ser un colaborador o aceptar que se te atribuya en el contrato; toda esta área de negociación es bastante desalentadora.

Hay algunas reglas que rigen esto, pero en caso de duda, siempre consulte a un abogado o a un asesor jurídico del gobierno.

Si:

  • Está utilizando un marco de trabajo de código abierto que:
    • permite el uso comercial, y
    • no obliga al código abierto (léase: la mayoría de las licencias a excepción de la GPL), y
    • su cliente le pide una aplicación que usted escribirá

Entonces es totalmente razonable (e incluso se impone en países como EE.UU.) que posean los derechos de autor y las licencias de esa obra. También pueden imponer un acuerdo de confidencialidad sobre el código que estás escribiendo, pero esto debe figurar en el contrato cuando aceptas escribir el software si quieren imponerlo.

2voto

stukelly Puntos 935

No estoy seguro de cuál es la pregunta. ¿Son razonables esas 4 cosas? Sí, por supuesto. Además, suena un poco como si te pidieran un contrato WFH para trabajar en un proyecto de código abierto (o "para ser de código abierto en una fecha futura"), lo que parece dos modelos de derechos de autor muy diferentes. ¿Trabajar en un código abierto de forma anónima? No, gracias.

Nunca me he encontrado con una cláusula de WFH en un contrato, y también dudaría en firmarla. Creo que una simple cláusula de "no competir" sería suficiente en este caso, especialmente si va a ser en código abierto o parcialmente abierto. Hace un tiempo trabajé en un software para un tipo que estaba de acuerdo en regalar el código, pero quería que firmara un acuerdo de no divulgación y no competencia para que no trabajara con ninguno de sus competidores durante 3 años o algo así.

Así que, sí, la no divulgación/no competencia parece que protegería a tu cliente de lo que le preocupa, pero WFH me parece una forma exagerada de hacerlo.

De todos modos, sí, habla con un abogado.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X