Newsgroup: it.lavoro.informatica
Titolo: uso e abuso di sorgenti PHP

buongiorno a tutti i lettori del NG
volevo sottoporvi la seguente questione:
il programmatore A sviluppa su richiesta della ditta B un software per il
web in PHP
lo da in "licenza d'uso" alla ditta B ma di non cederne la proprieta' alla
ditta B (prezzaccio)
il programmatore A scopre in seguito che la ditta B si sta facendo fa sola
delle modifiche
e delle personalizzazioni tramite Altri suoi collaboratori X che modificano
anche i sorgenti originali
il tutto senza alcuna comunicazione col programmatore A
al programmatore A prudono i polpastrelli e non solo quelli .... ho fatto
rima ;-)
eccovi le domande:
la ditta B puo' fare modifiche ai sorgenti PHP dati in licenza d'uso ?
cosa puo' fare legalmente il programmatore A contro la ditta B ?
cosa puo' fare legalmente il programmatore A contro i collaboratori X ?
grazie
cbm64

 cosa puo' fare legalmente il programmatore A contro i collaboratori X ?
Affidarsi ad una persona esperta. Bisognera' infatti verificare in che modo
la ditta A ha chiesto ai collaboratori di modificare il codice. La ditta X
e' stata messa a conoscenza dalla ditta B che i diritti sul codice sono del
programmatore A, e solo questi ha il diritto di modificarlo? La ditta X e'
quindi connivente o no? ecc. ecc...
Ciao,
-- 
Marco

 cosa puo' fare legalmente il programmatore A contro i collaboratori X ?
 
 
io do un'opinione da sviluppatore e non da legale.
credo che certi linguaggi di scripting (php, asp,js..), per quanto versatili e complessi, siano fatti per contenere del codice con poco contenuto di "algoritmi"  o idee nuove da proteggere in modo particolare. 
nel caso i contenuti tecnici siano effettivamente innovativi, dovrebbe essere l'autore colui che protegge il proprio script o meglio ancora, incapsula tali funzionalita' in architetture piu' complesse che ne permettano l'utilizzo senza fornire il codice (com, corba...).
in altre parole, quando forniamo un sito web che fa delle query su di un db, mostra la tabella in un table html e fa le solite istruzioni crud, non forniamo nulla di nuovo. anzi., probabilmente abbiamo, almeno in origine copiato e modificato un esempio simile preso da qualche manuale o sito web.
quindi, e' meglio fare un esame di coscienza: cio' che abbiamo fatto e' abbastanza originale, complesso etc da doverlo coprire da copyright?

 cosa puo' fare legalmente il programmatore A contro la ditta B ?
