di  -  mercoledì 27 gennaio 2010

Diverse volte abbiamo trattato su queste pagine (spesso nei commenti) il tema del codice libero, e delle relative implicazioni, come pure di open source, dell’acquisto di computer già equipaggiati da software proprietario (di cui abbiamo fornito opinioni diverse in questo e quest’altro articolo).

Particolarmente sentito è quest’ultimo argomento, la cui diversità di vedute è vasta, com’è possibile appurare dai commenti scritti dai lettori. D’altra parte hardware e software sono due facce della stessa medaglia: non si può fare a meno dell’uno o dell’altro, per cui un po’ di ferraglia bisogna pur comprarla, per poi metterci sopra del software se non vogliamo utilizzarla come soprammobile.

Ciò che ho notato è che spesso si parla poco dell’hardware, e molto, molto di più del software, delle “filosofie” o stili di vita che stanno dietro a certe scelte. L’hardware generalmente si tira in ballo nelle discussioni per due motivi: o perché vi si trova sopra del software (indesiderato), o quando si parla dei driver per supportarlo adeguatamente.

Insomma, l’hardware rimane pur sempre uno spunto per parlare di software. E il software rimane, di per sé, fonte di bollenti nonché ben noti dibattiti, nei quali si spendono fiumi di parole che, purtroppo, sfociano troppo spesso in un fanatismo che, a prescindere dalla matrice, tanti danni provoca.

Una posizione abbastanza comune è quella legata al software libero, di cui riporto i quattro “pilatri” concepiti da Richard Stallman:

  • Libertà 0: Libertà di eseguire il programma per qualsiasi scopo.
  • Libertà 1: Libertà di studiare il programma e modificarlo.
  • Libertà 2: Libertà di copiare il programma in modo da aiutare il prossimo.
  • Libertà 3: Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.

Accomunata a ciò è la battaglia contro i brevetti e la brevettabilità, appannaggio delle multinazionali, che sono accusati di limitare la libertà di scrittura e fruizione del codice, l’innovazione, e altro. Come pure comune è la battaglia per l’uso di solo software libero, in una sorta di ricerca della “purezza” del codice utilizzato.

Tutto, però, continua a ruotare attorno al software, ma dell’hardware non si fa cenno. Eppure è quello che fa girare il codice, sia esso libero, open, proprietario, gratuito o a pagamento.

Chi ha esperienza e/o ha studiato approfonditamente gli aspetti teorici e pratici della scrittura del software, e possiede almeno un’infarinatura sul funzionamento delle architetture degli elaboratori e/o di microelettronica, sa bene quanto sia labile il confine fra software e hardware; di come sia facile passare dall’uno all’altro, implementando in hardware parti che prima erano in software, e viceversa, a seconda della convenienza.

Un elemento molto interessante che fa capire quanto sia sottile questo confine è rappresentato dal microcodice. Al giorno d’oggi le CPU x86 eseguono per lo più direttamente la maggior parte delle istruzioni, relegando una piccola parte all’esecuzione tramite il citato meccanismo a causa degli opcode “legacy”.

A causa della notevole complessità che i chip hanno assunto da un po’ di anni a questa parte, al boot il BIOS provvede e riconoscere la CPU e a caricarvi il microcodice aggiornato. In questo modo è possibile sistemare dei bug che possono essere presenti in quello presente internamente nella CPU, quindi fornito “di fabbrica”.

Di fatto il microcodice è software che viene eseguito all’interno della CPU; una sorta di ponte fra i due mondi. Ma il software, come abbiamo visto, è possibile classificarlo come libero o non. In questo caso non penso che Intel o AMD abbiano rilasciato il loro microcodice con licenza GPL o simile.

Salta fuori, quindi, una domanda: si potrebbe applicare all’hardware quanto è stato definito per il software? A mio avviso la risposta dovrebbe essere affermativa, proprio per quanto scritto qui sopra. D’altra parte anche l’hardware viene programmato con appositi linguaggi (quindi c’è del codice che, opportunamente “compilato”, genera poi lo schema del chip), per cui c’è un codice sorgente. Inoltre astrattamente l’hardware è assimilabile a una funzione che riceve un input e restituisce un output; al pari del software.

Sostituendo nei quattro pilatri del software libero “il programma” con la parola “l’hardware” l’espressione a volte può far sorridere, ma sostanzialmente il significato regge, tenendo conto del preciso contesto per le rispettive parole. Per essere chiari: il programma che si esegue è quello binario, mentre quello che si studia è il sorgente; per l’hardware, quello “in esecuzione” è il circuito, mentre quello studiato è il sorgente. E così via per i concetti di “copia”, “miglioria”, e “distribuzione”.

Pertanto ha senso parlare di “hardware libero, e in giro si trovano già siti che riportano definizioni, pensieri, e quant’altro, compreso un equivalente della FSF che si presenta come Free Hardware Foundation che, però, punta l’attenzione sul concetto di hardware “trusted” e “untrusted” (ma di cui al momento non voglio parlare).

Riprendo pertanto il titolo dell’articolo: perché non parlare di codice libero che gira su hardware altrettanto libero? Non penso che chi ha deciso di abbracciare la filosofia del software libero troverà difficoltà nel fare altrettanto con l’hardware libero. Un hardware che si possa studiare, migliorare, aiutare a costruire (qui la copia è un concetto un po’ più difficoltoso da applicare), e soprattutto libero da quei brevetti che appaiono come l’origine di tutti i mali.

