Se o seu aplicativo é de código fechado, ele deve ir em um repositório privado. Os direitos autorais podem protegê-lo legalmente, mas se alguém decidir roubar seu código, provavelmente não se importará. Depende de você encontrar essas pessoas, identificar que eles usaram seu código-fonte no aplicativo deles e provar isso a um juiz.
Isso é especialmente problemático se você estiver fazendo algo novo. Talvez você tenha criado um novo tipo de algoritmo ou combinado serviços da Web ou APIs de uma maneira ainda não concluída. Você está liberando seu aplicativo por dinheiro e deixando um guia abrangente de instruções on-line para todos verem, prejudicando significativamente sua vantagem competitiva.
Se você estiver lidando com a segurança do usuário de qualquer maneira, quaisquer erros que você cometa (e você terá) serão muito mais facilmente encontrados e explorados se os invasores puderem ler seu código-fonte. Alguns repositórios on-line possuem rastreadores de bugs - as pessoas podem segui-lo e apontá-lo diretamente para as vulnerabilidades encontradas, além de ter uma janela para tirar proveito deles (o tempo que você leva para consertar os bugs e, por exemplo, seus usuários para aplicar um patch).
Devo também mencionar que se você tiver uma equipe de cinco pessoas ou menos, poderá hospedar seu código em particular com o BitBucket gratuitamente. Tenho outros serviços, tenho certeza, apenas conheço esse porque o uso.
Repo privado é, bem ... privado. :-)
Sendo um fanático por código aberto, eu diferiria um pouco com Carson. Ele está perfeitamente certo em um sentido, mas não é grande coisa (na minha humilde opinião) o software privado de código aberto.
Para todos os efeitos, você pode mantê-lo sem licença no github e isso não fará diferença: o tráfego do github no seu repositório será de aproximadamente zero até que você o libere. E então, você nunca sabe - algum usuário / codificador pode esbarrar nele e oferecer um patch, uma sugestão, uma solicitação de recurso etc.
A menos que você esteja criando o aplicativo de bilhões de dólares, ninguém se importará com o seu código de maneira material. E se você tiver, já terá seus bilhões e não se importará muito se eles tiverem acesso a ele. O valor do seu aplicativo não virá do código-fonte, mas da sua capacidade de comercializá-lo, suportá-lo e mantê-lo.
fonte
Aqui vou eu novamente. Não sou advogado e isso não é aconselhamento jurídico. Basicamente, não há nada que impeça alguém de olhar o código-fonte e criar um trabalho derivado dele. Na melhor das hipóteses, você pode ter uma caixa de seleção ou um formulário de registro para restringir o acesso, se o tiver colocado em um repositório público. E então, aqui está o kicker, cabe a você estabelecer sua reivindicação de que a outra parte criou o trabalho derivado. Não cabe a eles provar que não examinaram seu código-fonte; além disso, é contra-intuitivo, não é e essencialmente configura o cenário em que é sua palavra contra a palavra deles.
Com base no exposto, não faria sentido criar um repositório público. Ele precisa entrar em um repositório privado onde você pode controlar o acesso ao código-fonte. A maioria das grandes empresas estende o controle de acesso a uma extensão muito maior - normalmente um desenvolvedor teria acesso apenas aos projetos com os quais lida, ou seja, o acesso é fornecido com base na necessidade de conhecimento. Qualquer outra coisa está solicitando problemas, especialmente se alguns dos recursos constituem propriedade intelectual e estão sendo patenteados ou, por esse motivo, é o molho secreto que empresta vantagem competitiva à empresa.
Além dos listados acima, a vantagem típica emprestada por um repositório privado é que o contrato entre você e o provedor incluiria essencialmente um NDA. Se você não tiver um, estará pagando apenas pelos serviços de ter um repositório que é supostamente privado. Afinal, não há nada que impeça que um membro da equipe de operações do provedor espreite suas fontes e crie um trabalho derivado.
fonte
Se você pretende vender o aplicativo, eu não usaria um repositório público, pois você está mostrando ao mundo inteiro COMO ignorar seu sistema de licenciamento sem gastar muito esforço. Se eles realmente querem decifrá-lo, eles chegarão lá em algum momento, mas o investimento será muito maior e, portanto, menos provável de acontecer imediatamente (sem precisar se aprofundar mais na ofuscação etc.).
O único ponto em que você pode hospedar a fonte em um repositório público é quando o aplicativo deve ser comprado em um mercado (iphone, android, wp7, ..) e você não precisa se preocupar tanto com licenças. E mesmo assim, eu não recomendaria, pois as pessoas podem simplesmente fazer o download da fonte e publicá-la (com algumas pequenas alterações, ...) ou instalar em um dispositivo desbloqueado.
Para a questão dos direitos autorais: eu não sou advogado, mas em algum momento você precisará provar que seu código estava lá primeiro se quiser brigar por direitos autorais. O histórico da versão com carimbo de data e hora pode ajudá-lo um pouco, mas existem maneiras de contornar isso (hospedagem privada, ..) Se você o mantiver privado, as pessoas não poderão roubá-lo (apenas a idéia, não a implementação real) e você ganhará ' Não tenho que lidar com isso.
fonte