Può agire certamente nel caso in cui la ditta B abbia distribuito e/o 
commercializzato il prodotto non riconoscendoti come autore (c'è un 
profitto diretto, quindi l'opera è certamente degna di essere tutelata).
Se però l'ha modificato a proprio uso ed avendo (per forza di cose) 
messo a disposizione i sorgenti, la cosa non è così immediata. Bisogna 
vedere caso per caso, in cosa consiste il progetto, se la paternità è 
realmente tua e che tipo di accordo avete preso.
Per esempio, se il progetto è stato fatto per loro, su loro input e loro 
partecipazione, un giudice potrebbe riconoscerli come co-autori e 
disporre che ognuno abbia la sua copia modificabile, addiruttura con 
l'obbligo reciproco di corrispondere i diritti all'altro per gli 
eventuali proventi commerciali [1]. Quindi paradossalmente se il 
programma tu l'avessi venduto ad altri, rischi anche di dover pagare i 
diritti in proporzione.
[1] Fatto recente realmente accaduto. Una software house che produce un 
gestionale sviluppa un modulo su una azienda; l'azienda ha ottenuto di 
poter continuare lo sviluppo di quel modulo in forma autonoma, e che la 
software house gli riconoscesse i diritti per le licenze d'uso vendute 
ad altri clienti ove è incluso quel modulo. Certo la software house 
doveva pararsi meglio il culo, ma è successo.

 il tutto senza alcuna comunicazione col programmatore A
Se hai sviluppato da zero il software "su richiesta della ditta" non so
quante possibilità avresti in una causa.
Diverso era se tu avessi sviluppato un software di tua iniziativa e poi lo
avessi dato loro in licenza d'uso.
Molto dipende dal tipo di software e dalla partecipazione attiva della
ditta B alla realizzazione dello stesso (ti hanno dato input, specifiche,
idee ?).
-- 
"Deep in the human unconscious is a pervasive need for a
logical universe that makes sense. But the real universe is
one step beyond logic."
From "The sayings of Muad'Dib" by the Princess Irulan
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 web in PHP
Se hai scritto codice in PHP devi prima di tutto rispettare la licenza d'uso
del PHP che con buona probabilità *non* hai pagato, che dice chiaramente
che se usi PHP devi permettere la modifica, uso e distribuzione del codice
sorgente. Se poi hai acquistato una licenza Zend allora può essere un altro
discorso ma se così fosse probabilmente avresti rilasciato codice
compilato.
Ciao
Caesar.

 ha scritto nel messaggio
news:d6k9b6$egc$1...@newsfeed.cineca.it...


 frutto del loro lavoro ?
Io non la vedrei così, rilasciare il codice non vuol dire che non puoi
fartelo pagare o farne un uso commerciale, vuol dire semplicemente che devi
permettere la libera circolazione delle idee, cioè del tuo codice. Cosa che
trovo oltremodo giusta perchè tu stesso stai usando il lavoro altrui senza
pagare  alcunchè, e sfido qualsiasi programmatore a dire di non aver preso
spunto o idee da parti sviluppate da altri. 
Se voglio che nessuno veda il mio codice, basta che uso un software
proprietario e pago qualche milionata di licenza.
Sono due strade assolutamente parallele.
Caesar.

 sorgente. 
Mai scritto nulla in PHP. Ma sei *certo* di questo?

 pagare  alcunchč, e sfido qualsiasi programmatore a dire di non aver preso


 
Rispondo sempre io, ma magari sarebbe meglio anche il parere di qualcun
altro.
Se tu sviluppi un software in C oltre al compilatore utilizzi anche delle
librerie, che nel caso di linux immagino trattasi delle libc, che sono
frutto del lavoro della free software foundation e licenziate sotto GPL
*prima* della nascita di linux, con lo scopo di ottenere un sistema simile
a unix ma libero. In seguito Linux fece , anzi fa, uso pesantemente delle
libc e anzi non esisterebbe senza di esse, tanto che non è corretto parlare
semplicemente di Linux, ma di sistema GNU/Linux.
Poichè ci sono dozzine di licenze, GPL, L-GPL, QT, BSD, ecc,ecc. alcune più
permissive di altre, GPL ad esempio è abbastanza restrittiva, potrebbe
succedere e anzi succede spesso di scrivere software con licenze diverse,
sicchè sei obbligato a rispettare la licenza per ciascuna parte che gli
compete, potrei ad esempio aver aquistato una licenza qt e aver sviluppato
un applicazione kde a pagamento che però fa uso di una libreria GPL , per
la parte che riguarda tale libria sono costretto a rilasciare il codice
secondo la medesima licenza.
Questo implica che il fatto che tu lo vendi compilato non ti esime dal
fornire i sorgenti se il cliente te lo chiede e se la licenza lo prevede.
Non so esattamente la licenza attuale di php, ma il php3 era sicuramene gpl.
Saluti.


Secondo me sta steccando di brutto. Come dice giustamente cbm64 un conto 
e' la modifica dei sorgenti dell'interprete PHP, uno conto e' invece la 
creazione di software PHP che si appoggiano a esso.
c'e' una *bella* differenza tra le sorgenti del compilatore/interprete e 
le sorgenti dei programmati generati/interpretati da esso.

 compilato.
Queste cose dove le hai lette, nella licenza di php (che sta qua:
http://www.php.net/license/3_0.txt
), o in un forum di punto informatico?
No perchè sarà che non son madrelingua inglese, ma io cio' che affermi 
proprio non ce lo vedo.
-- 
Fabrizio "Hermooz" Ermini

 posso vendere il programma fatto in C col GCC senza i sorgenti ?
[SNIP]
Questo e' un tema che interessa tantissimo anche me, e mi son posto il
problema anche io dopo aver risposto in questo thread.
Potrei dire anche tantissime cazzate, quindi ogni smentita e chiarimento e'
graditissima ;-)
La GPL e' una licenza che regola l'utilizzo dei diritti d'autore sul
software, per cui non vedo il nesso tra il diritto d'autore sul software ed
il diritto d'autore su altro software realizzato utilizzando un software
coperto da GPL. Per intenderci:
1. il programma X e' rilasciato sotto GPL. Questo implica che chi ha
realizzato questo programma mi consente di ridistribuirlo anche modificato,
purche' la paternita' dell'opera da egli realizzata non venga messa in
discussione (previsto per legge tra l'altro). Poiche' la legge sul d.a.
prevede che l'opera sia sempre riconducibile all'autore, colui che modifica
il programma X e lo ridistribuisce deve indicare chiaramente che il
copyright dell'opera e' dell'autore originale, e che egli ha modificato
questa e quell'altra parte, in modo tale che le modifiche non siano
attribuibili all'autore originale.
Quindi la licenza GPL dovrebbe riguardare solo il diritto d'autore sul
software rilascia secondo tale licenza.
2. Il programmatore Y utilizza il software X del punto 1 e realizza grazie a
questo un'altro software Z. IMHO non vi e' alcun legame tra il diritto
d'autore sul software Z e quello sul software X.
PS. PHP mi pare sia rilasciato sotto BSD.
Ciao,
-- 
Marco

 le sorgenti dei programmati generati/interpretati da esso.
Come dice chiaramente la gpl:
Il termine "Programma" nel seguito si riferisce ad
ogni programma  o opera così  definita, e l'espressione  "opera basata
sul  Programma" indica  sia il  Programma sia  ogni  opera considerata
"derivata" in base alla legge sul copyright;
http://www.softwarelibero.it/gnudoc/gpl.it.txt
Ciao
Caesar.

 PS. PHP mi pare sia rilasciato sotto BSD.
Da quello che leggo, è una licenza BSD-like.

 sorgente. 
Scusa ???
http://www.php.net/license/3_0.txt


 Come dice chiaramente la gpl:
Ti fermo subito: un programma compilato con GCC non è un opera derivata 
da GCC.
Rileggiti bene il punto 2 e in particolare le prime due righe dove si 
capisce perfettamente cosa intende per "opera basata sul Programma".
PS: fermo restando che PHP non è GPL.

 capisce perfettamente cosa intende per "opera basata sul Programma".
Appunto

 "derivata" in base alla legge sul copyright;
Non credo che un programma "in" PHP si possa considerare "derivato" dal PHP.
Altrimenti applicando la stessa interpretazione, i proprietari di 
praticamente tutte le fotografie digitali del pianeta sarebbero aziende 
come Adobe, Macromedia, Kodak, Nikon ecc. e non chi quelle foto le ha 
scattate/elaborate con strumenti messi a disposizione da quelle aziende.

 da GCC.
E siamo daccordo, tu puoi usare il gcc per compilare un tuo programma e la
licenza te lo permette perchè lo stai semplicemente usando, ma io non ho
parlato di gcc, ho parlato di libc, un programma compilato in c contiene
qualcosa delle libc. Che succede ad un programma C che usa una libreria gnu
libc? Non stai per caso ridistribuendo parte della libreria?
E che succede ad un programma php che usa una libreria GPL-mysql?

 E che succede ad un programma php che usa una libreria GPL-mysql?
rimane da capire questa...


Beh, allora cosě non si finisce piů......č tutto gratis visto che qualsiasi
programma che gira sotto linux alla fine utilizza le libc.

 E che succede ad un programma php che usa una libreria GPL-mysql?
Dalle faq 
http://www.gnu.org/licenses/gpl-faq.it.html
 leggo una volta per
tutte:
Q:"Se una libreria è rilasciata sotto la GPL (non la LGPL), significa che
qualunque programma che ne faccia uso deve essere disponibile sotto la
GPL?"
R:Sì, perché il programma per come è effettivamente eseguito include la
libreria. 
Quindi se compilo un programma C che contiene una libreria che accede a
mysql(GPL) devo rilasciarlo sotto licenza GPL, ciò non vale per le libc che
invece sono sotto LGPL che come detto permettono di essere linkate anche da
software proprietario.
Veniamo al caso del PHP:
Q:"Se l'interprete di un linguaggio di programmazione è rilasciato sotto la
GPL, questo significa che tutti i programmi scritti per essere da esso
interpretati devono essere disponibili sotto licenze compatibili con la
GPL?"
 
R:Se l'interprete si occupa esclusivamente di interpretare un linguaggio, la
risposta è no. Il programma interpretato, dal punto di vista
dell'interprete, è solo un insieme di dati; una licenza per il software
libero come la GPL, basata sulla legge sul copyright, non può porre
restrizioni su quali dati vengono usati con l'interprete. Esso può esser
fatto funzionare con un qualsiasi input (ovvero con un qualunque programma
da interpretare), a completa discrezione dell'utente, e non ci sono limiti
sulle licenze che si concedono per tali dati a chicchessia. 
Tuttavia, quando l'interprete può fornire collegamenti ("bindings") con
altri tipi di servizi, tipicamente librerie, il programma interpretato è in
effetti linkato ai servizi usati tramite questi collegamenti. Quindi se i
servizi sono coperti da GPL, il programma interpretato che li usa deve
avere una licenza compatibile con la GPL. La JNI (Java Native Interface) è
un esempio di un simile servizio: librerie accedute in tal modo sono
collegate dinamicamente col programma Java che le invoca. 
Un altro caso simile molto comune avviene quando si forniscono con
l'interprete delle librerie che sono anch'esse interpretate. Per esempio,
Perl è distribuito con molti moduli in Perl, e un'implementazione Java di
solito è accompagnata da molte classi Java. Queste librerie ed i programmi
che le chiamano sono sempre collegati dinamicamente. 
Una conseguenza è che, se si sceglie di usare in un programma dei moduli
Perl, o delle classi Java, coperti da GPL, bisogna distribuire il programma
con una licenza compatibile con la GPL, indipendentemente dalla licenza
usata nell'interprete Perl o Java su cui girerà il programma combinato Perl
o Java.

 irrilevante ove semmai,
Questo lo dici tu, se cbm64 ha sviluppato codice secondo GPL, la ditta B ha
diritto a chiederne i sorgenti e la libertà di modificarli...
Caesar.

 cbm64
Salve,
esiste una bellissima cosa chiamata PHP ENCODER della Zend.
Certo costicchia...ma ne vale la pena.
 ulteriori info sul sito della Zend.
Saluti
MSZ


Veramente cbm64 ha detto chiaramente che l'ha dato in licenza d'uso, 
quindi avra' utilizzato una licenza particolare (non GPL) per il codice 
PHP da lui sviluppato.
Il fatto e' che tu continui a ragionare con l'assunto di fondo (errato) 
che il codice PHP scritto con <editor che preferisci> debba sottostare 
alla licenza per software "derivato" da PHP...

NC wrote:

Mi pare di averlo chiarito questo punto, sono d'accordo con voi che se
scrivi la paginetta in PHP questa non debba sottostare a nessuna licenza.
Ora, ho detto se, e dico se, cmb64 ha sviluppato codice che potrebbe essere
GPL o XXXL, questo perchè se ha sviluppato una applicazione con un minimo
di complessità e un minimo di standard qualitativo, presubilmente farà uso
di qualche altra cosa, ad esempio una classe per i template, un layer per i
db,un parser xml, in tal caso non può rilasciare l'applicativo secondo
quello che gli pare, ma secondo la licenza XXXL della libreria che ha
usato.
Viceversa, se non ha utilizzato niente di tutto questo, sottoscrivo quello
che ha detto kenduma,vale la pena stare a menarla per quattro righe con una
query mysql?
E cmq visti i tanti se e i tanti ma, dovrebbe cmb64 fornire ulteriori info.
Caesar

 E cmq visti i tanti se e i tanti ma, dovrebbe cmb64 fornire ulteriori info.
In effetti...

 E che succede ad un programma php che usa una libreria GPL-mysql?
Non lo so. E' linkata staticamente? Se si, ce lo chiediamo. Se no, non 
ci si chiede nemmeno: si fa come in java, io fornisco il programma che 
carica a runtime il driver, poi sono cavoli dell'utilizzatore avere 
titolo di utilizzare quel driver (vedi Oracle, tutto liberamente 
scaricabile ma niente utilizzabile senza licenza).

 scaricabile ma niente utilizzabile senza licenza).
Che io sappia mysql ha questo problema, ed anche con codice php che
utilizzi l'api per l'accesso ad un db di mysql. Questo perche' una base
dati fa parte dell'applicazione e di conseguenza entra in gioco la gpl
di mysql ( che in questo caso viene proprio vista come "libreria").
E' per questo che per mysql ci sono delle licenze apposta che si possono
acquistare...un po' come con la pdflib tanto per intenderci.
C.

buongiorno a tutti i lettori del NG
non capisco dove sia il problema. a parte le questioni inerenti le
licenze php, per me è la norma distribuire i sorgenti dei miei lavori
ai clienti, sia che loro lo richiedano sia che no. Qualora facciano
qualche modifica sarò a mia volta ben felice di riprendermela e
riutilizzarla se funziona, se al contrario la modifica apportata
imputtana in qualche maniera il mio lavoro, allora l'intervento è
fuori dalla garanzia e dovrà essere fatturato a parte, questo lo
scrivo ogni volta sul contratto.
Saliu't L.
-- 
Living on Earth may be expensive, 
but it includes an annual free trip around the Sun.