venerdì, dicembre 22, 2017

La ragione per cui sono necessari gli aggiornamenti del software

Vi spiego perché bisogna aggiornare il software.
In un mondo ideale voi comprate un aggeggio fatto e finito, l'azienda che ve lo vende l'ha progettato, l'ha costruito, l'ha provato, ha corretto i difetti e infine l'ha messo in vendita. Un prodotto del genere richiederebbe solo aggiornamenti nel caso in cui durante la procedura fosse stato introdotto un errore che richiede di essere corretto.

Purtroppo nel mondo reale succede che chi vi vende il prodotto non l'ha ne progettato ne costruito ne provato. Quasi sempre si tratta invece di commissionare a terzi, quarti e quinti i vari passaggi che portano al prodotto finito e, siccome l'azienda committente impone ai fornitori prezzi sempre più bassi, questi fanno margine riducendo la qualità e le risorse umane per lo sviluppo e le prove.

La conseguenza è che sia l'hardware che il software che lo accompagna vengono consegnati ai clienti sulla base della tempistica dettata dal marketing e non quella dettata dallo sviluppo del prodotto, quindi sono sempre in una fase "beta", sostanzialmente incompleti e non adeguatamente provati. Vi vendono prodotti messi insieme in qualche modo, per rispettare le scadenze.

Ecco che l'azienda che ha messo sul mercato il prodotto subito dopo comincia a corrergli dietro cercando di correggere "in corso d'opera" tutti di difetti e le mancanze tipiche di un prodotto non-finito. Per farlo però, siccome non ha fatto niente in proprio ma ha commissionato tutto a terzi, quarti e quinti, deve anche correre dietro ai fornitori per obbligarli a "supportare" un prodotto del quale a questi non importa più nulla, anzi è solo un peso. Senza contare che i terzi, quarti e quinti facilmente hanno subappaltato a sesti, settimi e ottavi, che a loro volta devono rincorrere.

L'ulteriore risultato è che la qualità degli aggiornamenti, che in teoria cercano di correggere difetti e mancanze del prodotto in prima battuta, spesso è ancora della stessa natura se non addirittura inferiore, quindi si tappa un buco e se ne aprono altri due. Da cui ulteriore necessità di aggiornare l'aggiornamento e più passa il tempo più tutta la manfrina perde senso economico per tutte le parti coinvolte tranne ovviamente il cliente finale. Infine, siccome tutti quelli che devono sapere sanno, si arriva a dichiarare un "ciclo di vita" del prodotto cosi breve che rimarrà "incompleto" e "difettoso" per tutto il tempo in cui l'utente lo avrà in mano e poi semplicemente dovrà essere buttato via e sostituito con l'ultima versione, a sua volta incompleta e difettata, che riavvia la giostra da capo.

Chiarisco un punto per i non addetti ai lavori: un aggeggio elettronico funziona sulla base di vari "strati" di software che si parlano tra di loro e che da una parte comandano l'hardware, cioè i circuiti dell'aggeggio, dall'altra interagiscono con l'utente. Mettiamo che nell'aggeggio ci sia una antenna che serve per collegare l'aggeggio ad un altro aggeggio. Se il software scritto da qualche fornitore "ennesimo" che comanda l'antenna è difettoso o incompleto, l'antenna o non funziona o funziona in maniera irregolare, oppure riesce a compiere solo certe funzioni e non altre, di quelle che in teoria dovrebbe compiere. Tutti gli strati superiori del software che cercano di adoperare l'antenna devono passare per lo strato difettoso, magari cercando di rimediare ai difetti o alla parti mancanti e nel farlo introducono altra complicazione. Il venditore dell'aggeggio riceve le lamentele dei clienti, chiede al fornitore di aggiornare il software che comanda l'antenna. Posto che questo sia capace, che sia previsto nel contratto di fornitura, arriva l'aggiornamento, che non si sa se e quanto è testato. Il cliente finale lo installa, si correggono due problemi e se ne introduce uno nuovo, in più uno o diversi strati del software sopra quello difettoso che prima cercavano di ovviare con qualche magheggio, adesso vanno in errore perché si aspettano di parlare con una cosa e invece ne trovano un'altra. E via, si parte con un altro giro.