Un sistema “coerente”, se mi fate passare il termine, che dovrebbe far felice chi ricerca la “purezza” del proprio sistema, concetto di cui avevo parlato prima. Un PC completamente “libero”, tanto nel software quanto nell’hardware, insomma.

In questi giorni si parla molto di un PC “open” che utilizza soltanto software libero, ma non è esattamente la stessa cosa: un PC simile è assemblabile da chiunque abbia un minimo di esperienza; idem per installarci sopra del software libero. Ma l’intero sistema non è classificabile come “libero”, perché fa uso di BIOS e hardware proprietario (CPU, chipset, sottosistema grafico).

Un PC completamente libero oggi è abbastanza difficile da realizzare, ma non impossibile. Esistono diversi progetti di CPU, e persino schede video open source e completamente libere. La difficoltà sta nel trovare qualcuno con sufficiente competenze per poterne realizzare qualcuno, ma se la domanda cresce è ipotizzabile che lo sarà anche la disponibilità e l’accessibilità.

Quanti sostenitori del software libero sarebbero disposti a seguire questa strada? E, soprattutto, ad affrontarne le maggiori spese (come per tutti i prodotti di nicchia), ottenendo in cambio hardware non esattamente all’ultimo grido in termini di prestazioni e funzionalità?

Spendere poche decine di dollari / euro per una licenza non voluta è una cosa che dà fastidio e per la quale si dà battaglia per una questione ideologica. Spenderne qualche centinaio di più per ritrovarsi con hardware mediocre è sostanzialmente la stessa cosa, perché si perseguirebbe sempre lo stesso ideale. Ma in questi casi i conti bisogna farli anche col portafogli, e non soltanto con la propria coscienza…

