Havia uma pergunta semelhante sobre os esquemas de banco de dados: Copiando o esquema de banco de dados de um concorrente? Respondi lá que copiar todo o esquema provavelmente seria uma violação de direitos autorais, dependendo da escala da cópia, apreciada por um juiz.
Mesmo que sua pergunta seja semelhante, responderei exatamente o contrário: você pode copiar assinaturas de métodos. Por quê?
De fato, as assinaturas de métodos vêm do senso comum.
Em primeiro lugar, se dermos um exemplo extremo, a Microsoft não podeRandom
criar copyright do nome e processar todos que usarem a palavra Random
em qualquer aplicativo.
Em segundo lugar, o que você está tentando fazer exatamente? Reimplementando o .NET Framework? Por quê? Não há necessidade de reinventar a roda . Se você sabe como torná-lo melhor, mais intuitivo etc., é provável que você venha com melhores nomes de classes e métodos, uma organização melhor etc. Se você tentar copiar a estrutura do .NET Framework para portá-la para outra idioma , então você não é um concorrente direto da Microsoft, portanto, eles não têm motivos sérios para processá-lo (isto dito, eles o processarão se você copiar o código-fonte). Na verdade, eles até se beneficiarão com você: copiar essa estrutura para outras estruturas não apenas mostrará o sucesso do .NET Framework, mas também facilitará o trabalho dos desenvolvedores do .NET com outros idiomas e os desenvolvedores de outros idiomas para aprender. .INTERNET.
Em terceiro lugar, eles têm coisas mais sérias para fazer do que processar todos que copiarem os nomes dos métodos e classes do .NET Framework.
Agora, se sua intenção é copiar todo o .NET Framework e criar um produto que será usado por muitos desenvolvedores, consulte um advogado antes de correr riscos.
Um exemplo:
Fiquei totalmente descontente com a limitação de vergonha de 259 caracteres nos caminhos de arquivo no .NET Framework e a incapacidade de usar transações de código no nível do arquivo. Portanto, implementei minha própria File
classe com os métodos que funcionariam conforme o esperado para qualquer caminho, não apenas os pequenos e pequenos, e implemento transações. Na primeira versão, decidi clonar os nomes dos métodos em File
e Directory
classes . A Microsoft me processaria por fazer isso? Eu duvido.
Em todos os casos, na segunda versão, eu vim com uma nova sintaxe new File(string fileName)
, que acho muito mais intuitiva para mim . Às vezes, a clonagem de nomes de métodos é útil, mas você deve ter um bom motivo para fazê-lo.