Riassumendo, la ragione per cui si deve aggiornare il software sopra gli aggeggi è che quando li comprate sono ancora in fase di sviluppo e chi ve li vende poi cerca di risolvere quanti più problemi rimasti in sospeso mentre voi state adoperando l'aggeggio. Più l'aggeggio è sofisticato, più è incompleto e difettato, più richiederà degli aggiornamenti per essere effettivamente "utilizzabile".

Dettaglio finale: una conseguenza tipica è che i furbofoni con sopra Android si possono semplificare in quattro strati. L'hardware, il firmware, Android, le "app". Quelli che utilizzano la versione "pulita" di Android, cioè che ricevono gli aggiornamenti direttamente quando vengono rilasciati da Google, soffrono solo dei difetti del firmware, che sono totalmente a carico del venditore e dei suoi sub-fornitori. Quelli che invece utilizzano una versione "customizzata" di Android e quindi ricevono gli aggiornamenti solo se e quando il venditore provvede una ulteriore versione "customizzata-aggiornata" di Android, soffrono, oltre che dei difetti del firmware a carico del venditore, anche di quelli del sistema operativo a carico di Google e delle "app", a carico degli sviluppatori che devono mantenere versioni diverse delle "app" per sistemi operativi in vari stati di aggiornamento.

17 commenti:

  1. Non so se possa costituire un "rimedio" di carattere generale, ma in passato io avevo Windows Vista che mi ha causato n-problemi ognuno dei quali ad ogni aggionamento ne generava n+1.

    Mi sono rotto e ho fatto installare Windows 7 DISABILITANDO la ricerca dei dannati aggiornamenti.
    L'installatore era scettico a questo proposito ma io ho insistito.
    Da quel momento, incrociando le dita, sto campando tranquillo e sereno senza il benchè minimo problema.

    RispondiElimina
    Risposte
    1. Lo dici te che non hai il bencheminimo problema. Diciamo che non sai di averlo. Nell'esempio di cui sopra, se tu compri un aggeggio con l'antenna guasta, non saprai mai che l'antenna è guasta se qualcuno non ti dice come dovrebbe funzionare. Per te è lo stato "normale" dell'aggeggio, visto che era cosi quando era nuovo di fabbrica.

      C'è un'altra cosa da aggiungere.
      Facciamo il caso di XP, visto che 7 presto ne prenderà il posto come S.O. "legacy". Ad un certo punto se tu installavi il programma Pincopalla, questo si aspettava che tu avessi la versione XP xyz con installati il Service Pack 2 con gli aggiornamenti unduetre.
      L'alternativa è che il programma all'atto della installazione si porti dietro tutte le librerie aggiornate che gli servono per funzionare.

      Eccetera eccetera.
      Insomma il "problema" non ce l'hai fintanto che non ci vai a sbattere contro. Tutto è relativo alla definizione di "problema". Per esempio uno potrebbe comprare una automobile e dire che non è un problema se i fari non si accendono o se vanno tre cilindri su quattro. A me invece girano i coglioni.

      Elimina
    2. Ah, tipicamente i problemi sono più evidenti si dispositivi portatili per via della batteria e in generale perché l'hardware ha performance inferiori.

      Elimina
    3. Ho capito cosa vuoi dire: qualcosa potrebbe funzionare meglio ma non so cosa.
      Francamente non mi interessa neanche saperlo, io semplicemente confronto 'prima' e 'dopo'.

      Prima si bloccava tutto - il computer sembrava impastato con la colla: fotografie caricate a una lentezza esasperante e software bloccati per motivi "inspiegabili". Rischiai di fare una figura di merda a una presentazione fotografica con oltre 70 persone presenti. Guarda caso gran parte dei guai intervenivano appena dopo l'arrivo dell'ennesimo Service Pack di Vista. Le volte che ho dovuto riportare il sistema "indietro nel tempo" non si contavano, e solo in pochi casi ne venivo fuori -

      A due anni dalla "cura" tutto fluisce a meraviglia. Nessun aggiornamento e nessun intoppo. Il sistema gira bene e "finchè la barca va" la lascio andare.

      Andrei avanti così per i prossimi 40-50 anni che mi restano da vivere. A tre cilindri ? Sì, a tre.
      D'altronde non è che poi possa pretendere chissà cosa da un vecchio ACER 5230 !

      Elimina
    4. Anche io sto usando 7 e non ho aggiornato a 10 con lo update gratuito proprio per non ricominciare da capo a correggere bug.

      Ma la tua idea funziona solo se il computer lo tieni isolato, non lo colleghi a niente, non ci installi niente sopra.

      A parte le faccende legate alla "privacy/sicurezza" di cui dicevo in altri post, metti che un giorno compri una webcam o una macchina fotografica o una stampante, che ne so. Quando li colleghi questi aggeggi si aspettano di trovare una certa configurazione oppure "forzano" quella che gli serve.

      Se tu fossi il fabbricante di questi aggeggi faresti in modo da supportare qualsiasi delle infinite configurazioni intermedie tra il giorno 0 e oggi di Windows 7 oppure faresti riferimento allo stato dell'arte?

      Ergo, ogni volta che tocchi qualcosa l'unica possibilità, che non è una certezza, è di basarsi su un sistema con tutti gli aggiornamenti disponibili installati.

      Tra l'altro sappi che la "moda" corrente di chi fa software è quella degli "update silenziosi", ovvero aggiornare il sistema senza farlo sapere all'utente.

      Elimina
    5. Più che altro sono quei 120 euro di licenza di Windows che scocciano. Infatti io ho deciso che dopo 7 userò solo BSD o Linux.

      Elimina
    6. Proprio a proposito dei dispositivi esterni, è da una settimana che risulta "disponibile nuovo software" per la stampante. Per fare cosa? Per migliorare cosa? Me ne sono guardato bene dal consentirgli il download !!!!! Il risultato: la stampante continua a funzionare e la carta esce alla stessa velocità: quieta non movere et mota quietare (almeno per quel che mi è concesso) !

      Elimina
  2. Ecco un caso di obsolescenza programmata e forzata.
    L'obsolescenza programmata è quando ti si rompe la lavatrice subito dopo che è scaduta la garanzia. La obsolescenza forzata è quando la lavatrice riceve un comando dalla ditta che vende le lavatrici per autodistruggersi.

    Io non so, ci siamo lamentati per decenni delle politiche di Microsoft e scopriamo che tutto sommato erano rose e fiori rispetto a quelle che sono in vigore oggi.

    I clienti Apple (e per certi versi anche quelli delle ditte che vendono dispositivi con Android) accettano di acquistare un dispositivo sigillato, sul quale non hanno nessun controllo, come se gli fosse solo dato in uso, invece che essere di loro proprietà.

    Insisto anche sul fatto che i "servizi gratuiti" come quello che stiamo adoperando adesso, sono finanziati raccogliendo e rivendendo le informazioni sugli utenti, oltre che con le semplici inserzioni pubblicitarie. Sempre con la scusa di migliorare la "user experience".

    RispondiElimina
    Risposte
    1. Lorenzo: "I clienti [...] accettano di acquistare un dispositivo sigillato, sul quale non hanno nessun controllo, come se gli fosse solo dato in uso, invece che essere di loro proprietà."

      Tristemente, non vale solo per il mondo "digitale". Prova ad aprire e riparare un asciugacapelli di quelli "moderni" senza sfasciarlo. Difficile? Impossibile? Se è così è perché l'apparecchio è progettato appositamente per non poter essere riparato, particolarmente per non poter essere riparato in modo spiccio dagli amanti del fai-da-te.

      Chiedere sempre, all'atto dell'acquisto, come si apre un'apparecchiatura e pretendere che ci venga mostrato lì, sul bancone. In caso di rifiuto, andarsene senza acquistare. Il che implica il non acquistare dalle catene di grande distribuzione, perché per quelli il contatto col cliente è un'eresia.

      Elimina
    2. Da qualche anno il concetto di "bene sigillato" da comprare "a scatola chiusa" vale perfino per le auto! Roba per la quale è richiesta una spesa minima di una decina di migliaia d'euro, per poi ritrovarsi nelle condizioni di dover passare sotto alle forche caudine anche solo per sostituire una lampadina. Assurdo. E intenzionale.

      Elimina
    3. Si, hai ragione. Quasi tutto oggi è pensato per l'obsolescenza programmata in maniera che sia più conveniente sostituirlo che ripararlo.

      Però io aggiungerei che c'è differenza tra l'auto e il furbofono. Il furbofono, a parte il calcolo che andrebbe fatto sul costo in rapporto alla utilità, contiene una sua intelligenza che ti OBBLIGA a certi comportamenti. Infatti nel gergo aziendalese si chiama "terminale di servizi". In sostanza ti condizionano a comprare lo strumento con il quale ti incatenano alla macina e ti fanno girare attorno.

      Si, se vogliamo anche l'auto in passato ha ridefinito il paesaggio e con la mobilità anche la "cultura" in senso lato.

      Ma a me pare che le costrizioni, che sono addirittura percepite come "favori", o "regali", imposte dall'abbinamento di elettronica e telecomunicazioni, siano enormemente più gravi e penetranti.

      Elimina
    4. Anche e sopratutto perché sono assolutamente arbitrarie e non necessarie. E' una maramalderia.

      Elimina
  3. > siccome l'azienda committente impone ai fornitori prezzi sempre più bassi, questi fanno margine riducendo la qualità e le risorse umane per lo sviluppo e le prove.

    Di recente, a margine di un evento tanghero importante, ebbi una discussione (con la ex di _zzz) che, tra gli altri dirittismi, rivendicava anche quello al software gratuito.
    Questo da una parte.
    Nella realtà è noto che in natura NON si mangia gratis.
    Potete capire come siamo messi.
    Appunto, con sw baracca, fatti da cialtroni, sotto dirigenti più cialtroni, fatti male, senza soldi, ordinati oggi per ieri.
    Vengono giù i ponti e i software sono storti, funzionano una volta sì e due no.

    RispondiElimina
    Risposte
    1. Non è proprio esatto.
      Il software è una opera di ingegno e come ha un valore "immateriale", come, che ne so, una sinfonia o un quadro, che non valgono certo per la carta o la tela su cui sono realizzati, cioè la componente materiale.

      In linea teorica un "ideatore" può decidere di farsi pagare il proprio tempo e ingegno qualsiasi somma tra zero e infinito.

      La "ideazione" si inquadra in un calcolo meccanico solo se e quando avviene all'interno di una struttura meccanica in cui tutto, cose, tempo, persone, sono una risorsa materiale.

      Per farla breve, il "software gratuito" non è gratuito perché compare dal nulla ma perché esiste fuori dal "mercato".

      Essendo fuori dal "mercato" può assumere un valore qualsiasi, arbitrario e quando chi lo realizza decide in questo senso, viene distribuito a titolo gratuito.

      Inoltre, esiste la questione per cui il software non si compra sotto forma di proprietà ma di uso. Quindi, cambiando i termini della licenza, cambiano i termini della transazione economica.

      Per esempio, tipicamente le licenze del software "gratuito" richiedono che insieme all'eseguibile venga consegnato il sorgente. Non solo, alcune impongono anche di ri-distribuire insieme al sorgente del programma originario anche quello di tutte le eventuali modifiche. Il fatto di ridistribuire il sorgente consegna a chi "acquisisce" il software, non importa sulla base di quale transazione economica, non la "proprietà intellettuale" ma quella "materiale", ovvero la facoltà non solo di usarlo nei termini decisi da chi lo cede in uso ma di usarlo in qualsiasi modo e anche di modificarlo in qualsiasi modo.

      Infine, in molti casi conviene anche alle aziende trasferire software dall'ambito in cui è funzione di risorse materiali a quello "gratuito". Per vari motivi, di solito perché serve ad una certa strategia di mercato.

      Il caso ovvio è Google che "regala" a tutti i fabbricanti/venditori di furbofoni il sistema operativo Android. Lo fa perché piazzando Android sui telefoni può veicolare tutti i propri prodotti e servizi da una posizione di dominanza. Google regala il software per potere vendere servizi.

      Elimina
    2. Io ne ho scritto altre volte.

      Fossi io al governo emanerei una gara di appalto per tre milioni di computer che poi darei uno a studente, per i quali l'hardware dovrebbe essere fornito "nudo" e completamente documentato, poi una gara per tre milioni di installazioni di firmware, sistemi operativi e programmi, tutti con licenza "open source".

      Niente di tutto questo è sinonimo di "gratis".

      Sarebbe anche una cosa furba incentivare la fabbricazione di hardware e di software se non a livello nazionale almeno europeo. Per non vivere legati mani e piedi dipendendo da altri.

      Elimina