Quanto è grave la perdita del codice sorgente? [chiuso]

10

Se una società di software perde il codice sorgente per uno dei prodotti che stanno vendendo, quanto sarebbe serio, in termini che potresti spiegare a un laico? Il termine "negligenza grave" sarebbe troppo strong? O "gross incompetence"? Ovviamente nessuno è stato ucciso, ma non è così grave come una negligenza finanziaria per cui la gente si prende la prigione?

Modifica Diciamo che non si tratta di un crash del disco rigido, un disastro naturale o qualcosa del genere. Lo hanno semplicemente messo male.

    
posta JoelFan 21.10.2010 - 21:00
fonte

11 risposte

27

Diciamo che MS perde la fonte per Windows Phone 7 ... le persone sono state uccise per waaaaay meno dei $ 400 milioni stimati per svilupparlo.

A seconda del prodotto, non c'è un termine a cui possa pensare che sia "troppo strong".

    
risposta data 21.10.2010 - 21:04
fonte
19

Per un'azienda è come perdere i gioielli della corona. Se si tratta di un prodotto con un processore incorporato, possono continuare a rendere il prodotto "così com'è" ma perdono la capacità di migliorarlo o di correggere eventuali problemi.

Nei mercati di oggi un'azienda IS è IP. Perdi questo e non c'è più business.

    
risposta data 21.10.2010 - 21:07
fonte
13

Come hanno notato gli altri, questo probabilmente rientra nella voce "tutto dipende", quindi un paio di senari:

Sorgente per un videogioco di console basato su disco - Questo probabilmente avrà un impatto minimo sulla società poiché tende a non apportare modifiche al gioco una volta che è stato masterizzato su disco. Certo, potrebbero perdere un po 'di tempo se c'è un codice di libreria che devono essere riprogettati, non sarebbe poi così male.

Sorgente per un videogioco scaricabile - Probabilmente sarebbe un problema poiché i clienti probabilmente si aspetteranno che i bug vengano corretti, non essendo in grado di farlo, i clienti potrebbero perdere fiducia nella società che potrebbe influire negativamente sulle versioni future.

Sorgente di un gioco in fase di sviluppo - La maggior parte delle società di videogiochi non può permettersi di perdere il codice per un gioco attualmente in sviluppo a meno che non sia estremamente presto nel ciclo di sviluppo (cioè giorni, forse settimane in esso .) Per una piccola azienda, perdere la fonte per la loro versione di punta potrebbe farli fallire.

Sorgente per una piccola applicazione aziendale con un pubblico a rilascio limitato - Improbabile che causi problemi alla società, sebbene potrebbero perdere un paio di clienti.

Sorgente di una grande applicazione aziendale con un pubblico a rilascio limitato - Un'altra situazione in cui potrebbe causare l'interruzione della società a causa della perdita di fiducia dei propri clienti. Anche nella maggior parte dei piccoli mercati ci sono più aziende che operano e questo potrebbe essere sufficiente per l'azienda a trasferirsi su un concorrente.

Sorgente di una grande applicazione da una grande azienda - Qui è dove tutto dipende e probabilmente sarà su una base molto stretta, caso per caso. I prodotti Flagship (ad esempio Microsoft Windows) generalmente hanno contratti di supporto associati a questi e non essere in grado di supportare il prodotto potrebbero portare alla violazione delle cause legali. Se dovessi dare una stima, direi che la maggior parte delle persone coinvolte nella perdita del codice fino alla dirigenza di quelle persone potrebbe aver bisogno di cercare un nuovo impiego.

Però, probabilmente direi che la persona che ha perso il codice sarebbe alla ricerca di un nuovo lavoro (e potrebbe trovare difficoltà a trovarne uno!) e potrebbero anche trovarsi di fronte a cause legali dell'azienda.

    
risposta data 21.10.2010 - 21:25
fonte
3

Anche se ci sono certamente casi in cui potrebbe essere cataclismatico, penso che ce ne siano molti in cui non lo è (almeno dal punto di vista della società di software).

Penso che ci siano troppe variabili per dare una risposta generale sul fatto che ci siano ripercussioni legali, ma una serie di domande da considerare nel determinare ciò includerebbe:

  • Qual è la natura del programma? Se è qualcosa che hanno perso perché le app come sono una dozzina e non è importante , quindi? Se è il prodotto commerciale di punta dell'azienda, si sono solo danneggiati. Se è un software personalizzato a cui è stato affidato il compito di costruire, è lì che potrebbe essere interessante, ma è necessario chiedere ...
  • Chi possedeva il copyright del codice? (Se il cliente detiene il copyright, allora la sua proprietà è stata probabilmente persa / distrutta)
  • Il cliente viene attivamente danneggiato dalla scomparsa del codice?
  • Ci sono stati contratti per lo sviluppo futuro che saranno violati a causa della scomparsa del codice?
  • Quanto è importante essere in grado di ricreare il software esistente? Se è qualcosa di simile a uno script di shell per eseguire attività di manutenzione, la società di software mangia il tempo necessario per crearne una nuova che faccia le stesse cose. Se si tratta di una suite per ufficio, rispolverare il curriculum.

E sono sicuro che ci sono molti altri fattori che dovrebbero essere considerati. Sentiti libero di aggiungere.

Ora, ho detto "dal punto di vista della società di software". Potrebbe essere ancora catastrofico nella mente del cliente a causa di piani che avevano per modifiche, miglioramenti o quant'altro. Nonostante un contratto per tali cose o la proprietà del copyright, tuttavia, potrebbe seriamente infastidire il cliente, ma senza alcun obbligo da parte dello sviluppatore di fare tutto il possibile per mantenere buoni rapporti con i clienti.

    
risposta data 21.10.2010 - 21:12
fonte
3

