Strategie per l'apprendimento e la scrittura di codice quando non mi è permesso essere inquinati & # 8221; con codice open source? [chiuso]

StackOverflow https://stackoverflow.com/questions/421975

  •  05-07-2019
  •  | 
  •  

Domanda

Lavoro in un'azienda in cui la regola è fondamentalmente (come ho capito) che non è possibile utilizzare alcun codice a meno che (a) non si scriva il codice da soli o (b) vi sia una clausola di indennizzo esplicita a tutela del proprio utilizzo di qualsiasi altro codice (come il codice open source). Sto trovando questo che rende difficile la mia codifica.

Ad esempio, gli esempi di codifica nei libri sono praticamente utilizzati "così come sono". Gli esempi di codice dell'SDK di Microsoft sono "quotati come sono". I post di blog sulla codifica sono "quotati come sono". Esistono diversi siti là fuori con esempi di codice (incluso SO) che vengono utilizzati a proprio rischio. Nessuna garanzia implicita o indennizzo contro azioni legali di proprietà intellettuale, blah, blah, ecc.

Fondamentalmente, sono limitato ad usare Asp.Net e il .Net Framework e nient'altro e ad impedire ai miei occhi di prendere accidentalmente qualcosa che non ho creato (ok ... potrebbe essere la mia interpretazione anale di la regola ;-).

Lo trovo difficile perché gran parte dell'apprendimento del codice penso sia leggere altro codice. Leggere blog con codice, leggere libri con codice, guardare esempi di codice, usare codice da esempi SDK ecc. Inoltre, penso che sia sicuro usare codice che le persone hanno dimostrato di essere una buona soluzione o modello per qualcosa e liberamente sopportato per gli altri da usare. Non sto per pensare di poter codificare tutto da solo. Devo assolutamente stare sulle spalle codificanti degli altri per raggiungere determinate altezze.

Forse non capisco molto bene le licenze. Dal punto di vista della compagnia (suppongo) non vogliono correre alcun rischio di essere citati in giudizio per violazione della proprietà intellettuale.

Il mio pensiero è che devi soppesare i rischi. Prendere uno snippet di codifica da un libro è a basso rischio. Incorporare il codice da una libreria open source potrebbe essere ad alto rischio. Dico di prendere decisioni in base a quanti rischi sei disposto a correre.

Qualcuno ha avuto esperienza di lavoro in una situazione come questa o simile a questa? È una cosa rara o è comune in alcuni settori? Ci sono altri nella stessa posizione come me là fuori?

Qualsiasi approfondimento o guida sarebbe apprezzato! Grazie!

Modifica Grazie per le risposte! Per chiarire alcune cose: non sto sostenendo di rubare il codice. Sto parlando di un codice che ha una sorta di licenza pubblica che ne consente l'utilizzo nel modo legale definito. La chiave è che non esiste indennizzo nelle licenze pubbliche nell'uso del codice. Ciò significa che lo usi a tuo rischio legale (e altri rischi). Se qualcuno fa causa a un progetto open source da cui hai utilizzato il codice, potresti essere coinvolto nella causa perché stai usando il codice anche se aveva una licenza pubblica.

Nel 2005, Microsoft stava usando l'indennizzo per competere contro i distributori open source promettendo ai suoi partner che Microsoft li avrebbe protetti dalle azioni legali in materia di proprietà intellettuale. http: / /www.microsoft.com/presspass/press/2005/jun05/06-22PartnerIndemnificationPR.mspx

Quindi, anche se il rischio di essere denunciato per violazione dell'IP può essere estremamente basso, è una probabilità diversa da zero. Quindi, non posso usarlo. Anche se ha una licenza pubblica di qualche tipo. : - (

È stato utile?

Soluzione

Per "indennizzo", suppongo che significino la certezza che il codice è privo di copyright o brevetti o forse di un ingombro segreto commerciale che non conoscono in anticipo, o che qualcuno è disposto a compensarli se qualcosa del genere si trasforma su. Non sono mai stato in un'azienda preoccupata per questo, né ne ho mai sentito parlare prima.

Non è chiaro cosa tu voglia in realtà qui, a parte la simpatia (e ho simpatia per le persone intrappolate nella follia aziendale). Sembra che la politica sia piuttosto rigida, se sei preoccupato per il codice di esempio nei libri. Questa è una cattiva politica e ti ostacolerà, ma non so cosa puoi fare al riguardo. A differenza del post sul blog di Joel su come fare le cose come un grugnito, sembra che non puoi semplicemente iniziare a fare le cose in modo intelligente senza essere in chiara violazione della politica aziendale.

Non conoscendo la tua situazione, il mio consiglio sarebbe di cercare un altro lavoro. Questo ostacolerà sicuramente la tua crescita professionale e è improbabile che un'azienda con quella politica sia ragionevole al riguardo.

(Sarebbe bello se tu potessi assicurarli che non c'era pericolo, ma non è vero. Le persone hanno mentito sui diritti d'autore, sebbene i progetti open source tendano a non farlo, e solo un pazzo affermerebbe sicuramente che un grosso pezzo di codice non ha violato alcun brevetto negli Stati Uniti; anche se fosse stato scritto un anno prima che i brevetti software venissero assegnati per la prima volta, sarebbe stato semplicemente un buon motivo per una battaglia giudiziaria, piuttosto che evitare una battaglia giudiziaria. Il software GPL è in realtà migliore del software BSD , poiché richiede alcune licenze di brevetto a valle, ma non può gestire brevetti di terze parti. Naturalmente, se sono così preoccupati di essere citati in giudizio, scrivere software interno non è una soluzione. Ciò può violare i brevetti.)

Altri suggerimenti

Il "rischio di essere denunciato per violazione della proprietà intellettuale" non è proprio il modo giusto di pensarci. Questo non è un "rischio" cosa.

O

  • Hai una licenza e puoi usare la fonte. Non c'è rischio. Hai la licenza. Non ci può essere una causa.

O

  • Non hai una licenza e stai violando. In effetti, sarete citati in giudizio. Anche qui non c'è alcun rischio. Stai violando i diritti d'autore di qualcuno (o peggio).

Le aziende sono contrarie all'Open Source per una serie di motivi strani. Il rischio di azioni legali non è uno di questi.

Le cose che ho sentito.

  • Cosa succede se ha un virus?

  • Che cosa succede se non funziona come pubblicizzato?

  • Cosa succede se "si arresta in modo anomalo" qualcosa? Chi facciamo causa?

Nessuno di questi è "rischio" elementi. Sono "due diligence" elementi. E soprattutto, sono facili da affrontare: scegli prodotti con un numero sufficiente di utenti che qualcun altro controlla il codice prima di te; QA open source come se fosse stato digitato da una delle tue persone. Tranne uno.

Questo ci conduce alla vera ragione. [Suggerimento: non è " rischio di azione legale " ;.]

Non c'è nessuno da fare causa se non hai eseguito la dovuta diligenza sull'open source.

La maggior parte dei negozi non ha una vera e propria solida gestione della configurazione o politiche di controllo della qualità (il tipo che sarebbe in tribunale come best practice). Fino a quando non avranno queste cose a posto, non osano pensare all'introduzione dell'open source per il quale hai davvero bisogno di una solida gestione della qualità e della configurazione.

Penso che la tua azienda sia davvero preoccupata se stai copiando direttamente grandi segmenti di codice per i quali potrebbero esserci problemi di licenza, presentando un problema legale alla società se vengono scoperti mentre lo utilizzano. Tuttavia, puoi leggere blog o altro codice non concesso in licenza e scoprire una soluzione che funziona per il problema specifico su cui stai lavorando. In tal caso, sarebbe meglio riscrivere il codice (ovvero, esaminare la soluzione e riprodurlo) anziché limitarsi a copiare il codice e apportare modifiche ad esso. Nella mia azienda, questo è ciò che generalmente raccomandano per l'uso di codice non proprietario.

Inoltre, per piccole quantità di codice (ad esempio un'implementazione standard di una cache) in cui tutti lo implementano allo stesso modo, ogni volta è improbabile che la tua azienda abbia paura di usare codice esterno, purché tu sia sicuro testalo attentamente.

Potresti rinominare le variabili e come potrebbero scoprirlo? Controllano ogni riga di codice? Le università lo dicono sempre, non per copiare il codice senza fare riferimento. Perché non provi a scrivere codice e ad usare parti di codice che trovi su Internet?

Generalmente userete più da comunità come overflow dello stack o blog che da progetti open source.

Infine, dato che il codice non ha garanzie, è a tuo rischio e pericolo ... è lo stesso caso se hai inventato il codice da solo: è a tuo rischio.

Spero che aiuti ... e buona fortuna.

  

Forse non capisco molto bene le licenze. Dal punto di vista della compagnia (suppongo) non vogliono correre alcun rischio di essere citati in giudizio per violazione della proprietà intellettuale.

     

Il mio pensiero è che devi soppesare i rischi. Prendere uno snippet di codifica da un libro è a basso rischio. Incorporare il codice da una libreria open source potrebbe essere ad alto rischio. Dico di prendere decisioni in base a quanti rischi sei disposto a correre.

Non sono sicuro di aver capito bene. Se stai dicendo che la violazione della licenza va bene quando non vieni scoperto, dovrò essere in disaccordo con te.

Puoi imparare leggendo il codice senza infrangere le leggi o essere licenziato. Non copiare il codice nella base di codici della tua azienda se la licenza non lo consente.

Se non sei a conoscenza di " clean room " concetto, poi c'è sempre quell'approccio. Dai a un amico un'occhiata ad un codice open source e fatti dire loro come pensano che funzioni. Diagrammalo e poi codificalo tu stesso.

Se ha funzionato per IBM, giusto?

Tieni presente che non tutto l'Open Source è GPL. La tua azienda può copiare tutto il codice con licenza BSD che desidera. Il codice con licenza BSD è diventato OS X (che è probabilmente il mio eufemismo più grande di oggi) e in misura minore Windows NT.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top