46 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    pabloski
     scrive: 

    Stallman a volte ha toccato anche il tema dell’hardware libero, ma non è mai sceso nei dettagli e credo che ci sia una motivazione fondata alla base

    l’hardware per quanto chiuso deve essere corredato da informazioni che ne permettono la programmazione, soprattutto le cpu non possono tener segreta l’ISA, altrimenti chi diavolo le comprerebbe?

    chiaramente man mano che l’opensource avanzerà, il problema diventerà sempre più grande….allo stato attuale lo scontro in atto è tra opensource e produttori di gpu, ma nel prossimo futuro è facile che la cosa coinvolgerà anche le cpu

    d’altro canto progetti di open hardware esistono e altri nascono ( anche se molto più lentamente della controparte software ), ma da qui a qualche decennio l’open hardware molto probabilmente sarà un fenomeno diffuso con l’open software

    ovviamente i due mondi coesisteranno, del resto il software ci ha insegnato proprio questo, ovvero che open e closed non sono mutuamente esclusivi

    mi chiedo però se sul fronte cpu ci sarà stimolo e necessità di chiedere un’apertura, perchè alla fin fine il processore deve eseguire programmi e le sue istruzioni sono già oggi ben documentate ( per quanto non sia dato sapere come funziona dietro le quinte )

  • # 2
    imayoda
     scrive: 

    .. basta vedere come OpenMoko non riesca proprio a decollare.. peccato

  • # 3
    imayoda
     scrive: 

    Stallman possiede un netbook opensource prodotto da una azienda cinese che rende libero tutto dal bios in poi.. c’è qualche articolo a riguardo nel web

  • # 4
    Santiago
     scrive: 

    Ciao Cesare. Tanto tempo.
    Ho letto l’articolo.. devo dire che in parte sono d’accordo, come quello scorso in cui criticavi Ubuntu.
    Sabato scorso sono andato a vedere Stallman a Bologna, è stato un talk molto interessante. Stallman ad un certo punto ha parlato delle differenze tra la licenza GPL2 e la GPL3. Spiegava il problema che c’è stato con l’apparecchio TiVo, un hardware che rilasciava il suo software con licenza gpl ma non rendeva i sorgenti. Cosi TiVo gli ha rilasciati, ma quando uno compilava il programma e lo metteva al posto di quelli dentro il decoder, l’hardware riconosceva che questi erano stati modificati e non lo faceva andare. Per ciò hanno cambiato la GPL per evitare queste problematiche.
    Vedi quello che voglio dire è che secondo me, e per quanto ho capito anche secondo Stallman, un Hardware proprietario va pur bene mentre non ti blocchi le 4 leggi della libertà verso il software.

    Per fare un’esempio, prendi un libro di Pablo Neruda.
    Il libro, le pagine e la copertina sono hardware. La poesia che c’è dentro è software.

    Prendo un quaderno a righe vuoto, ok magari mi becco la copertina del quaderno con un cartone dei transformer, non importa.. ora vado a scrivere, ho 2 penne, una rossa l’altra verde. Il quaderno però non mi lascia scrivere con quella verde, allora è grave..
    ma finché il quaderno mi lascerà scrivere con la penna che voglio, e sopratutto mi lascerà scrivere quel che voglio, non vedo perché la mia libertà venga compromessa. Quelle 4 libertà son sempre valide, quindi…

    Non mi sembra una posizione estremista, sebbene Stallman possa dire “io mi faccio il mio proprio bios” ecc ecc, la maggior parte delle volte sono pareri personali, se hai un hardware “proprietario”, per cosi dire, ma usi software libero, va pur bene anche per lui.

    Anche perché software libero non è sinonimo di Comunismo o qualcosa di estremo. Anzi convinve in simbiosi con dell’Hardware, che è giusto che si paghi.

  • # 5
    D
     scrive: 

    Secondo me è importante porsi alcune domande.

    La prima è se progettare hardware è più complesso che con il software. Secondo me lo è di sicuro quindi richiede persone veramente molto capaci.
    Adesso mettiamoci nei panni di una persona così.
    Questa si trova a poter scegliere se lavorare per una grande compagnia quale intel, amd, nvidia, arm o se mettersi a fare qualcosa di open source.
    Per quanto ci possano essere delle differenze con il software open source, quello che purtroppo pare essere identico (o che porta a pensare in tal senso) è la paura che l’eventuale modello di business vada a donnine.
    Si dice che il problema del HW opensource dipende dall’aumento di richiesta di SW opensource/libero ma se quest’ultimo a causa di tutti i suoi piccoli giardini cintati tende a fallire nel mercato come può sperare di fare da traino all’altro ?
    Non ho assolutamente idea di quali possono essere i costi di progettazione e realizzazione di una nuova cpu o scheda video ma credo che sono veramente molto elevati e come tutte le imprese dove si deve spendere, ci vuole una ragionevole certezza di avere un ritorno economico.

    L’unico progetto hw opensource che conosco è l’arduino ma guarda un po’ non è nato partendo da una necessità di linux e del software libero di avere la “sua” scheda video, ma da esigenze concrete legate alla robotica ed agli ambienti accademici.
    (oltretutto non vorrei dire ma l’arduino non è qualcosa di complesso quale cpu/gpu quindi i suoi costi di progettazione sono anche abbastanza bassi da non intimorire qualche investitore…)

  • # 6
    pokeroso
     scrive: 

    @D
    Tra l’altro Arduino non usa un controller “proprietario”(Atmel)?

  • # 7
    D
     scrive: 

    adesso che ci penso… eh sì, quindi anche lì open source a metà

  • # 8
    zephyr83
     scrive: 

    Nn importa come viene realizzato l’hardware, quello che conta è poterlo usare, tramite software, senza limitazione! che mi frega come viene realizzata una stampante? a me importa poterla gestire senza alcuna limitazione! idem per la scheda video!! Se rilasciano driver open la questione è risolta!
    L’unico caso particolare è appunto quello del microcode ma nn ho minimamente conoscenze a riguardo

  • # 9
    pleg
     scrive: 

    Non so se progettare software sia piu’ facile che progettare hardware, ma non credo: una CPU e un sistema operativo richiedono entrambe il lavoro di migliaia di persone altamente specializzate e molto, molto in gamba.

    La differenza e’ che progettare hardware e’ molto piu’ costoso, sia nei tool che negli errori commessi. Spiego:

    1. i tool di sviluppo: ormai di tool di sviluppo open source ce n’e’ in abbondanza (compilatori su tutto), quindi e’ possibile sviluppare codice open con strumenti open (e gratis :)
    Per l’hardware non esiste niente del genere: se vuoi farti un chip, devi comprarti tutta una suite di Cadence o Synopsys (piu’ varia altra roba). Costo: potrebbe essere sui 100mila dollari all’anno, per UNA SINGOLA LICENZA! Comprane qualche centinaio per permettere ai tuoi 2mila progettisti di lavorare… hai voglia!

    Poi, ci sono i costi di testing: il software lo testi con altro software, l’hardware no. Ti devi comprare un bel tester (ad es. da Agilent), che e’ grande come un’autobile e costa 2–3 milioni di dollari l’uno.
    Io ho visto uno dei piu’ grandi centri di test del nordamerica (Qualcomm, San Diego): immagina un’unica stanza grande quanto un campo da calcio, alta 15 metri, con dentro 80 di quelle macchine. Quanti si possono permettere una struttura del genere??

    2. i bug: quasiasi cosa ha bug, sia software che chip. Ma correggere un bug software vuol dire rilaciare una patch. Correggere un bug hardware vuol dire far un nuovo spin di progettazione, di layout, e rilasciare un nuovo chip. Guarda solo i problemi che NVIDIA sta avendo con Fermi, e pensa a quanto gli puo’ costare.
    (o pensa al bug della FP del Pentium1: se ricordo bene Intel ci perse un mezzo miliardo di dollari, tra ritiro del vecchio prodotto, sviluppo del nuovo prodotto, eccetera).

    Inoltre, anche se avessi open hardware, non avrai mai open silicon :D
    Per quello ti servirebbe anche una fab “open”, che rilasci magari le sue librerie con licenza “open silicon” :)
    E quella ti costa 3–5 miliardi di dollari…

  • # 10
    Emanuele Rampichini
     scrive: 

    @D
    In effetti qualche pazzo che si è messo a fare una scheda video c’è!

    http://wiki.opengraphics.org/tiki-index.php

    Per il resto il discorso è abbastanza semplice. È molto difficile proporre un modello di sviluppo sostenibile per hardware open source ed ancora il costo (in bagaglio tecnico e puramente economico) penalizza in maniera pesante gli hobbysti. Lo svilppo open funziona quando si supera una certa massa critica o come punto di incontro tra interessi comuni di aziende diverse.
    Certo è che disporre di hardware libero potrebbe essere utile per i progetti di ricerca universitaria e penso che proprio in quegli ambiti qualcosa a riguardo possa smuoversi.

  • # 11
    Emanuele Rampichini
     scrive: 

    Pleg mi ha anticipato di qualche minuto! ;-)

  • # 12
    Nicola
     scrive: 

    articolo interessante. Io sono sulla stessa linea di zephyr83, l’importante è poter fruire appieno(nel contesto delle proprie esigenze) di ciò che si acquista. Certo, dal punto di vista dei “puristi” la questione potrebbe essere più complessa, ma finchè il sistema economico mondiale funzionerà secondo il paradigma del dare(denaro)/avere(beni e servizi) credo che sarà difficile veder decollare progetti hardware-open di un certo rilievo.

    p.s.
    ad esempio ci sono progetti di ricevitori GPS open, nei quali è possibile accedere ai “registri interni”(riporto così per comodità) e poter prelevare i valori essenziali per le tecniche di Differential-GPS(DGPS), poichè nei ricevitori delle tradizionali marche(Leica ecc) sono in formato raw proprietario.

  • # 13
    zephyr83
     scrive: 

    l’idea di hardware “open source” potrebbe piacere anche a me, più che altro lo ritengo un interessantissimo sistema di sviluppo. Però cn la questione del software libero nn c’entra molto! Quando stallman si imbattè nella “famosa” stampante xerox, a lui nn interessava sapere minimamente come fosse stata progettata e realizzata……..a lui interessava solo poterla “gestire” al meglio, riprogrammarla!!
    A parte il microcode, che è un caso un po’ estremo, per il resto nn vedo tutte queste “implicazioni” fra software libero e hardware! In ogni caso il processore nn pone “limiti” alla realizzazione di software…….posso creare tutto quello che sn in grado di fare. Per me il problema è sempre quello di avere una percezione un po’ “deviata” del concetto di open source e soprattutto di software libero (come lo intende Stallman)

  • # 14
    giulio
     scrive: 

    non vorrei sbagliarmi ma la SUN ha il progetto openSPARC, quindi un progetto di hardware libero sotto GPL.
    A suo tempo mi documentai sulla CPU Niagara T1, non era affatto male per un uso server, e ora vedo su wikipedia che cè anche la 2 XD.
    Certo bisogna vedere anche quà cosa realmente è rilasciato GPL, visto che della SUN non mi fido molto…:D

  • # 15
    zephyr83
     scrive: 

    ma cn tutti i brevetti che esistono oggi sull’hardware come si può partire da zero rilasciando qualcosa sotto GPL? Secondo me è davvero impossibile!

  • # 16
    D
     scrive: 

    Ammesso che si possa rilasciare qualcosa sotto licenza libera, la gpl sarebbe proprio la licenza da evitare. Nel mondo del software sono più i danni che ha portato che gli effettivi vantaggi.

  • # 17
    zephyr83
     scrive: 

    Danni? ma quali danni? la gpl è stata il vero “successo” di linux! Torvalds stesso dice spesso che alla fine la scelta migliore è stata proprio quella della GPL (all’inizio era indeciso). Io faccio un software sotto licenza gpl e do la possibilità a tutti di riutilizzare il mio codice…..ma se qualcuno ne usufruisce allora dovrà fare lo stesso in futuro! è uno strumento che garantisce la diffusione di altro software libero (come lo intende stallman). Si è rilevata utilissima molto spesso, “costringendo” varie aziende a rilasciare a loro volta software sotto questa licenza (vedi microsoft). Oppure vedi webkit, Apple nn poteva fare diversamente che rilasciare il codice perché khtml era sotto questa licenza! In caso contrario apple avrebbe potuto tenersi tutto per se (già per oltre un anno ha lavorato in “segreto”) oppure rilasciare tutto sotto un’altra licenza che ne impediva il libero riutilizzo. Se nn ti piace questa licenza semplicemente NON usi software coperto dalla GPL! Dov’è il problema? qual è il danno? nessuno ti costringe a riutilizzare il mio software!

  • # 18
    D
     scrive: 

    La gpl ha attratto tanta gente ma non ha attratto quella giusta, quella con i soldi, quella capace di investire e far crescere il tutto. La maggior parte sono furbi e morti di fame.
    La gpl pone dei limiti d’uso che il mercato non ha accettato ed i risultati si vedono ogni volta che viene a mancare un driver fatto bene e si deve ripiegare sul buon cuore di qualcuno esterno.

  • # 19
    pleg
     scrive: 

    @Nicola

    Mi puoi dare qualche info su questi GPS open-source? Sono molto interessato, soprattutto a che livello di precisione arrivano con tecniche differenziali.

  • # 20
    Cesare Di Mauro (Autore del post)
     scrive: 

    I motivi che portano a pensare a un hardware “libero” sono gli stessi che riguardano il software.

    La possibilità di poterlo modificare, come ad esempio aggiungere nuove istruzioni a una CPU o addirittura unità di esecuzione: a nessuno affascina l’idea? :D

    Oppure viceversa: tagliare parti a una CPU per costruirne dei modelli più piccoli ed efficienti. Anche qui, altro esempio: prendo x86 e gli tolgo tutta la spazzatura accumulata nei secoli. Via istruzioni legacy, via supporto per la vecchissima ISA 8086, per quella 286, per la 386, e lascio in piedi esclusivamente quella AMD64. Un compilatore come GCC mi permetterebbe di generare codice per questa soluzione “nativa” a 64 bit…

    Altra cosa è rappresentata dai brevetti. zephyr83 afferma che per l’hardware ce ne sono troppi e non si può partire da zero, ma siamo sicuri che per il software non valga lo stesso? A me sembra che la situazione del software da questo punto di vista sia anche peggio, con un’Amazon che ha brevettato l’acquisto con un solo click (se non ricordo male).

    Infine l’accessibilità, dove Santiago (che saluto :) ha portato l’esempio della GPLv2 e di come si è arrivati alla v3. Io ne porto un altro: se l’hardware NON permette al software di sfruttarlo appieno, non è forse una limitazione? Non c’è GPLv3 che tenga di fronte a un hardware blindato e impenetrabile.

    Qui rispondo nuovamente a zephyr83: se alla xerox avessero continuato a rilasciare i sorgenti, ma nei successi modelli ne avessero impedito l’accesso a determinate funzionalità dell’hardware, non dico che non sarebbe servito a nulla, ma avresti avuto in mano un prodotto “castrato”.

    Quindi hardware “libero” significa anche la possibilità di poterlo sfruttare a proprio piacimento.

    Ecco perché secondo me ha senso cominciare a parlare di software libero che gira su hardware libero. Io penso che le finalità, la filosofia, lo stile di vita che ci sta dietro siano le stesse.

    Il problema è che al momento c’è un grossissimo scoglio, di cui avevo accennato anche nell’articolo: il portafogli. E ringrazio pleg per aver messo in chiaro come stanno le cose quando si parla di costi di produzione di soluzioni hardware.

  • # 21
    Nicola
     scrive: 

    @pleg

    ciao, mi sono occupato di questi sistemi circa 3-4 anni fa. Avevo trovato un sito in cui si vendevano ricevitori GPS completamente “liberi”. Purtroppo nn riesco più a ritrovare il link.

    Da una veloce ricerca su google ho trovato il seguente link che potrebbe esserti utile

    http://gps.psas.pdx.edu/

    poi c’è altro materiale

    http://www.novatel.com/support/faqs.htm

    http://www.trak.com/files/products/9000S.pdf

    http://facility.unavco.org/software/download_transfer/trimble/netrs_111A_UserGuide.pdf

    http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F10978%2F34615%2F01650711.pdf%3Farnumber%3D1650711&authDecision=-203

    http://www.insidegnss.com/auto/0506%20RTK.pdf

    a questo link un apparecchio con dati raw disponibili

    http://www.hemispheregps.com/Portals/2/literature/Eclipse_Data_Sheet_WEB_0609%20.pdf

    ma credo in formato proprietario(per farti un idea, qualora nn ce l’avessi già)

    se mi mandi un tuo contatto a questa mail nfratea at libero it

    posso inviarti tutto il materiale che avevo raccolto all’epoca, se sei interessato

  • # 22
    Nicola
     scrive: 

    @pleg

    ti avevo risposto ma forse il mio commento è in coda di moderazione(troppi link magari XD)

    mi sono occupato di questi sistemi circa 3-4 anni fa, quindi non sono aggiornatissimo.

    se mi contatti a questa mail

    nfratea at libero it

    posso mandarti tutto il materiale che avevo raccolto

  • # 23
    Cesare Di Mauro (Autore del post)
     scrive: 

    Ho strappato il commento dalle fauci dell’antispam. :D

    Mi sono permesso soltanto di editare la tua mail, sostituendola con quella che hai scritto qui sopra, in modo da evitare di darla in pasto ai bot degli spammer.

  • # 24
    zephyr83
     scrive: 

    @D

    Nn mi pare, anzi si è dimostrato un ottimo strumenti (vedi i driver microsoft o l’instalalzione di seven tramite “chiavetta usb”, oppure webkit).

    @Cesare Di Mauro

    Fai sempre l’elempio della CPU ma è un po’ particolare e cmq nn ti impedisce di realizzare il software che vuoi! Stallman ha sempre parlato di software! tra l’altro proprio grazie al compilatore puoi fare un po’ come vuoi! certamente sarebbe interessantissimo poter mettere le mani a piacimento sul microcode (ma in parte nn si riesce a fare……ovviamente chi ne ha le capacità?) ma nn è una cosa strettamente legata alla “battaglia” che fa la FSF (e il mondo open souce) sul software.
    Riguado i brevetti software hai ragione ma valgono solo in america :D ed è per questo che spero nn “arrivino” anche da noi! se deve essere un sistema brevetti come quello americano allora preferisco nn averlo

  • # 25
    bLax
     scrive: 

    mah, credo che un po di open farebbe bene al settore, credo sopratutto che sia ora di rivedere, sopratutto in america, la questione dei brevetti (ancora mi sfugge perchè si possono brevettare idee e non solo prodotti (hw e soft) finiti o almeno prototipati…mah)

    per ora il mi sogno è vedere un incremento dei bios open, magari di tipo efi, che è il nodo principale del problema e sgraverebbe in teoria anche il kernel di inutili orpelli per i driver….

    per ora la situazione è molto stagnante ed effettivamente rimane un sogno pensare di avere anche solo una Vga open, visto il prezzo/prestazioni…..è troppo una nicchia della nicchia…

    @D
    la gpl ha tirato su la gente che poteva tirare su, in misura proporzionale alla bontà del progetto (vedi khtml), questo non giustifica il fatto che c’è molta ignoranza in giro e anche i tecnici del settore spesso osteggiano l’open source, pensando di perdere il lavoro….
    certamente la gpl non avvantaggia l’investitore nei confronti della concorrenza, la paura di adottare questi modelli è dettata dalla paura di non essere “i migliori” ovvero, se invento un gioco nuovo dove solo io posso giocare, sarò per forza il migliore, se invece giochiamo insieme devo mettermi a confronto con gli altri, e vincerà solo chi svilupperà meglio quel progetto….

  • # 26
    Cesare Di Mauro (Autore del post)
     scrive: 

    @zephyr83: nel mio commento di risposta se ci fai caso non ho parlato di microcodice, perché è un caso veramente particolare (anche se potrebbe avere la sua utilità poterlo manipolare, come ad esempio permetteva la CPU del Nintendo 64 e che qualche sviluppatore ha sfruttato).

    Ho fatto anche l’esempio della stampante, ma posso farti anche quello di una GPU, se la CPU è troppo inflazionata. Prendiamo la GPU della PS3 lasciando per il momento da parte il discorso del recente hack: ti fa piacere sapere di poterla utilizzare esclusivamente in modalità framebuffer con le distro Linux che si possono installare?

    E’ giusto un esempio, ma penso serva per rendere chiaro il concetto.

    Quanto ai brevetti, vero che in Europa non ci sono, ma in tanti altri paesi al mondo sì, ed è difficile realizzare software e hardware senza tenerne conto.

    @bLax: per quanto riguarda il brevetto di idee se ne potrebbe parlare all’infinito (e probabilmente prima o poi un articolo sull’argomento arriverà :D).

    Ti dico velocemente quello che penso. Personalmente preferisco altri meccanismi di tutela della ricerca (nel campo software io vedo molto meglio l’uso di sistemi trusted) piuttosto che i brevetti. Ma se mancano questi mezzi, al momento mi sembra l’unica strada che offra una protezione.

  • # 27
    zephyr83
     scrive: 

    @Cesare Di Mauro

    Per il caso della PS3 hai ragione, ma quella è una limitazione voluta….senza limitazioni basterebbero dei driver open per risolvere il problema!

  • # 28
    Nicola
     scrive: 

    grazie cesare, ci avevo pensato solo dopo alla “censura” della mail XDD

    cmq è interessante il discorso dell’estendiblità “libera” di architetture hardware, ma come dicevo prima(e dici anche tu) si scontra con la realtà delle cose. Non è conveniente o cmq è economicamente difficile da sostenere. Magari in futuro produrre hardware sarà talmente economico da permettere il proliferare di questa “ideologia”, chissà……:-)

  • # 29
    D
     scrive: 

    “La possibilità di poterlo modificare, come ad esempio aggiungere nuove istruzioni a una CPU o addirittura unità di esecuzione: a nessuno affascina l’idea? :D

    Oppure viceversa: tagliare parti a una CPU per costruirne dei modelli più piccoli ed efficienti. Anche qui, altro esempio: prendo x86 e gli tolgo tutta la spazzatura accumulata nei secoli. Via istruzioni legacy, via supporto per la vecchissima ISA 8086, per quella 286, per la 386, e lascio in piedi esclusivamente quella AMD64. Un compilatore come GCC mi permetterebbe di generare codice per questa soluzione “nativa” a 64 bit…”

    Comprati una FPGA e divertiti :) ma se poi pensi pure di guadagnarci qualcosa devi trovare chi è disposto a pagare il giusto per un simile lavoro e visto come girano le cose in generale non so quanto puoi andare lontano.

    Come già detto, strumenti e materiali per produrre queste soluzioni costano un fottio di soldi che nel mondo open source semplicemente non ci sono (o meglio qualcosa c’è ma è riservato per soluzioni di ben altro livello rispetto alla gpu free). Anche le persone dotate delle capacità necessarie per affrontare un simile lavoro sono complessivamente poche ed ho seri dubbi che siano disposte a lavorare praticamente a gratis (come penserebbe di mantenerli una hw company open source ? dice loro: “questo mese te lo posso pagare, il prossimo si vedrà quante assistenze faremo ?” come si dovrebbe mantenere tutta la baracca ? introducendo bug nelle cpu e fornendo assistenze a colpi di microcodice ? ). Il fatto che la maggior parte delle cpu homebrew che si trova in giro sono poco più che a 8 bit è motivato dal fatto che vengono realizzate a colpi di porte logiche o che semplicemente non c’è particolare interesse ad andare oltre al puro e semplice hobby ?

  • # 30
    Daniele
     scrive: 

    Volevo segnalare questo bell’articolo: http://www.wired.it/magazine/archivio/2009/01/storie/hai-un-idea-geniale-fai-come-mr-arduino.aspx

    Secondo me chi è tanto sicuro che quella dell’hardware libero sia un’idea stupida ha la mente un po’ ristretta da qualche pregiudizio. Anche perchè non di soli desktop è fatto il mondo dell’hardware. Ovvio che anch’io se dovessi decidere se prendere una HD5950 o una VGA libera (ne esistono, ne esistono) per il mio desktop gaming sceglierei la prima che fa più FPS con Crysis. Però l’hw libero e aperto ha i suoi vantaggi. :)

  • # 31
    zephyr83
     scrive: 

    @Daniele

    Quella dell’hardware open penso che nessuno abbia inteso dire che sia stupida ma che semplicemente è impraticabile o cmq molto difficile da realizzare! Poi come ha già scritto qualcuno Arduino usa cmq un controller proprietario quindi nn è totalmente totalmente open source (dove sicuramente ci si riferisce al software e al progetto in se, nn a tutti i componenti hardware). Cmq i brevetti di per se nn impediscono la realizzazione di progetti open source (software o hardware), ma solo di progetti liberi (come li intende stallman). Puoi sapere come funziona una cosa ma nn puoi modificarla (o almeno, nn redistribuirla) quindi alla fine per lo sviluppo servirebbe a poco (a meno di nn pagare per utilizzare i brevetti). Io penso che l’open source può essere una grande risorsa anche in campo hardware (nn solo elettronico/informatico, in qualsiasi campo), può permettere lo sviluppo cn un minor dispendio di risorse se ci lavorano in tanti! per me sarebbe perfetto in campo farmaceutico. Però è una strada difficile, bisognerebbe cambiare troppo mentalità

  • # 32
    pleg
     scrive: 

    @ Nicola

    Grazie! Studiero’ :)
    Ma il primo link sembra portare ad un progetto un po’ morto (parla del 2006, ultimo aggiornamento nel 2008).

  • # 33
    pleg
     scrive: 

    @ bLax

    Si brevettano idee perche’ c’e’ gente che quelle produce :)
    Prendi un ricercatore, il cui lavoro e’ appunto quello di produrre idee (e non implementarle in prodotti finiti). Mi sembra giusto che possa proteggere il proprio lavoro, no?

  • # 34
    pleg
     scrive: 

    @ Daniele
    Un conto e’ una schedina con su un micro e qualche altro componente discreto di contorno, ma l’articolo parlava di ASIC grossi, e per quelli la filosofia open non funziona: non basta gente in gamba che condivide un’idea, serve una barca di denaro immane (miliardi di $), infrastrutture immense, eccetera.

  • # 35
    pleg
     scrive: 

    @zephyr83

    > può permettere lo sviluppo cn un minor dispendio di risorse se ci lavorano in tanti

    Direi il contrario: se ci lavorano in tanti, senza un capo/dittatore che decide la linea da seguire una per tutti, le energie si disperdono… c’e’ molto piu’ lavoro, ma molta meno efficienza :)

    Sul fatto invece che piu’ persone => piu’ idee => piu’ tentativi => piu’ probabilita’ di produrre qualcosa di buono, sono d’accordo :)

    > per me sarebbe perfetto in campo farmaceutico

    Che cosa intendi?

  • # 36
    pleg
     scrive: 

    PS: come mai nessuno ha ancora fatto partire un bel flame su “hardware libero e trusted computing”?
    :D

  • # 37
    Cesare Di Mauro (Autore del post)
     scrive: 

    Perché è previsto un articolo sull’argomento, per cui i flame saranno soltanto rimandati. :D

    @zephyr83: non basta rimuovere le limitazioni. Io posso anche fornirti una GPU senza limitazioni, ma… senza documentazione per poterla sfruttare. :D Oppure senza sufficiente documentazione sugli internal per poterla sfruttare al meglio.

    Tornando alle CPU e per fare un altro esempio, io posso anche fornirti una descrizione dettagliata dell’ISA: numero di registri, modalità d’indirizzamento, struttura della page table, ecc. ecc. Poi però non ti dico latenza e throughput, quante unità d’esecuzione ci sono, quante porte hanno, ecc. ecc.
    Il risultato è che tu puoi tranquillamente scrivere programmi per questa CPU, ma senza ottenere il “massimo” delle prestazioni.

    Per quanto riguarda i brevetti, questi influiscono e pongono limiti tanto all’hardware che al software. Altrimenti Stallman non se ne lamenterebbe, no? :)

    Comunque faccio presente che finora ho parlato di hardware (e software) libero, non soltanto “aperto”. ;)

  • # 38
    lucusta
     scrive: 

    HW libero si puo’ ottenere solo per piccole cose, in cui l’interesse economico si concretizza nella produzione in grandi numeri e non nella progettazione.
    non so’… una piccola CPU per un controller, in cui il progetto e’ open, la licenza e’ GLP, in cui anche la tecnologia di produzione potrebbe essere open (ma chi ha delle capacita’ del genere le darebbe in mano a chiunque?), e in cui il guadagno della fonderia e’ appunto la costruzione e la distribuzione.
    d’altronde anche con il software libero c’e’ un intrinseco guadagno per soggetti che non si sono adoperati e hanno tecnologie proprietarie:
    per trasferire il kernel di linux serve una comunicazione tra’ 2 PC, e se io lo voglio mettere dal PC1 al PC2 o uso un collegamento diretto, o un supporto o internet, quindi tutti coloro che ti danno la possibilita’ di accedere all’informazione open tramite qualsiasi mezzo ne hanno un guadagno…. non puoi mica battere riga per riga.

    credo che invece sia e rimanga il software ad essere la chiave di volta:
    l’emulazione software puo’ creare una CPU, piu’ lenta, ma comunque funzionale; una GPU in raytracing, piu’ lenta, ma funzionale…
    nel senso che si ha bisogno non di un HW open, ma di un HW adatto, capace di poter essere sfruttato nel miglior modo.
    c’e’ chi parlava dei tester per HW, bene… un domani quell’attrezzatura potrebbe avere un costo inferiore, competitivo, ed a quel punto creare HW emulato diventerebbe accessibile e senza limitazioni, ed un HW emulato e’ comunque un software.

    non sara’ un lavoro di fino, ma darebbe la possibilita’ di ottenere un sistema puro, pur sorretto da un sistema “sporco”.

    si pensi al mondo dei netbook e agli ARM:
    non sfonderanno mai il mercato, a mio avviso, in quanto sono legati all’uso di un OS poco conosciuto dalla massa (linux, con tutti i problemi che si porta dietro proprio per la sua estrema diversita’ e varieta’); se esistesse un buon emulatore ARM>X86 su un OS linux base, sfrutterebbe windows per veicolare la propria diffusione nel pubblico, che non si accorgerebbe nemmeno della differenza.

    come ho gia detto, a mio parere, non ci vuole HW open (e’ pretendere troppo), ma UNO, anche uno solo, adatto allo scopo.

  • # 39
    zephyr83
     scrive: 

    @pleg

    Mi riferivo a un minor costo per la singola azienda che nn deve accollarsi tutte le spese…nn al costo totale finale! cmq dipende da progetto a progetto! sicuramente componenti che richiedono vari prototipi (tipo macchine o barche per fare un esempio) sicuramente il costo è difficile da contenere! ma se si “scambiano” idee e principi, la cosa può cambiare.
    In campo farmaceutico per me è possibilissimo, collaborazione fra i vari ricercatori. però nn so bene i numeri che girano attorno a queste cose (sia quelli spesi e che quelli incassati dopo) quindi potrebbe anche darsi che mi sbaglio completamente!

  • # 40
    zephyr83
     scrive: 

    @Cesare Di Mauro

    Si ovvio, la documentazione è importante e basterebbe quella per realizzare driver che permettono di controllare l’hardware senza problemi (ovviamente si deve essere anche in grado). Poter metter mano al “firmware” per ottenere prestazioni “migliori” è sicuramente interessante ma la trovo una cosa più riguardante sempre l’hardware. è si una bella “idea” ma nn ha molto a che vedere cn il pensiero di stallman riguardo al software libero, cioè nn ci vedo incoerenza!

  • # 41
    Cesare Di Mauro (Autore del post)
     scrive: 

    Quando parlo di coerenza o “purezza” che dir si voglia, mi riferisco alla filosofia che ci sta dietro, e che a mio avviso vale tanto per il software quanto per l’hardware.

    Il principio è lo stesso.

    Il problema, come dicevo nell’articolo ed è poi emerso meglio nei commenti, è che ciò ha dei costi estremamente elevati.

  • # 42
    zephyr83
     scrive: 

    Io la vedo diversamente! perché se parliamo di “principi” allora il discorso vale per QUALSIASI cosa!! Il movimento per il software libero parte da altri presupposti e nn è legato all’hardware! Bisogna considerare anche il contesto “storico” in cui è nato. Che poi si voglia estendere la cosa anche all’hardware si può fare ma è ben diverso il sistema di sviluppo e anche lo “scopo”.

  • # 43
    Nicola
     scrive: 

    @pleg

    mi dispiace, ma l’avevo detto io che non ero molto aggiornato :-(. Mi sono occupato di queste cose nel 2007, quindi per l’epoca il progetto era vivo :-). Purtroppo non riesco a trovare l’altro sito, mi ricordo che vendevano proprio ricevitori completamente accessibili.

  • # 44
    zephyr83
     scrive: 

    @Locusta

    Secondo me nn è una soluzione che avrà mai successo perché quello di cui parli tu già si può fare ma costa un casino in termini di risorse! e nn puoi emulare una piattaforma più prestante (x86) cn una più scarsa (arm). Già si fa fatica a fare il contrario!! L’hardware è molto importante e se può andare bene “emulare” per alcuni ambiti, nn è certo la soluzione definitiva per tutto! Voglio vedere a fare del rendering tramite hardware emulato! molto meglio sperare di vedere il porting di determinati software su altri tipi di hardware!
    Cmq io ARM la vedo bene, grazie a sistemi come Android, maemo e anche cn apple (l’iPad ha una cpu arm). Se poi si decidesse un giorno anche microsoft le cose potrebbero cambiare molto!!

  • # 45
    Nicola
     scrive: 

    @zephyr83

    windows enbedded CE ci gira su ARM

  • # 46
    zephyr83
     scrive: 

    Lo so che windows CE (da cui deriva windows mobile) gira su arm ma è decisamente limitato (allo stato attuale) per competere cn netbook/smartbook arm cn linux…..il vantaggio di linux vero e proprio è quello di potere usare le stesse applicazioni di windows per pc……se devo usare altre applicazioni decisamente meglio quelle che si trovano per linux (che poi molte sn il porting di quelle desktop)

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.