Le interfacce e le firme dei metodi sono protette da copyright?

12

Ad esempio, è una violazione del copyright se scrivo una classe chiamata Random con lo stesso identico scopo e firme del metodo della classe .Net System.Random di Microsoft? Fa differenza in quale lingua è scritto? In questo caso, desidero scrivere una classe Random da utilizzare in ActionScript, che non ha una classe PRNG predefinita seminata.

Se qualcuno ha dei buoni link o suggerimenti di riferimento per capire quali aspetti del software sono protetti, va anche bene. E sì, so che questo non è il posto per consigli legali "reali". Se qualcuno va in tribunale puntando a una bacheca pubblica come precendenza - vergogna su di loro.

    
posta Joshua Honig 30.09.2011 - 04:23
fonte

4 risposte

11

Credo che esaminare la relazione tra Mono e Dotnet risponda a questa domanda. Il team Mono può utilizzare le definizioni dei metodi o l'interfaccia pubblica, ma devono reimplementare gli interni. Tuttavia, il caso Android contro Oracle mostra alcuni altri punti che rendono questa ovvia distinzione un po 'più sfocata. Nel caso AvO la maggior parte dei punti presi in tribunale sono i brevetti relativi alla VM, le interfacce della libreria non sono state un punto di contesa. L'unico codice che è stato evidenziato sono esempi in cui sembra che alcuni interni siano stati copiati.

    
risposta data 30.09.2011 - 04:43
fonte
4

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.

    
risposta data 30.09.2011 - 04:43
fonte
4

La protezione del copyright protegge l'espressione artistica di un'opera, non la forma tecnica (per citare wikipedia ) .

La protezione del copyright non protegge i fatti .

Quindi la domanda diventa, è un'API o un'interfaccia un "fatto" o un'espressione artistica? Per le API semplici che sono solo una lista di modi per ottenere numeri casuali e diversi tipi di numeri casuali, l'API è probabilmente più simile a un fatto. Ma, vedevo che esisteva un'interfaccia molto sofisticata (sai, quelli che fissi per un minuto, e poi dici "Ahh! È impressionante") potrebbe essere considerata una "espressione artistica" degna di protezione.

Ecco un recente articolo su Oracle e Google si battono per il copyright dell'API su questo argomento molto dibattuto nei tribunali (statunitensi).

Non sono un avvocato e questo post non dovrebbe essere interpretato come un consiglio legale. Non riesco nemmeno a scrivere disclaimer molto bene.

    
risposta data 30.09.2011 - 09:15
fonte
0

Puoi prendere gli aspetti puramente funzionali, ma non puoi prendere gli aspetti espressivi. Il nome della classe, i nomi dei metodi e le firme sono puramente funzionali. Ne hai bisogno per interagire. I nomi dei parametri e le macro di intestazione potrebbero essere considerati espressivi. Ad esempio, nel suo caso antitrust di Windows, Microsoft ha sostenuto che nulla impediva a un concorrente di replicare le API di Windows e di creare la propria piattaforma su cui le applicazioni Windows sarebbero state eseguite.

    
risposta data 30.09.2011 - 09:51
fonte

Leggi altre domande sui tag