Logo Blogo

Apple non rilascia sorgenti LGPL

Pubblicato: 07 mag 2011 da Lpt on fire!


Tempo fa abbiamo discusso della politica di Google di non rilasciare i sorgenti di Honeycomb, Android 3.0, con un atteggiamento che ha dato fastidio a molti nonostante la licenza del software, BSD, gli consenta di comportarsi in questo modo.

Apple però è riuscita a fare “meglio”. Ha smesso di distribuire i sorgenti di WebKit incluso in iOS 4.3.0 e per chi non ne fosse a conoscenza si tratta di un software sotto licenza LGPL. Sono passate 8 settimane ed ancora non c’è stato alcun rilascio nonostante sia fra gli obblighi della licenza. Purtroppo, però, non si tratta di una prima volta per l’azienda di Cupertino che ha impiegato 6 mesi per rilasciare i sorgenti sotto (L)GPL relativo ad alcuni software presenti in iOS 4.1.

La scelta di Apple non si può certamente condonare semplicemente come una svista, perché ripetuta nel tempo e perché proviene da un’azienda che sa benissimo come funziona la GPL e tutte le sue varianti. Ovviamente non si può accettare una così plateale violazione della licenza LGPL.

Probabilmente prima o poi Apple si troverà a fare i conti con qualche denuncia per violazione della GPL e sarà interessante vedere fino a che livello l’azienda sarà disposta a far salire lo scontro.

Via | OsNews

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
20 commenti

Commenti dei lettori

