[Gfoss] Perche' MySQL e' male per il software libero

Da un messaggio della Geographic Free and Open Source Software -
Italian mailing list, finalmente una spiegazione che sono riuscito a
capire riguardante le licenze duali...

http://flameeyes.is-a-geek.org/articoli/mysqlsevil.pdf

Saranno in festa gli elefanti :slight_smile:

Ciao
Andrea

ciao lista,
per i guru di postgresql:

da un pò di tempo ottengo una serie di errori ripetuti tipo questo:

[ERROR] DBConnection 'ERROR: Cannot insert a duplicate key into unique index director_host_ukey_ip ' in 'UPDATE director_host SET active = 'True', ip = '192.168.30.88' WHERE hostname='A208-PC12''

il postgresql è la versione 7.3.4-11 (un pò vecchiotta).

Ho provato il vacuum, a fare il restart del postgresql, a riavviare vari daemon ma niente.

Ho provato a cercare in rete, sembra che l'errore sia dovuto alla versione.
Qualcuno conferma o ha idee in merito?

Grazie in anticipo

Roberto De Colle
GNU/Linux user
Bressanone

De Colle, Roberto schrieb:

ciao lista,
per i guru di postgresql:

da un pò di tempo ottengo una serie di errori ripetuti tipo questo:

[ERROR] DBConnection 'ERROR: Cannot insert a duplicate key into unique index director_host_ukey_ip ' in 'UPDATE director_host SET active = 'True', ip = '192.168.30.88' WHERE hostname='A208-PC12''

Scusa mal l'Errore dice che stai provando a inserire / update nel tuo
caso un valore che ce gia (dato che hai un unique key).

Forse ho anche solo capito male... puoi mandare lo schema della tabella?

Saluti
Marco

ciao,
grazie intanto
ecco lo schema della tabella:

director=# \d director_host
                             Table "public.director_host"
   Column | Type | Modifiers

Da un messaggio della Geographic Free and Open Source Software -
Italian mailing list, finalmente una spiegazione che sono riuscito a
capire riguardante le licenze duali...

http://flameeyes.is-a-geek.org/articoli/mysqlsevil.pdf

Il suo ragionamento sta ben in piedi ma le soluzioni no.

Se contribuisci una patch a PostgreSQL passi anche il
copyright alla PostgreSQL global development group e,
essendo PostgreSQL sotto licenza BSD, ognuno puo` farne
un derivato non-libero.

L'unica differenza e` che questo derivato non-libero
puo` farlo gratis, mentre nel caso di MySQL devi pagare
MySQL AB.

Fatto sta che da un punto di vista Stallmaniano
MySQL AB abusa della licenza GPL, questo si`.

Saranno in festa gli elefanti :slight_smile:

Non hanno tempo, sono impegnato ad aiutare Roberto de Colle :wink:

Bye,
Chris.

ciao lista,
per i guru di postgresql:

da un pò di tempo ottengo una serie di errori ripetuti tipo questo:

[ERROR] DBConnection 'ERROR: Cannot insert a duplicate key into unique index director_host_ukey_ip ' in 'UPDATE director_host SET active = 'True', ip = '192.168.30.88' WHERE hostname='A208-PC12''

Traduco:

La tabella "director_host" contiene una restrizione (voluta!) per cui
una certa combinazioni di campi deve apparire solo un unica volta in
tutta la tabella.

Cercando di aggiornare i campi "active" e "ip" per il record
hostname='A208-PC12' ai valori dati, questa restrizione verrebbe
violata e quindi l'aggiornamento non viene eseguito.

In poche parole, probabilmente stai cercando di dare lo
stesso IP due volte o qualcosa del genere.

il postgresql è la versione 7.3.4-11 (un pò vecchiotta).

Si`, in effetti e` un po` vecchiotta.

Ho provato il vacuum, a fare il restart del postgresql, a riavviare vari daemon ma niente.

Spero bene :slight_smile:
Questa restrizione e voluta a proteggere la consistenza dei tuoi dati.

Ho provato a cercare in rete, sembra che l'errore sia dovuto alla versione.

Nono.

Qualcuno conferma o ha idee in merito?

Grazie in anticipo

Dovresti vedere se effettivamente ti stai sbagliando a inserire valori oppure,
se avviene come automatismo, vedere se e` un baco del director (non penso
dopo tanto tempo che lo state usando).

Bye,
Chris.

> Da un messaggio della Geographic Free and Open Source Software -
> Italian mailing list, finalmente una spiegazione che sono riuscito a
> capire riguardante le licenze duali...
>
> http://flameeyes.is-a-geek.org/articoli/mysqlsevil.pdf

Il suo ragionamento sta ben in piedi ma le soluzioni no.

Se contribuisci una patch a PostgreSQL passi anche il
copyright alla PostgreSQL global development group e,
essendo PostgreSQL sotto licenza BSD, ognuno puo` farne
un derivato non-libero.

L'unica differenza e` che questo derivato non-libero
puo` farlo gratis, mentre nel caso di MySQL devi pagare
MySQL AB.

Fatto sta che da un punto di vista Stallmaniano
MySQL AB abusa della licenza GPL, questo si`.

:frowning: E io che speravo un giorno sarebbe stato semplice capire le
licenze... troppe sfacettature...

Andrea

> Da un messaggio della Geographic Free and Open Source Software -
> Italian mailing list, finalmente una spiegazione che sono riuscito a
> capire riguardante le licenze duali...
>
> http://flameeyes.is-a-geek.org/articoli/mysqlsevil.pdf

Il suo ragionamento sta ben in piedi ma le soluzioni no.

Se contribuisci una patch a PostgreSQL passi anche il copyright alla
PostgreSQL global development group e, essendo PostgreSQL sotto
licenza BSD, ognuno puo` farne un derivato non-libero.

L'unica differenza e` che questo derivato non-libero
puo` farlo gratis, mentre nel caso di MySQL devi pagare
MySQL AB.

Fatto sta che da un punto di vista Stallmaniano
MySQL AB abusa della licenza GPL, questo si`.

:frowning: E io che speravo un giorno sarebbe stato semplice capire le licenze... troppe sfacettature...
Andrea

Anch'io! Vedi però l'articolo: "Megamulta UE per Microsoft. Open source impantanato nei problemi di licensing" in http://www.tech.it/contnews.asp?id=260
Erwin

ciao Chris,

grazie della risposta.

la transazione è automatica ed è dovuta al director.

il problema appare spesso e per più macchine anche dopo il riavvio del director e le macchine diventano zombie...

esempio:

Tue Sep 18 11:20:12 2007 [SQL] Commit Transaction
Tue Sep 18 11:20:12 2007 [INFO] Registering host A004-PC01[192.168.4.5]
Tue Sep 18 11:20:12 2007 [SQL] SELECT id FROM director_host WHERE hostname = 'A004-PC01'
Tue Sep 18 11:20:12 2007 [SQL] UPDATE director_host SET active = 'True', ip = '192.168.4.5' WHERE hostname='A004-PC01'
Tue Sep 18 11:20:12 2007 [ERROR] DBConnection 'ERROR: Cannot insert a duplicate key into unique index director_host_ukey_ip ' in 'UPDATE director_host SET active = 'True', ip = '192.168.4.5' WHERE hostname='A004-PC01''
Tue Sep 18 11:20:12 2007 [SQL] Rollback Transaction

Oops!
Adesso mi accorgo che nella tebella director_host c'è un (e probabilmente più di uno) hostname con ip sbagliato , mentre nell'interfaccia delle macchine del director è impostato l'ip esatto.

tabella:
230 | A004-PC01 | 192.168.203.22 | | f |

interfaccia director:
A004-PC01 Aula Insegnanti 192.168.4.5 00:11:6B:32:E6:6D

dici che devo correggere a mano nella tabella l'ip?

Non capisco come si formino queste incongruenze..

ciao
Roberto De Colle
GNU/Linux user
Bressanone

-----Messaggio originale-----

:frowning: E io che speravo un giorno sarebbe stato semplice capire le licenze... troppe sfacettature...
Andrea

Anch'io! Vedi però l'articolo: "Megamulta UE per Microsoft. Open source impantanato nei problemi di licensing" in http://www.tech.it/contnews.asp?id=260
Erwin

Dunque vediamo,
"Saugatuck technologies" ha scoperto che ci sono tante diverse licenze
libere e gli IT manager non le conoscono e non se ne rendono conto che andrebbero
rispettate e quindi rischiano di non soddisfarle (violando quindi la legge sul
diritti d'autore).

E fin qui va bene.

Sempre secondo "Saugatuck" questo dovrebbe pero` essere un problema per
(l'adoption de)il software libero.

Ora mi chiedo, questi benedetti analisti si rendono conto che nel mondo del
software proprietario non ci siano soltanto moltissime license, ma addirittura ce
n'e` una *diversa* *per* *ogni* *singolo* *pezzo* di software?

E ancora: questi analisti non si rendano conto che le licenze *proprietarie*
contengono talmente tante clausole assurde e restrittivissime, che io sfido qualsiasi
IT-manager a conoscerle (e soddisfarle) tutte?

Cioe` applicando gli stessissimi argomenti al software proprietario, si conclude
palesemente che li` la situazione e` peggio.

Bravi analisti, quelli di "Saugatuck"... forse ho sbagliato mestiere - qualcuno
vuole assumermi come analista?

Bye,
Chris.

:frowning: E io che speravo un giorno sarebbe stato semplice capire le
licenze... troppe sfacettature... Andrea

Anch'io! Vedi però l'articolo: "Megamulta UE per Microsoft. Open
source impantanato nei problemi di licensing" in http://www.tech.it/contnews.asp?id=260
Erwin

Dunque vediamo,
"Saugatuck technologies" ha scoperto che ci sono tante diverse licenze libere e gli IT manager non le conoscono e non se ne rendono conto che andrebbero rispettate e quindi rischiano di non soddisfarle (violando quindi la legge sul diritti d'autore).

E fin qui va bene.

Sempre secondo "Saugatuck" questo dovrebbe pero` essere un problema per (l'adoption de)il software libero.

Ora mi chiedo, questi benedetti analisti si rendono conto che nel mondo del software proprietario non ci siano soltanto moltissime license, ma addirittura ce n'e` una *diversa* *per* *ogni* *singolo* *pezzo* di software?

E ancora: questi analisti non si rendano conto che le licenze *proprietarie* contengono talmente tante clausole assurde e restrittivissime, che io sfido qualsiasi IT-manager a conoscerle (e soddisfarle) tutte?

Cioe` applicando gli stessissimi argomenti al software proprietario, si conclude palesemente che li` la situazione e` peggio.

Bravi analisti, quelli di "Saugatuck"... forse ho sbagliato mestiere - qualcuno vuole assumermi come analista?

Bye,
Chris.

Bravo Chris. Condivido. Il messaggio nell'articolo l'ho capito in questo modo: per i software proprietari, che ci sia un licenza a cui fare riferimento, per i manager IT è una cosa ovvia, ma attenzione, la stessa cosa (cioè la presenza di licenze) e in modo sempre più complesso vale anche per il software libero, e questo non è ancora del tutto ovvio nel mondo IT.
Erwin

Bravo Chris. Condivido. Il messaggio nell'articolo l'ho capito in questo modo: per i software proprietari, che ci sia un licenza a cui fare riferimento, per i manager IT è una cosa ovvia, ma attenzione, la stessa cosa (cioè la presenza di licenze) e in modo sempre più complesso vale anche per il software libero, e questo non è ancora del tutto ovvio nel mondo IT.

Devo, infatti, tristemente confermare
che alcuni IT manager con cui ho parlato pensano che software libero = software senza licenza d'uso.

:frowning:

Bye,
Chris.

ciao Chris,

grazie della risposta.

la transazione è automatica ed è dovuta al director.

il problema appare spesso e per più macchine anche dopo il riavvio del director e le macchine diventano zombie...

esempio:

Tue Sep 18 11:20:12 2007 [SQL] Commit Transaction
Tue Sep 18 11:20:12 2007 [INFO] Registering host A004-PC01[192.168.4.5]
Tue Sep 18 11:20:12 2007 [SQL] SELECT id FROM director_host WHERE hostname = 'A004-PC01'
Tue Sep 18 11:20:12 2007 [SQL] UPDATE director_host SET active = 'True', ip = '192.168.4.5' WHERE hostname='A004-PC01'
Tue Sep 18 11:20:12 2007 [ERROR] DBConnection 'ERROR: Cannot insert a duplicate key into unique index director_host_ukey_ip ' in 'UPDATE director_host SET active = 'True', ip = '192.168.4.5' WHERE hostname='A004-PC01''
Tue Sep 18 11:20:12 2007 [SQL] Rollback Transaction

Oops!
Adesso mi accorgo che nella tebella director_host c'è un (e probabilmente più di uno) hostname con ip sbagliato , mentre nell'interfaccia delle macchine del director è impostato l'ip esatto.

tabella:
230 | A004-PC01 | 192.168.203.22 | | f |

interfaccia director:
A004-PC01 Aula Insegnanti 192.168.4.5 00:11:6B:32:E6:6D

dici che devo correggere a mano nella tabella l'ip?

Non capisco come si formino queste incongruenze..

Mmm... gia`!

Qui sembra che voglia inserire A004-PC01 con IP = 192.168.4.5 e fallisce perche`
ci sta gia` un altro 192.168.4.5.

Non che ci siano due instanze di director o qualcosa del genere? Ricordo
vagamente che director ha una struttare di demoni che si parlano...

Oppure ci sono record zombie rimasti da un director inchiodato che per
sbaglio ha lavorato in autocommit, quindi le rispettive transazioni non
sono stato rolled-back?

In quel caso forse basta davvero rimuovere i "record zombie" da director_host
e le cose si aggiustano da solo.

Qualcuno di Endian in ascolto? Raf, ci sei?

In ogni caso, non buttare giu` il servizio PostgreSQL ecc, perche` e` innocente :wink:

Bye,
Chris.

grazie mille,
in effetti mi ero appena arrischiato ad eliminare uno dei record della tabella: ha funzionato ed è stato subito rimpiazzato da un altro record con ip giusto, segno che il director "premeva" per l'aggiornamento.

dici che si puó aggiornare postgresql in maniera indolore?

grazie e ciao

Roberto De Colle
GNU/Linux user
Bressanone

-----Messaggio originale-----

in effetti mi ero appena arrischiato ad eliminare uno dei record della tabella: ha funzionato ed è stato subito rimpiazzato da un altro record con ip giusto, segno che il director "premeva" per l'aggiornamento.

Ah, ok...

dici che si puó aggiornare postgresql in maniera indolore?

Si puo` senz'altro fare,
pero` sono convinto al 100% che non sia stato colpa di PostgreSQL quello che hai visto.

Upgradando elimineresti sicuramente vari problemi *potenziali* che quella
datata versione di PostgreSQL ha, ma non c'e` un collegamento tra quello che hai
visto e la versione di PostgreSQL.

A questo punto dovresti anche aggiornare Apache, Python, tutto il sistema...
Ti converebbe installare una nuova distribuzione e farne un redeployment del
director.. e se continuo cosi` c'e` il mio campanellino d'allarme "never
touch a running system" che comincia a suonare....

Bye,
Chris.

Io invece vi invito a riflettere su un'altro aspetto:

L'articolo il cui argomento _sembra_ essere la multa a M$, non ne parla
minimamente. È tutto incentrato su inesistenti problemi con le licenze
libere (90% del testo).
Piccola operazione di distrazione di massa?
Sulla stessa pagina: "Le nostre riviste: Windows .net magazine"

Come diceva Andreotti: "A pensar male si fa peccato ma ci si azzecca..."

...

Io invece vi invito a riflettere su un'altro aspetto:

L'articolo il cui argomento _sembra_ essere la multa a M$, non ne parla minimamente. È tutto incentrato su inesistenti problemi con le licenze libere (90% del testo). Piccola operazione di distrazione di massa? Sulla stessa pagina: "Le nostre riviste: Windows .net magazine"

Come diceva Andreotti: "A pensar male si fa peccato ma ci si azzecca..."

Mah, per me invece era un sollievo. Quello della MS l'ho letto e sentito in tutti i giornali cartacei e non, TGR digitale e non, in LW, MW e in SW, ecc... Anche se la notizia mi piace, ma mi bastava l'accenno, anzi potevano anche tralasciarlo. Quello dell'inesistente, come lo proponi tu, per me è troppo forte. Il tema non è da sottovalutare, dare un "reminder" non nuoce, non per tutti è dato per scontato. Sulla stessa pagina c'è anche il link al linux journal. Quella battuta di Andreotti è stata fatta allora da buon cristiano credente...

Erwin

>Io invece vi invito a riflettere su un'altro aspetto:

>L'articolo il cui argomento _sembra_ essere la multa a M$, non ne parla
>minimamente. È tutto incentrato su inesistenti problemi con le licenze
>libere (90% del testo). Piccola operazione di distrazione di massa? Sulla
>stessa pagina: "Le nostre riviste: Windows .net magazine"

>Come diceva Andreotti: "A pensar male si fa peccato ma ci si azzecca..."

Mah, per me invece era un sollievo. Quello della MS l'ho letto e sentito
in tutti i giornali cartacei e non, TGR digitale e non, in LW, MW e in SW,
ecc... Anche se la notizia mi piace, ma mi bastava l'accenno, anzi
potevano anche tralasciarlo.

Si ma che c'azzacca con M$?

Quello dell'inesistente, come lo proponi tu, per me è troppo forte. Il
tema non è da sottovalutare,

daccordo ma quale tema? Quello delle industrie che non distinguono tra
Software Libero e software senza licenza o tra GPL2 o GPL3? E questo cosa
centra con il comportamento monopolista di M$ (bada bene non si parla
minimamente di licenze...)?

O l'articolo è una pastasciutta senza capo né coda o come minimo sono tre
articoli non correlati fra loro e mescolati assieme ad arte per creare la
classica FUD. Un modello che ho visto _troppo_ spesso per considerarlo
casuale o frutto di ingenuità del giornalista...

dare un "reminder" non nuoce, non per tutti è dato per scontato. Sulla
stessa pagina c'è anche il link al linux journal.

Si ma dukeitalia non pubblica lj bensì Windows .net magazine...
indovini lo sponsor?

Quella battuta di Andreotti è stata fatta allora da buon cristiano
credente...

Non so non me ne intendo di credenze, io normalmente uso il cervello o
almeno ci provo...

Visto che la questione licenze e affini richiama molto interesse e vi
e' gente preparata, vorrei buttare ulteriore carne al fuoco
proponendomi un grande dubbio amletico che ho in questo periodo.

Noi sviluppiamo un GIS FOSS di nome JGrass (www.jgrass.org) e in questo
momento stiamo migrando verso un altro GIS per unire le competenze. Ho
avuto diverse richieste di rilasciare JGrass sotto licenza LGPL da ora
in poi, cosa fattibile visto che nella migrazione stiamo praticamente
riscrivento tutto da capo... o almeno diciamo che sarebbe possibile per
diverse parti.

Io sono sempre stato contrario alla LGPL, ma negli ultimi tempi, anche
spinto da concorrenze locali che si fanno trainare, rallentano, ma non
contribuiscono, ho avuto un momento di debolezza e ci ho ripensato.

Considerato che di licenze avete visto cosa capisco, mi piacerebbe
avere qualsiasi commento riguardo a quale preferite fra le due...

Andateci pure pesanti,
Grazie
Andrea

Beh se non c'è ragione...comunque ringrazio per la disponibilità alla
discussione. Io considererei di dividere il lavoro in due, come xfree o il
kernel di Linux (GPL2) + libc (GPL+LGPL):

- il nucleo del programma da pubblicare come GPL(3) in maniera da
  costringere un eventuale contributo ad essere inglobato nella versione
  pubblica

- l'interfaccia con le applicazioni (librerie) con la LGPL

Direi che è la scelta di compromesso che accontenta tutti.

Oppure in alternativa la doppia licenza, GPL e proprietaria, alla MySQL.

Nonostante l'articolo non mi pare una scelta errata. Ad ogni modo se gli
autori siete voi, la licenza proprietaria siete sempre in grado di produrla
dato che siete gli effettivi detentori del Copyright e che ogni tipo di
contributo deve sottendere una completa cessione dei diritti (naturalmente
della versione GPL chiunque può fare un fork, mantenendo però la stessa
licenza, ergo niente licenza proprietaria che rimane al primo autore
effettivo).

bye

PS: naturalmente meglio di tutto rimane la GPL(3) e basta. Linux kernel &
GNU, KDE, GNOME, ... 80% del Software Libero...docet, vedi per esempio:

bye