C'era una domanda simile sugli schemi di database: Copia dello schema del database di un concorrente? Ho risposto che copiare l'intero schema sarebbe probabilmente una violazione del copyright, a seconda della scala della copia, apprezzata da un giudice.
Anche se la tua domanda è simile, risponderò al contrario: tu puoi copiare le firme dei metodi. Perché?
In realtà, le firme dei metodi derivano dal senso comune.
-
In primo luogo, se prendiamo un esempio estremo, Microsoft non può copyright del nome Random
e fa causa a tutti coloro che useranno la parola Random
in qualsiasi applicazione.
-
In secondo luogo, cosa stai cercando di fare esattamente? Reimplementare .NET Framework? Perché? Non è necessario reinventare la ruota . Se sai come renderlo migliore, più intuitivo, ecc., Potresti arrivare con nomi migliori di classi e metodi, un'organizzazione migliore, ecc. Se provi a copiare la struttura di .NET Framework su port in un'altra lingua , quindi non sei un concorrente diretto di Microsoft , quindi non hanno motivi seri per farti causa (detto questo, ti citeranno in giudizio se copi la fonte codice stesso). In realtà, potranno anche trarre vantaggio da te: copiare tale struttura in altri framework non solo mostrerà il successo di .NET Framework, ma renderà anche più facile per gli sviluppatori .NET lavorare con altri linguaggi e gli sviluppatori di altre lingue per imparare NET.
-
In terzo luogo, hanno cose più serie da fare che denunciare tutti coloro che copieranno i nomi dei metodi e delle classi di .NET Framework.
Ora, se si intende copiare l'intero .NET Framework e creare un prodotto che verrà utilizzato da molti sviluppatori, consultare un avvocato prima di assumersi dei rischi.
Un esempio:
Ero totalmente infelice con la limitazione di 259 caratteri shaming nei percorsi di file in .NET Framework e l'impossibilità di utilizzare le transazioni di codice a livello di file. Quindi ho implementato la mia classe File
con i metodi che avrebbero funzionato come previsto per qualsiasi percorso, non solo quelli molto piccoli e implementare le transazioni. Nella prima versione, ho deciso di clonare i nomi dei metodi in File
e Directory
classi . Microsoft mi farebbe causa per farlo? Ne dubito.
In tutti i casi, nella seconda versione sono arrivato con una nuova sintassi, new File(string fileName)
, che trovo molto più intuitivo per me . I nomi dei metodi di clonazione a volte sono utili, ma devi avere una buona ragione per farlo.