È legale riflettere un codice .NET e usarlo in un'applicazione commerciale?

5

Sto lavorando a un'applicazione commerciale che richiede .NET 4.0 Profilo client , ma devo effettuare una chiamata a HttpUtility.ParseQueryString , che non è incluso nel profilo del cliente ma è in quello normale.

Quindi ho appena capito che posso usare Reflector per ottenere l'intero metodo e tutti gli altri metodi necessari per farlo funzionare e aggiungerlo alla mia app. In questo modo non avrò bisogno di cambiare il requisito dal profilo del cliente a quello normale, che è molto più pesante solo per chiamare un singolo metodo. Questo sarebbe illegale? Devo avere per modificare il framework di destinazione delle applicazioni solo per un singolo metodo?

    
posta Juan 30.03.2011 - 19:58
fonte

7 risposte

10

Non puoi decompilare le risorse di Microsoft.

Tuttavia non avere .

C'è un progetto open source che ha la classe & metodo che ti serve Si chiama Mono ed ecco il link diretto ad esso:

link

    
risposta data 30.03.2011 - 22:37
fonte
2

Abbiamo avuto una situazione simile e abbiamo chiesto agli avvocati di Microsoft. Alla fine (alla fine) hanno risposto che ritenevano che rientrassero nelle disposizioni sul "fair use" della legge sul copyright. Abbiamo usato il loro codice sorgente su questa base.

Come qualsiasi giurista competente ti dirà, fair use:

  • ti consente di copiare e utilizzare piccole parti di un'opera d'autore senza chiedere il permesso, a seconda dello scopo e di altri fattori
  • di solito consente l'uso commerciale indipendentemente da qualsiasi altro termine in qualsiasi licenza
  • varia da paese a paese (il termine è specifico per gli Stati Uniti, il concetto si applica altrove).

Questo articolo è abbastanza buono: link .

Nota: il reverse engineering di piccole parti non è un problema. È quello che fai con il codice sorgente che conta.

Nota: l'uso del codice sorgente Mono non risolve il problema. Invece ti lega alla licenza Mono, a meno che tu (di nuovo) non faccia affidamento sul fair use.

Se pianifichi un uso commerciale o potresti causare danni a qualcuno, hai davvero bisogno di una consulenza legale competente. Non ti proteggerà, ma ti dirà i rischi e come mitigarli.

    
risposta data 29.03.2014 - 07:22
fonte
1

Mi chiedo.

Considerando che Microsoft ha recentemente pubblicato un intero browser per il loro codice sorgente al link e la licenza nell'aiuto non sembra particolarmente restrittiva potrebbe diventare molto meno ambiguo ora.

    
risposta data 29.03.2014 - 21:54
fonte
0

Mi sono imbattuto in un problema simile a te, e ho fatto riferimento al contratto sui servizi di supporto del software che volevo decostruire. Era la sezione 5: "non smontare o decodificare il SOFTWARE".

L'ho fatto lo stesso, quindi suppongo di essere almeno in balia del contratto. Ma con il senno di poi (e andando avanti), ho deciso di non farlo più.

Un altro pensiero che ho è: se non volevano che il loro software fosse così facile da smontare, non avrebbero dovuto scriverlo in. Net.

Ovviamente, ho degli standard etici a cui devo attenermi come professionista e rappresentante della società per cui lavoro, ma non credo che commetterebbe un crimine se non rivelassi alcun segreto del software o tentare di vendere il loro codice proprietario. Certo, non sono un avvocato.

    
risposta data 30.03.2011 - 20:31
fonte
0

Probabilmente no.

Il EULA per la ridistribuzione di .NET Framework dice questo:

Microsoft grants you a license to use [the framework] under the terms and conditions of the OS Product EULA for the applicable OS Product [on which the framework is installed]

In sostanza, il framework è concesso in licenza con gli stessi termini e condizioni del sistema operativo Windows su cui è installato.

Sono abbastanza sicuro che esiste una clausola "no reverse engineering o disassembly" in ogni sistema operativo Microsoft dall'inizio del tempo, quindi no, non è legale. Dubito che ti citerebbero davvero per un piccolo pezzetto di codice sollevato da una versione successiva di un framework che essenzialmente "danno" a tutti gratuitamente, ma gli dà una scusa pronta per farlo, se lo volessero.

Ecco il problema: Microsoft non può supportare la tua modifica. Poiché hai "rotto il sigillo" sul Framework per così dire, hai sostanzialmente "annullato la garanzia". Microsoft non è in alcun modo in grado di prevedere o garantire quale sarà il comportamento del codice sollevato al di fuori del suo ambiente chiuso ermeticamente.

    
risposta data 30.03.2011 - 20:29
fonte
0

Probabilmente non è legale a causa delle normali condizioni di non reverse engineering / no disassembly.

È certamente immorale. In un modo o nell'altro potresti passare il lavoro di un altro come tuo.

Se usi un codice da Mono, stai molto attento a controllare anche le condizioni della licenza - ad esempio se Mono è GPL [Non ho controllato, e non lo sarà ... ma dovresti] potresti voler stai molto attento a sollevare il codice da esso.

    
risposta data 31.03.2011 - 00:23
fonte
0

Esiste un argomento tecnico contro la retroingegnerizzazione dei prodotti Microsoft: le tue scoperte potrebbero diventare obsolete quando Microsoft rilascerà la versione successiva e la tua applicazione potrebbe interrompersi.

Ci sono numerosi casi in cui ciò è accaduto. Vedi qui:

link

link

    
risposta data 30.03.2011 - 23:09
fonte

Leggi altre domande sui tag