Si su aplicación es de código cerrado, debe ir en un repositorio privado. Los derechos de autor pueden protegerlo legalmente, pero si alguien decide robar su código, probablemente no les importará. Luego, depende de usted poder encontrar a estas personas, identificar que han utilizado su código fuente en su solicitud y demostrarlo a un juez.
Esto es especialmente problemático si estás haciendo algo nuevo. Tal vez haya creado un nuevo algoritmo, o servicios web combinados o API de una manera que aún no se ha hecho. Está lanzando su solicitud por dinero y dejando una guía práctica completa en línea para que todos la vean, lo que perjudica significativamente su ventaja competitiva.
Si maneja la seguridad del usuario de alguna manera, cualquier error que haya cometido (y tendrá) será mucho más fácil de encontrar y explotar si los atacantes pueden leer su código fuente. Algunos repositorios en línea tienen rastreadores de errores: las personas pueden seguir eso, y los señalará directamente a las vulnerabilidades que se han encontrado, y tendrán una ventana para aprovecharlos (el tiempo que lleva corregir los errores y por sus usuarios para aplicar un parche).
También debo mencionar que si tiene un equipo de cinco personas o menos, puede alojar su código de forma privada con BitBucket de forma gratuita. Hay otros servicios, estoy seguro, solo conozco ese porque lo uso.
El repositorio privado es, bueno ... privado. :-)
Al ser un fanático del código abierto, diferiría un poco con Carson. Tiene toda la razón en un sentido, pero (en mi humilde opinión de todos modos) tampoco es un gran problema para el software privado de código abierto.
Para todos los efectos, puede mantenerlo sin licencia en github y no habrá diferencia: el tráfico de github a su repositorio será de aproximadamente cero hasta que lo libere. Y luego, nunca se sabe: algún usuario / codificador podría toparse con él y ofrecer un parche, una sugerencia, una solicitud de función, etc.
A menos que esté creando la aplicación de mil millones de dólares, a nadie le importará su código de manera material. Y si lo hace, ya tendrá sus miles de millones y no le importará mucho si tienen acceso a él. El valor de su aplicación no vendrá de su código fuente sino de su capacidad para comercializarlo, respaldarlo y mantenerlo.
fuente
Aquí voy de nuevo. No soy abogado y este no es un consejo legal. Básicamente, no hay nada que impida a nadie mirar el código fuente y crear un trabajo derivado a partir de él. En el mejor de los casos, puede tener una casilla de verificación o un formulario de registro para restringir el acceso si lo ha puesto en un repositorio público. Y luego, aquí está el truco, depende de usted establecer su reclamo de que la otra parte ha creado el trabajo derivado. No depende de ellos demostrarles que no miraron su código fuente; además, es contra-intuitivo, ¿no es así y esencialmente configura el escenario donde es tu palabra contra su palabra?
Basado en lo anterior, no tendría sentido crear un repositorio público. Tiene que ir a un repositorio privado donde puede controlar el acceso al código fuente. La mayoría de las grandes empresas extienden el control de acceso en una medida mucho mayor: por lo general, un desarrollador tendría acceso solo a los proyectos con los que se ocupa, es decir, el acceso se proporciona según sea necesario. Cualquier otra cosa es pedir problemas, especialmente si algunas de las características constituyen propiedad intelectual y están siendo patentadas, o si se trata de la salsa secreta que brinda una ventaja competitiva a la empresa.
Además de los enumerados anteriormente, la ventaja típica prestada por un repositorio privado es que el contrato entre usted y el proveedor esencialmente incluiría un NDA. Si no tiene uno, solo está pagando por los servicios de tener un repositorio supuestamente privado. Después de todo, no hay nada que impida que un miembro del equipo de operaciones del proveedor eche un vistazo a sus fuentes y cree un trabajo derivado.
fuente
Si va a vender la aplicación, no usaría un repositorio público ya que le está mostrando a todo el mundo CÓMO eludir su sistema de licencias sin gastar un gran esfuerzo. Si realmente quieren descifrarlo, llegarán allí en algún momento, pero la inversión será mucho mayor y, por lo tanto, es menos probable que ocurra de inmediato (sin ir más allá del tema de la ofuscación, etc.).
El único punto en el que podría alojar la fuente en un repositorio público, es cuando la aplicación debe comprarse en un mercado (iphone, android, wp7, ...) y no tiene que preocuparse tanto por las licencias ... E incluso entonces no lo recomendaría, ya que la gente puede descargar la fuente y publicarla ellos mismos (con algunos cambios menores, ...) o instalarla en un dispositivo desbloqueado.
Para el problema de los derechos de autor: no soy un abogado, pero en algún momento tendrás que probar que tu código estaba allí primero si quieres pelear por los derechos de autor. El historial de versiones con marca de tiempo puede ayudarlo un poco, pero hay formas de evitarlo (alojamiento privado, ...) Si lo mantiene privado, la gente no puede robarlo (solo la idea, no la implementación real), y ganó ' No tengo que lidiar con eso.
fuente