(Inserisci un commento - Nascondi commenti anonimi)
  • Conad il Rabarbaro

    07 mag 2011 - 14:18 - #1
    0 punti
    Up Down

    Certo che, queste aziende quando devono avere quello che dicono che gli spetta fanno cause a destra e a manca. Quando è ora di pagare il dovuto invece…

  • Michele Renda

    07 mag 2011 - 14:39 - #2
    0 punti
    Up Down

    > Tempo fa abbiamo discusso della politica di Google di non rilasciare i sorgenti di Honeycomb, Android 3.0, con un atteggiamento che ha dato fastidio a molti nonostante la licenza del software, BSD, gli consenta di comportarsi in questo modo

    Sbagliato: non e’ la licenza BSD che gli permette di comportarsi in questo modo. E’ il fatto che il software e’ suo, quindi puo’ decidere se rispettare o no la licenza che ha scelto.
    Esempio: se io creo un software GPL3 e distribuisco la versione 1.0 e 2.0, posso decidere che la 3.0 sia proprietaria. Perche io sono il titolare dei diritti su quel software.

    A dover di cronoca, cmq Google ha deciso solo di ritardare il rilascio dei sorgenti, non di rilasciarlo come software propetario.

  • PippoBaudo2000

    07 mag 2011 - 15:59 - #3
    0 punti
    Up Down

    Non è vero: deve comunque rispettare la licenza che ha scelto, sebbene il software sia suo.

    Potrà cambiare la licenza dalla versione 3.0 ma lo stesso software (e relativo codice) fino alla 2.0 è soggetto (e lo sarà per sempre) alla stessa licenza inziale.

    E da qui che partono i fork.. altrimenti “privatizzando” la licenza dalla vers.3.0 li potrei impedire, cosa fortunatamente impossibile

  • 4javier

    07 mag 2011 - 16:49 - #4
    -1 punto
    Up Down

    potrà cambiare la licenza dalla versione 3.0 se il codice verrà riscritto di sana pianta. I componenti che utilizzano parti di software rilasciati sotto GPL, dovranno essere rilasciati sotto GPL. Infatti google *non può* rilasciare android senza pubblicarne i sorgenti, e non ha alcuna intenzione di farlo. Semplicemente non rilascerà i sorgenti durante lo sviluppo di android, cosa che può benissimo fare. La gpl obbliga a rilasciare i sorgenti in concomitanza con la commercializzazione del binario.

  • PatrisX

    07 mag 2011 - 18:08 - #5
    0 punti
    Up Down

    @PippoBaudo2000
    Non so come stiano le cose effettivamente, ma renda ha scritto chiaramente che il cambio di licenza ci sarebbe per la versione 3
    “Esempio: se io creo un software GPL3 e distribuisco la versione 1.0 e 2.0, posso decidere che la 3.0 sia proprietaria. Perche io sono il titolare dei diritti su quel software.”
    prima dici che ha sbagliato e poi scrivi la medesima cosa, no?

  • 4javier

    07 mag 2011 - 18:12 - #6
    0 punti
    Up Down

    ribadendo che se fosse GPL, non è che se la chiamassi versione 3 potrei chiuderla…il discorso non si pone, in quanto sono andato a documentarmi, ed android non è GPL ma sotto licenza Apache, che mi pare di capire che consenta la chiusura di codice derivato, obbligando solo a specificare l’origine del codice. Non capisco come si siano regolati però per la parte di stack che deriva dal kernel linux, quella deve essere rimasta per forza sotto gpl.

  • PippoBaudo2000

    07 mag 2011 - 21:21 - #7
    0 punti
    Up Down

    @PatrisX
    Mi riferivo alla frase “E’ il fatto che il software e’ suo, quindi puo’ decidere se rispettare o no la licenza che ha scelto.”

    Non sono d’accordo: se i sorgenti sono soggetti ad una licenza il “proprietario dei diritti” (o come si definisce) non può andare in deroga alla licenza che lui stesso ha scelto.

  • Profilo di manang

    manang

    07 mag 2011 - 22:00 - #8
    0 punti
    Up Down

    ma la gpl prevede i tempi di rilascio e le modalità?posso rilasciarlo dopo un anno scolpito sulla pietra?

  • Michele Renda

    07 mag 2011 - 22:56 - #9
    0 punti
    Up Down

    Rendo piu chiaro il mio esempio:
    Per esempio posso rilasciare 1.0,2.0,2.1 come GPL3 (ma vale per qualsiasi licenza). Dalla 2.1.1 posso rendere il tutto proprietario. Nessuno mi richiede un cambio di major version per cambiare la licenza.
    Inoltre nessuno mi puo’ negare il diritto, se sono il proprietario dei diritti di un software, di rilasciare dello stesso software due licenze, uno open e uno closed (mysql aveva questa possibilita).

    Saresti vincolato dalla tua licenza soltanto nel caso in cui il tuo software contenga contributi di terzi, per i quali non ti sei fatto rilasciare i diritti completi (per esempio MySql faceva firmare un documento dove trasferivi i diritti delle tue patch a MySql AB, in maniera da non aver problemi per la loro versione commerciale).

    L’unico vincolo per Google, e’ che se hanno rilasciato android 2.3 con una licenza, non possono poi ritirare quella licenza. Per le versioni successive (anche 2.3.1) possono fare quel che vogliono, perche la palla e la loro :)

  • Profilo di sherpya

    sherpya

    08 mag 2011 - 04:25 - #10
    0 punti
    Up Down

    il kernel rimane gpl, penso su git di android ci sia gia’ il kernel che monta la 3.0 (il .38 c’e')
    per il resto android usa userland che non sono loro quindi se vuoi le recuperi direttamente e la parte loro che possono decidere anche di sana pianta di cambiare licenza (dubito)

    per apple vale lo stesso discorso tranne per il fatto che webkit non penso sia tutto loro (vedi kde) quindi non possono dare i binari nuovi senza dare i sorgenti nuovi

  • 4javier

    08 mag 2011 - 13:32 - #11
    0 punti
    Up Down

    @Michele Renda
    secondo me ti sbagli (almeno per la gpl)
    Anche se sei tu l’autore del codice, una volta che lo hai rilasciato sotto gpl, non puoi più richiederlo. La gpl non consente che un prodotto derivato venga rilasciato sotto una licenza più restrittiva di quella dell’originale (gpl). Che tu sia l’autore o meno, non puoi chiudere un prodotto nel quale hai incluso codice gpl.

  • Michele Renda

    08 mag 2011 - 18:29 - #12
    0 punti
    Up Down

    Se rilascio un codice con GPL, non posso ritirarlo indietro, vuol dire che sono obbligato su richiesta a rilasciare i sorgenti del binario rilasciato.
    Ma se voglio fare una modifica e rilasciarlo con licenza proprietaria, se solo l’unico titolare dei diritti, posso farlo. Non puo’ fare una cosa del genere un terzo con il mio codice, perche per lui la licenza che io ho scelto per il mio codice, e’ vincolante.

    Questa pratica e’ simile (ma non identico) al dual licensing: (sorgente wikipedia http://it.wikipedia.org/wiki/Licenza_open_source)

    > In generale le licenze open source non sono a priori reciprocamente compatibili. Il titolare dei diritti d’autore può comunque distribuire il proprio codice con diverse licenze, sia open source che commerciali. Questo vale sia per l’iniziatore del progetto che per gli autori che contribuiscono al progetto, ciascuno per il proprio codice. Questa possibilità, detta pure dual-licensing o dual-system viene effettivamente praticata, p.es. dalla Sun per la propria Suite Star Office, ma anche da Larry Wall per l’interprete Perl.

  • gerlos

    08 mag 2011 - 19:14 - #13
    0 punti
    Up Down

    Intanto, non sono mica tanto sicuro che Apple sia “proprietaria” di Webkit: è un progetto derivato da KHTML, il motore del browser di KDE, che originariamente era rilasciato con licenza GPL, mi pare.
    Sicuramente oggi su Webkit ci mettono le mani in tanti, e non credo che Apple possa arrogarsi più diritti di tanto: penso a Google, che lo usa per Chrome, e alle librerire Qt (al momento di proprietà di Nokia), che lo usano per il loro componente browser, usate in un’infinità di programmi più e meno noti.

  • Michele Renda

    09 mag 2011 - 08:58 - #14
    0 punti
    Up Down

    Non ho mai detto che Apple sia la titolare dei ditti su tutto il codice di WebKit.
    Io parlo soltanto riguardo il caso Android, dove google e’ l’unica titolare dei diritti e quindi si trova con una maggiore liberta di azione.

    Purtroppo sulle licenze open source c’e’ sempre grossa disinformazione, specialmente nel campo aziendale.

    Per questo motivo molte ditte perdono le opportunita fornite da una licenza come la GPL, a causa di una generale non conoscenza della materia.

  • 4javier

    09 mag 2011 - 12:45 - #15
    0 punti
    Up Down

    @Michele Renda
    sulla possibilità da parte del detentore del copyright di chiudere un progetto rilasciato sotto GPL, non mi sento di contraddirti in quanto non sono un esperto di licenze, ma cercando di documentarmi meglio (fermo restando che ricordo che la licenza android è Apache) sulla GPL ne ho ricavato solo un gran mal di testa. Il punto sul quale non sono sicuro è: se una versione del programma NON è una riscrittura “from scratch”, ma una evoluzione del codice precedentemente rilasciato sotto GPL (cioè un derivato), è consentito al detentore del copyright chiudere tale codice? Prima dei tuoi commenti ero convinto di no, ma ora che hai insinuato il dubbio, non sono riuscito a levarmelo neppure cercando.

  • Profilo di guiodic

    guiodic

    09 mag 2011 - 14:54 - #16
    0 punti
    Up Down

    è consentito al detentore del copyright chiudere tale codice? Se intendi quello della versione derivata (nel nostro caso Webkit, derivato di khtml) la risposta è no, punto.

  • 4javier

    09 mag 2011 - 15:37 - #17
    0 punti
    Up Down

    aspè…nel caso di webkit però il detentore del copyright sarebbe apple, ma basato su codice il cui copyright appartiene ad altri (gli autori di khtml) quindi ci mancherebbe pure che fosse libero di chiudere codice scritto non solo da lui ma anche da altri…il dubbio è nel caso di codice scritto solo dal detentore del copyright. Se scrivo codice, lo pubblico sotto GPL, nessuno vi contribuisce, posso io rilasciare la versione successiva (evoluzione, non riscrittura) sotto una licenza non compatibile con GPL?

  • Michele Renda

    09 mag 2011 - 16:00 - #18
    0 punti
    Up Down

    @4javier

    Ciao 4javier.

    Apple non puo’ chiudere Webkit, in quanto Webkit viene da un fork di KHtml. I diritti di KHtml sono del gruppo che ha scritto KHtml (alcuni pezzi sono GPL altri BSD). Se apple vuole chiudere WebKit non puo’ farlo, perche i titolari di KHtml potrebbero chiamarli in giudizio per violazione di licenza.

    Il caso Android e’ diverso: ammettiamo per un attimo che Android fosse rilasciato con GPL (non e’ vero, Android usa la licenza Apache, molto meno vincolante). Android in quanto e’ titolare dei diritti sul suo software puo decidere in ogni momento di chiudere il suo prodotto.

    Per essere precisi: una volta che ha rilasciato la versione 2.3 come GPL, non puo’ rimangiarsi la licenza (la specifica versione sotto GPL rimarra utilizzabile da tutti per sempre), ma puo’ decidere di rendere proprietaria la versione 2.3.1 o, in casi limiti, anche la stessa versione 2.3 (in questo caso si parla piu giustamente di Dual Licensing, cioe’ avere un codice con doppia licenza dove tu puoi scegliere la licenza che preferisci).

    So che le licenze sono spesso un po difficili da capire, ma una volta che le capisci, ti rendi conto che sono uno strumento molto potente e spesso sottovalutato.

  • melomane

    09 mag 2011 - 18:58 - #19
    0 punti
    Up Down

    A onor del vero, WebKit è BSD e ad essere LGPL son due suoi componenti: WebCore e JavaScriptCore.

    Certo senza quei due componenti un browser non ce lo fai ma d’altra parte si parla di licenze, la pignoleria mi pare d’obbligo.

    Poi, leggo qui espressioni come “distribuire i sorgenti”: forse si sta valutando il comportamento di Apple sulla base di aspettative etiche che non necessariamente corrispondono a quanto effettivamente imposto dalla licenza stessa.

    Se non sbaglio con la LGPL in versione 2 (cioè nella versione usata dai due componenti) è sufficiente accompagnare il prodotto compilato con una “offerta scritta” di fornire il codice sorgente a chi ne facesse richiesta scritta.

    Offerta che si trova, sui dispositivi iOS, là dove uno può trovare tutte le info di natura legale (Impostazioni > Generali > Copyright).

    Se questa offerta è sufficiente, allora si può parlare di “plateali violazioni” solo se se Apple ignora le richieste. È così?

  • Michele Renda

    09 mag 2011 - 21:46 - #20
    0 punti
    Up Down

    Allora: si, la licenza BSD e’ una licenza che ti permette di non distribuire le modifiche che apporti a un programma coperto da tale licenza.
    La licenza LGPL pero’ ti obbliga a ridistribuire tali modifiche.

    Questa licenza (LGPL) e’ stata creata per le librerie, e si differenzia dalla GPL, per il seguente motivo:

    Se creo un programma in C++ (esempio), ed utilizzo una libreria esterna (una classica dll di windows) coperta da licenza GPL, tutto il mio programma diventa automaticamente GPL, in quanto il link statico fa automaticamente diventare la libreria come parte del mio programma (senza la quale non potrebbe funzionare).

    Se la libreria e’ coperta da LGPL, allora, se il mio programma la usa, non diventa automaticamente LGPL, ma e’ libero di avere la licenza che vuole.
    Questo non toglie, nel caso modificassi la libreria, l’obbligo di dover distribuire le modifiche apportate sotto la stessa licenza. Nessun obbligo se mi limito ad utilizzarla senza apportare modifiche.

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento