Sviluppatori assoldanti - Protezione del codice sorgente [duplicato]

0

Ho una famosa app basata sul web e ora improvvisamente il mio sviluppatore principale è scomparso. Anche se ho trovato altri grandi sviluppatori, ma non voglio distribuire il codice sorgente a tutti. C'è un modo in cui posso farli lavorare su di esso mantenendo il codice sorgente sicuro?

Grazie

    
posta Nimbuz 12.07.2011 - 08:25
fonte

5 risposte

6

Non proprio, voglio dire, potresti modulare la tua app in vari modi, ma in questo modo otterrai una frazione del lavoro svolto dagli sviluppatori che lavorano su di esso che potresti.

Il fatto è che gli sviluppatori devono essere l'élite del prodotto - se saranno bravi nel loro lavoro hanno bisogno di conoscere la tua applicazione dentro e fuori. Devono sapere dove è buono e hanno bisogno di sapere dove potrebbe essere migliore ma non hai il tempo di sistemarlo subito.

Sei bloccato a fidarti di loro in entrambi i modi - se non puoi fidarti di loro con il tuo codice allora non puoi nemmeno fidarti di loro per non aggiungere qualcosa che appartiene a qualcun altro o che è stato GPL e quindi l'intera app nei guai.

La tua migliore scommessa non è la sicurezza nascondendo il codice da loro, ma la protezione legale se la distribuiscono ulteriormente.

  • Devono firmare un NDC: dare il tuo codice a chiunque altro è chiaramente un furto.
  • Dovrebbe essere molto chiaro che il codice esistente è il tuo IP, e qualsiasi nuovo codice che essi contribuiscono alla tua base di codice è anche il tuo IP - stanno rompendo i termini di occupazione se contribuiscono a qualcosa che non può avere i suoi diritti esclusivi trasferiti a te.
  • Possono contribuire ad altri prodotti mentre lavorano per te (nel loro tempo libero) ma il contributo di un concorrente deve essere chiaramente definito come una colpa grave.

I prodotti software non riguardano solo il codice, riguardano la conoscenza dell'applicazione. Un nuovo sviluppatore può impiegare mesi per essere aggiornato e impiegare anni per riprendersi da qualcuno che se ne è andato e che conosce veramente la tua app.

O per dirla in altro modo: trascorri 5 anni scrivendo un'app ampia e complessa, sposta l'intera base di codice in un nuovo team e il team originale sarà ancora in grado di avere una versione 2.0 prima che il nuovo team aggiunga funzionalità decente alla vecchia base di codice.

Quindi, la cosa più importante di tutte: mantenerli felici - la loro conoscenza approfondita del tuo codice è invariabilmente vale più del codice comunque.

    
risposta data 12.07.2011 - 16:45
fonte
4

Puoi condividere solo moduli specifici per uno specifico sviluppatore. Almeno durante i primi mesi. Certo, se hai un'architettura appropriata.

    
risposta data 12.07.2011 - 08:35
fonte
3
  1. Assumi professionisti
  2. Tienili il più onesto possibile con un accordo scritto sui termini di utilizzo e divulgazione del tuo codice.
  3. Dai loro un motivo per voler vedere la tua impresa avere successo e non quella di qualcun altro.
  4. Trova un avvocato se sospetti che un concorrente abbia rubato il tuo codice e speri di aver guadagnato un sacco di soldi e si accontenterà.

Una piccola compagnia petrolifera ha trovato un geologo che vendeva dati ai concorrenti. Dopo aver licenziato questa persona, hanno dato a tutti i rifornimenti nei pozzi di petrolio. Un sacco di incentivi per i loro pozzi da perforare nella posizione migliore e non in quella di alcuni concorrenti.

    
risposta data 12.07.2011 - 19:33
fonte
1

Il meglio che puoi fare è modulare il codice e fare in modo che gli sviluppatori accedano solo alla fonte per i moduli su cui devono lavorare. Usa Maven, per esempio. Certo, tu o qualcuno di cui ti fidi davvero, dovrai fare integrazione.

    
risposta data 12.07.2011 - 08:34
fonte
1

Potrebbe essere possibile lavorare su cose sicure, ma qualsiasi modifica a qualsiasi funzionalità primaria sarà molto difficile da fare con l'accesso al sistema. Inoltre, rischi di introdurre una logica in conflitto e un codice ridondante perché non vuoi consentire ai tuoi sviluppatori di vedere ciò che già esiste.

La migliore opzione per la protezione del codice è quella di farli lavorare sul posto, in una posizione in cui non sono in grado di portare o rimuovere oggetti personali, su una macchina con accesso USB limitato (impedendo le unità USB). Non fornire alcun accesso a Internet (almeno sulle macchine in cui esiste il codice) in modo che il codice non possa essere inviato su Internet. Inoltre, si desidera limitare l'accesso alla rete a questi computer dalle macchine sulla rete che dispongono di accesso a Internet. Una rete separata non connessa ad alcuna rete esterna è probabilmente il modo migliore per assicurarti di ciò.

Ciò consentirà di evitare la duplicazione del codice sorgente al di fuori del proprio controllo. Ma non è una garanzia. Questo ridurrà anche la produttività dei tuoi sviluppatori. Per non parlare, a meno che gli sviluppatori non comprendano il bisogno di sicurezza, probabilmente avranno un impatto sul morale.

    
risposta data 12.07.2011 - 16:27
fonte

Leggi altre domande sui tag