Para responder a su pregunta, si abre el código fuente de su proyecto completo, cualquier código de propiedad interno ya no será propietario.
Teóricamente, todo lo que se necesita hacer para que un proyecto de código cerrado previamente sea de código abierto es poner el código fuente en línea con una licencia aprobada por OSI o FSF de su elección adjunta. Sin embargo, antes de publicar su código fuente, se deben verificar algunas cosas:
- ¿Ha leído y entendido la licencia y la ha verificado con su departamento legal? Es fácil publicar algo bajo una licencia gratuita, pero no puede anular la publicación después de haberlo hecho. Así que piense detenidamente sobre todas las implicaciones.
- ¿Tiene los derechos de código abierto? Esto significa que cualquier biblioteca que use debe estar bajo una licencia compatible. Verifique también si hay contribuciones de terceros en la base de código para las que no tenga derechos de autor completos.
- ¿Has resuelto algún problema de patentes? Cuando posea cualquier patente de software que se aplique a su proyecto, publique una declaración de que no utilizará su patente para prohibir el desarrollo y la distribución del programa o derivados. Cuando haya licenciado cualquier patente de terceros, asegúrese de que los términos de la licencia tampoco perjudiquen los derechos del proyecto.
- ¿Es utilizable sin aplicaciones de código cerrado? A veces, el software depende de componentes de terceros como bases de datos o middleware. Cuando este sea el caso de su aplicación, asegúrese de que estos componentes también estén disponibles bajo licencias de código abierto o asegúrese de que el software sea compatible con alternativas de código abierto o que se pueda usar sin ellas.
- ¿Puede la gente construirlo fácilmente? Cuando necesita herramientas personalizadas o una cadena de herramientas muy complicada para construir el software desde la fuente, las personas tendrán problemas para contribuir de manera significativa. Asegúrese de proporcionar todo lo necesario para compilar el proyecto.
- ¿Eliminó algún secreto corporativo de la base de código, como contraseñas, claves criptográficas o comentarios difamatorios? Tenga en cuenta que cuando publique el código fuente con su historial de versiones, estos seguirán allí.
- ¿Hiciste una auditoría de seguridad? Cuando el código fuente está disponible, es mucho más fácil para terceros encontrar vulnerabilidades. Claro, esto también significa que es más fácil para terceros proporcionar parches para ellos, mejorando la seguridad general a largo plazo. Pero llevará algún tiempo hasta que los parches estén hechos, aplicados y distribuidos. Mientras tanto, todos sus clientes serán vulnerables. Así que asegúrese de que los peores errores de seguridad se solucionen antes de dejar caer sus pantalones a todo el mundo.
Esto debería ser lo mínimo que debe hacer antes de publicar su código fuente. Sin embargo, cuando desea que el proyecto atraiga a una comunidad de desarrolladores para contribuir, también debe proporcionar cierta infraestructura.
- ¿Cuáles son algunos programas de recuperación de datos recomendados o Mac OS X?
- ¿Por qué no todo es de código abierto?
- ¿Cuáles son las series de pasos que suceden cuando se solicita una URL desde el campo de dirección de un navegador?
- ¿Qué es la versión pro de una aplicación?
- Cómo estimar y clasificar errores usando métodos Scrum
- Asegúrese de que los desarrolladores puedan comenzar a trabajar fácilmente. Proporcione instrucciones claras sobre cómo extraer el código, compilarlo, configurarlo e implementarlo.
- Ofrezca plataformas de comunicación para que su comunidad discuta el desarrollo de su proyecto, como una lista de correo. Un rastreador de errores público también es una herramienta muy útil. Asegúrese de que las personas puedan encontrarlos fácilmente.
- Tenga un proceso claro que explique cómo las personas pueden proporcionar parches para resolver errores, qué requisitos formales deben cumplirse para que usted los acepte y cómo se pueden proponer solicitudes de características. Publique las descripciones de dichos procesos para mantenerlo transparente para posibles contribuyentes.
- Tenga personal disponible para administrar y moderar sus canales de comunicación y procesos de contribución comunitaria. Es posible que eventualmente pueda subcontratar esto a miembros de la comunidad de confianza (cuando lo desee), pero mientras tanto tendrá que manejar esto por su cuenta.