Ah, visto questo chiarimento da te (nei commenti):

It was developed a long time ago, without source control, they've been selling it all this time and now suddenly they need to update it

In questa situazione specifica , direi che probabilmente non è la fine del mondo. Dato che hanno venduto il software per anni senza aver bisogno del codice sorgente, allora puoi dire a questo cliente che sta richiedendo l'aggiornamento, "mi dispiace non-puoi-fare".

Ora non fraintendermi, perdere il codice non è buono. Sarà molto costoso per la tua azienda riscrivere o decodificare la versione originale (se è quello che decidono di fare). Ma non è la fine del mondo. Ovviamente sono sopravvissuti per così tanto tempo senza aver bisogno del codice, quindi probabilmente continueranno a sopravvivere senza.

Si presume, ovviamente, che il software che stanno vendendo sia solo una piccola parte della loro attività. Il che credo sia il caso ...

    
risposta data 22.10.2010 - 01:19
fonte
1

Finché sono ancora in grado di vendere il prodotto, non penso che siano nei guai. Ora, se sono sotto contratto con un cliente per estendere il prodotto e fornire alcune nuove funzionalità nella prossima versione, questo è molto più serio perché lo sta configurando per la violazione delle penali del contratto. Ma non penso che ci sia un problema legale con la perdita del codice stesso.

Ciò non significa che non sia un disastro assoluto per l'azienda. Ma è un disastro finanziario; non legale. Probabilmente comincerei con il termine "gross incompetence" e risalirò da lì.

    
risposta data 21.10.2010 - 21:08
fonte
1

Per essere onesti, penso che dipenda dal linguaggio usato. Se perdi un codice C #, può essere decompilato con estrema facilità, ma se perdi un codice C ++, è molto peggio.

    
risposta data 21.10.2010 - 21:10
fonte
1

Se ne uscisse una notizia, beh, qualsiasi venditore che potrebbe perdere il suo codice sorgente con qualsiasi mezzo diverso da un disastro abbastanza diffuso, ovviamente non sta seguendo nulla come pratiche di sviluppo del suono, e non ci si può fidare. Lo considererei una prova prima facie molto strong di incompetenza corporativa lorda.

Che ne dici di "incredibile stupidità"?

    
risposta data 21.10.2010 - 21:56
fonte
0

Lo paragonerei ad altri lavori che richiedono la costruzione di un oggetto. Probabilmente qualcosa di fisico. per esempio. Se un architetto ha perso i piani per un edificio che è stato costruito; Se una società automobilistica ha perso i piani per un modello di auto; Se una sarta ha perso il modello per un vestito che avevano fatto; ecc.

Ci sono molti lavori che hanno confronti fisici per paragonare alla creazione di software.

    
risposta data 21.10.2010 - 22:31
fonte
0

Penso che, a parte l'opzione di decompilare il codice, questo sarebbe un grosso problema se si presumesse che la società intendesse continuare a commercializzare il prodotto software. Se fosse un'applicazione interna, lo stesso sarebbe vero in misura minore.

Se non è possibile ripristinare il codice sorgente, non è possibile eseguire la manutenzione (correzione dei bug) e miglioramenti, quindi l'applicazione è ora statica. Se Microsoft o Apple o Apache o chiunque sia la tua piattaforma operativa cambia o aggiorna il loro codice, allora il tuo vecchio codice compilato potrebbe non funzionare e non puoi ripararlo. Se vendi questa applicazione a client esterni non puoi controllare quando aggiorneranno i loro Windows, MAC OSX, iPhone, browser Web in modo da avere un grosso rischio qui per la reputazione della tua azienda e, eventualmente, per il rischio legale anche se hai un contratto di manutenzione con i clienti.

In secondo luogo il codice sorgente rappresenta una risorsa per l'azienda. Quindi per un'azienda di software è una risorsa sui libri. È qualcosa che puoi vendere come prodotto o vendere il codice sorgente e tutti i diritti su un'altra società di software. Non avrei continuato a vendere un prodotto software ai clienti che sapevo di non poter mantenere poiché ho perso il codice sorgente. Inoltre dubito che un'altra società di software comprerebbe l'applicazione e tutti i diritti se non potrebbero sviluppare ulteriormente il prodotto. Quindi il valore dell'asset di questa applicazione deve essere ridotto.

Per un'applicazione interna interna potresti avere maggiore controllo sulla piattaforma operativa per la tua applicazione, ma mi piacerebbe comunque cercare di sostituire questa applicazione se il codice sorgente non può essere decompilato in una base di codice utilizzabile per la manutenzione.

Saluti,

Kevin

PS Spero che questa sia solo una domanda teorica ...:)

    
risposta data 22.10.2010 - 16:44
fonte
-1

Se non devono correggere bug, allora probabilmente non è un grosso problema. Ad esempio, se la società esegue controlli ActiveX personalizzati e perdono l'origine su uno dei prodotti legacy, a chi interessa veramente? Il prodotto probabilmente non viene mantenuto attivamente e probabilmente non viene commercializzato in modo aggressivo. Lo venderanno finché le persone usano ancora ActiveX a 32 bit e poi se ne dimenticheranno.

Detto questo, lo classificherei ancora come una grave negligenza. Ovviamente non esiste un sistema di gestione del codice sorgente, che è l'incompetenza professionale di una software house.

    
risposta data 21.10.2010 - 22:01
fonte

Leggi altre domande sui tag