PDA

View Full Version : Licenze, libertà e proprietà


Furla
15-07-2007, 17:44
come molti qui, sono appassionato di informatica, ed il cammino di studio che ho scelto mi porta ad avere competenze che applicherò nel mio futuro lavoro in questo campo.

ora però sorge in me un dilemma :D

sono, e sono sempre stato, a favore del software libero, perché ritengo ingiusto che l'egoismo del singolo impedisca lo sviluppo collettivo. d'altro canto però, se per me programmare dovesse essere un lavoro, non potrei certo rilasciare i miei programmi sotto una licenza che consenta la ridistribuzione libera (visto che in tal modo non ci guadagnerei nulla, e sarebbe un controsenso lavorare senza guadagnare nulla); e comunque ritengo altrettanto ingiusto che sia possibile sfruttare, magari a fini di lucro, il lavoro di qualcun altro senza che costui ne tragga il giusto merito.

e qui entra in gioco la licenza, uno strumento che permette all'autore di limitare le libertà dell'utilizzatore al fine di garantirsi certi diritti esclusivi.

ho iniziato quindi a guardarmi qualcosa sulla GNU GPL e sul copyleft, ma non sono sicuro che corrispondano a quello che cerco... in particolare, licenze del genere permetterebbero a chiunque di ridistribuire a pagamento e senza modifiche un software realizzato da altri, se non ho capito male, quasi una legalizzazione della pirateria. onestamente non sono sicuro di aver capito bene, perché su wiki la voce mi sembra abbastanza confusa...

in alternativa, ogni autore in teoria può decidere di redarre una licenza per la sua opera, o ci sono dei limiti, o delle leggi da conoscere al riguardo?

qual'è la vostra posizione al riguardo?

grazie a chi contribuisce :)

mjordan
15-07-2007, 23:54
Singolare la tua interpretazione del modo di redistribuire il software. Quando sono gli altri a produrre, allora le licenze libere vanno bene perchè ritieni ingiusto che "l'egoismo del singolo impedisca lo sviluppo collettivo."

Ora che invece si tocca il tuo portafoglio e il tuo lavoro, la GPL diventa addirittura una "legalizzazione della pirateria"... :asd:

Tornando al quesito che poni, ognuno nella licenza può scrivere ciò che vuole, in teoria. In pratica la questione è molto piu' complessa, perchè la scrittura di una licenza che abbia un qualche valore legale, che piaccia o meno, richiede conoscenze legali. Puoi scrivere ciò che vuoi nei limiti appunto della legalità e attribuirti da solo un copyright (è previsto per le opere dell'ingegno tra cui anche il software), tuttavia senza conoscenze legali potrebbe essere una "licenza" aggirabile in due parole o contenere roba non proprio in linea con le normative vigenti. Non a caso le licenze importanti richiedono anche anni per essere redatte. Il discorso è: poichè scrivendo una licenza ti assumi anche le responsabilità di ciò che ne consegue, puoi scrivere quello che vuoi. Per far si che "quello che vuoi" abbia una valenza legale, ci vuole un legale. A meno di usare una licenza già pronta.

PGI-Bis
16-07-2007, 09:50
Vai da un'avvocato, un notaio o un commercialista, ti siedi e ti fai scrivere quattro contratti da far firmare ai tuoi clienti.

Uno per la vendita del software senza sorgenti, uno per la vendita del software con sorgenti, uno per lo sviluppo su commissione con vendita dei sorgenti, uno per lo sviluppo su commissione senza vendita dei sorgenti.

Dopodichè scegli di volta in volta con il cliente quale dei quattro modelli corrisponda meglio alla situazione e lo firmate. Tanto son sempre quei quattro.

Non è gratis e non è neanche sicuro al 100% ma il minimo e il massimo che puoi fare se intendi esercitare la libera professione è questo.

Se, oltre al contratto, depositi una copia del programma alla SIAE (e son 100 e passa eurozzi che se ne vanno) puoi ottenere una presunzione di paternità dell'opera. Cioè si presume che tu ne sia l'autore fintantochè qualcuno non provi il contrario.

La registrazione SIAE non la fai quasi mai a meno che il software che hai scritto non sia qualcosa da strapparsi i capelli, le probabilità che l'altro voglia fregarti siano alte e tu sia pronto a sostenere le tue ragioni in tribunale (e giù altri soldi :D).

Questa per quanto riguarda la mia personale esperienza di fu-sviluppatore. Poi può darsi che ci sia dell'altro.

k0nt3
16-07-2007, 10:45
ho iniziato quindi a guardarmi qualcosa sulla GNU GPL e sul copyleft, ma non sono sicuro che corrispondano a quello che cerco... in particolare, licenze del genere permetterebbero a chiunque di ridistribuire a pagamento e senza modifiche un software realizzato da altri, se non ho capito male, quasi una legalizzazione della pirateria.

la pagina in inglese è fatta molto bene (il concetto di copyleft è il più importante forse)
comunque per chiarire.. se tu fai un software con licenza GPL se uno lo vuole ridistribuire deve sempre adottare la GPL con tutto quello che ne comporta. e poi se tu scrivi un software ne detieni il copyright, quindi se uno ridistribuisce il tuo software facendolo passare per suo lo puoi denunciare.

Furla
16-07-2007, 12:53
se uno ridistribuisce il tuo software facendolo passare per suo lo puoi denunciare.
ah se questo è garantito dalla GPL siamo già un passo avanti, da quel che avevo capito io non c'era neanche questo :D
il fatto è che il codice può essere usato come "base" per un nuovo programma, non è che se a qualcuno viene in mente di aggiungere una sola riga di codice può poi dire che il programma è suo? coem funziona in questi casi il copyright? come dimostro che io sono l'autore di un codice, e come dimostro che qualcuno mi ha copiato?

Singolare la tua interpretazione del modo di redistribuire il software. Quando sono gli altri a produrre, allora le licenze libere vanno bene perchè ritieni ingiusto che "l'egoismo del singolo impedisca lo sviluppo collettivo."

Ora che invece si tocca il tuo portafoglio e il tuo lavoro, la GPL diventa addirittura una "legalizzazione della pirateria"...
no, scusami ma c'è una grossa distinzione tra la non collaborazione, la collaborazione ed il parassitismo.

non è giusto che uno lavori per tenere i frutti del suo lavoro solo per sé, e non è giusto che i frutti del suo lavoro vadano solo agli altri senza che a lui rimanga nulla.

per questo cerco un punto intermedio, qualcosa che mi permetta di rendere open source i miei lavori favorendone lo sviluppo da parte di altri, e che al contempo eviti che chiunque possa trarre da ciò profitto senza meriti.

k0nt3
16-07-2007, 13:00
ah se questo è garantito dalla GPL siamo già un passo avanti, da quel che avevo capito io non c'era neanche questo :D
il fatto è che il codice può essere usato come "base" per un nuovo programma, non è che se a qualcuno viene in mente di aggiungere una sola riga di codice può poi dire che il programma è suo? coem funziona in questi casi il copyright?

il copyright funziona indipendentemente dalla licenza che usi.. se uno ti modifica una riga di codice non può dire che tutto il programma è suo, ma può solo dire di avere fatto una patch al tuo programma

no, scusami ma c'è una grossa distinzione tra la non collaborazione, la collaborazione ed il parassitismo.

non è giusto che uno lavori per tenere i frutti del suo lavoro solo per sé, e non è giusto che i frutti del suo lavoro vadano solo agli altri senza che a lui rimanga nulla.

per questo cerco un punto intermedio, qualcosa che mi permetta di rendere open source i miei lavori e che al contempo eviti che chiunque possa trarne profitto senza meriti.
ehm non dovevi quotare me :stordita:
comunque nel caso della GPL si tratta sempre di collaborazione perchè se uno ridistribuisce il tuo codice deve farlo sempre usando la GPL e quindi tu puoi vedere quali parti sono state modificate e puoi anche copiarle nel tuo software se dici che quelle parti non le hai scritte te.
ma questi sono casi limite.. cioè non capisco perchè uno deve essere così cattivo nei tuoi confronti :D (di solito si collabora allo stesso progetto, i fork non sono la regola)
comunque sia la GPL è la licenza che tutela maggiormente lo sviluppatore tra quelle opensource

Furla
16-07-2007, 14:31
il copyright funziona indipendentemente dalla licenza che usi.. se uno ti modifica una riga di codice non può dire che tutto il programma è suo, ma può solo dire di avere fatto una patch al tuo programma

ok, ma come funziona la ridistribuzione del mio programma modificato (supponendo che chi lo ridistribuisce ammetta di aver modificato un mio programma)?

non capisco nel dettaglio dove finiscono i diritti dell'autore e dove iniziano le libertà degli altri.


ehm non dovevi quotare me :stordita:
comunque nel caso della GPL si tratta sempre di collaborazione perchè se uno ridistribuisce il tuo codice deve farlo sempre usando la GPL e quindi tu puoi vedere quali parti sono state modificate e puoi anche copiarle nel tuo software se dici che quelle parti non le hai scritte te.
ma questi sono casi limite.. cioè non capisco perchè uno deve essere così cattivo nei tuoi confronti :D (di solito si collabora allo stesso progetto, i fork non sono la regola)
comunque sia la GPL è la licenza che tutela maggiormente lo sviluppatore tra quelle opensource
scusa il nome nel quote, copy/paste frettoloso^^

insomma non so se si è capito, io vorrei garantirmi che chiunque possa fare quello che vuole col mio programma, ma che se qualcuno lo usa, in modo diretto o meno, per averne un ritorno economico, ci sia un ritorno proporzionale anche per me. la GNU GPL lo permette/garantisce? chiedo troppo? :D

k0nt3
16-07-2007, 15:08
ok, ma come funziona la ridistribuzione del mio programma modificato (supponendo che chi lo ridistribuisce ammetta di aver modificato un mio programma)?

non capisco nel dettaglio dove finiscono i diritti dell'autore e dove iniziano le libertà degli altri.

per stabilire i confini netti qua ci vuole un avvocato :D comunque di certo chi lo modifica deve fornire il sorgente del programma modificato e deve anche citare l'autore originario. in genere si specifica anche nel dettaglio tutte le modifiche effettuate (è una regola di buona condotta diciamo).


insomma non so se si è capito, io vorrei garantirmi che chiunque possa fare quello che vuole col mio programma, ma che se qualcuno lo usa, in modo diretto o meno, per averne un ritorno economico, ci sia un ritorno proporzionale anche per me. la GNU GPL lo permette/garantisce? chiedo troppo? :D
la GPL garantisce che un software derivato dal tuo deve sottostare alla licenza stabilita dall'autore originale. il concetto di "derivato" è definito dalla legge dei singoli stati ma in generale anche l'uso indiretto (ad esempio se il tuo software è una libreria e qualcuno decide di usarla) è considerato lavoro "derivato".
inoltre la GPL permette di aggiungere clausule personalizzate.. ma qui devi davvero consultare un'avvocato! quindi in sostanza direi che quello che vuoi fare non solo è possibile, ma è quello che fanno MySQL AB e Trolltech con i rispettivi prodotti (MySQL e QT)

Furla
16-07-2007, 15:42
mhm informarsi su wiki non chiarisce sempre le cose... forse è meglio che me la guardi un po' in versione originale. esiste una traduzione ufficiale in italiano o devo leggermela in inglese?^^

k0nt3
16-07-2007, 15:53
questa è la pagina ufficiale http://www.gnu.org/copyleft/gpl.html
come vedi ci sono i link alle traduzioni ma non sono ufficiali... ti consiglio di leggere la versione inglese se possibile, ma soprattutto la FAQ che dovrebbe chiarire ogni dubbio in linguaggio "umano" http://www.gnu.org/licenses/gpl-faq.html :D

mjordan
16-07-2007, 16:15
no, scusami ma c'è una grossa distinzione tra la non collaborazione, la collaborazione ed il parassitismo.

non è giusto che uno lavori per tenere i frutti del suo lavoro solo per sé, e non è giusto che i frutti del suo lavoro vadano solo agli altri senza che a lui rimanga nulla.

per questo cerco un punto intermedio, qualcosa che mi permetta di rendere open source i miei lavori favorendone lo sviluppo da parte di altri, e che al contempo eviti che chiunque possa trarre da ciò profitto senza meriti.

Ma siamo seri dai. Hai trovato in due minuti allora il modo di fare soldi? No perchè se è cosi, allora puoi aprire un negozio online di software open source e farti i miliardi. Quei pochi che l'hanno fatto gli hanno sputato pure in faccia.

mjordan
16-07-2007, 16:25
insomma non so se si è capito, io vorrei garantirmi che chiunque possa fare quello che vuole col mio programma, ma che se qualcuno lo usa, in modo diretto o meno, per averne un ritorno economico, ci sia un ritorno proporzionale anche per me. la GNU GPL lo permette/garantisce? chiedo troppo? :D

Chiedi praticamente di togliere la libertà di utilizzo. E poi scusa, prima vuoi concedere di fare quello che si vuole con il tuo programma e poi se poca cosa lo si usa vuoi essere pagato? Sono due ambiti in netto contrasto fra di loro. Benvenuto nel mondo delle licenze commerciali :D Comunque come ti è stato detto, in questi casi si dovrebbe prevedere una doppia licenza.

mad_hhatter
16-07-2007, 17:14
domanda...

ma per avere il copyright di un'opera, ad esempio un sorgente, basta ce io ci scriva "copyright MIO" :D o devo rivolgermi ad un'entità preposta a rilasciare il copyright (soprattutto visto che solitamente il copyright è associato all'indicazione di un periodo di validità)?

grazie

Furla
16-07-2007, 18:04
Ma siamo seri dai. Hai trovato in due minuti allora il modo di fare soldi? No perchè se è cosi, allora puoi aprire un negozio online di software open source e farti i miliardi. Quei pochi che l'hanno fatto gli hanno sputato pure in faccia.
credo di non aver capito cosa intendi... il modo di fare soldi è semplicemente lavorare; che c'entrano i negozi online?

Chiedi praticamente di togliere la libertà di utilizzo. E poi scusa, prima vuoi concedere di fare quello che si vuole con il tuo programma e poi se poca cosa lo si usa vuoi essere pagato? Sono due ambiti in netto contrasto fra di loro. Benvenuto nel mondo delle licenze commerciali Comunque come ti è stato detto, in questi casi si dovrebbe prevedere una doppia licenza.

caso tipo: mi chiama un certo Tizio, che vuole che faccia un programma per lui, e vuole i sorgenti. inoltre per "filosofia" mi piacerebbe rilasciare sempre i miei sorgenti. lui fa un certo lavoro, e conosce Caio e Sempronio, a cui interessa un programma simile perché fanno lo stesso lavoro, e loro conoscono a loro volta altra gente interessata.

quello che vorre impedirgli è di vendere o scambiarsi il mio programma, tutto o in parte, magari incorporato in un programma più grosso realizato da altri; almeno non senza che io ne tragga in qualche modo beneficio.
vorre inoltre che chiunque possa usare e modificare il programma a fini esclusivamente personali o didattici.

cosa può farci Tizio coi sorgenti se non c'è nulla di scritto? e se il mio lavoro è sotto licenza GPL?

mjordan
16-07-2007, 18:50
credo di non aver capito cosa intendi... il modo di fare soldi è semplicemente lavorare; che c'entrano i negozi online?


No non è solo lavorare. A detta tua, la tua paura è che qualcuno possa far soldi rivendendo il tuo software. Se cosi fosse, allora potresti fare tu la stessa cosa. Se non ci cavi una lira, stai tranquillo che neanche gli altri caveranno una lira dalla rivendita del tuo. La GPL ha molti punti che lasciano dubbi, ma il tempo e l'applicazione dei suoi concetti ha rivelato che molte delle preoccupazioni che si hanno leggendola, in un mondo pratico non costituiscono nessun tipo di problema. Hanno provato a vendere Blender, The Gimp e Audacity come soluzioni di grafica 3D, fotoritocco e manipolazione audio rispettivamente. I risultati sono stati un sacco di pernacchie e l'etichettamento praticamente indelebile di "software house fatta da buffoni". Non proprio quello che si cerca per un modello di business che funzioni, insomma. ;)


caso tipo: mi chiama un certo Tizio, che vuole che faccia un programma per lui, e vuole i sorgenti. inoltre per "filosofia" mi piacerebbe rilasciare sempre i miei sorgenti. lui fa un certo lavoro, e conosce Caio e Sempronio, a cui interessa un programma simile perché fanno lo stesso lavoro, e loro conoscono a loro volta altra gente interessata.

quello che vorre impedirgli è di vendere o scambiarsi il mio programma, tutto o in parte, magari incorporato in un programma più grosso realizato da altri; almeno non senza che io ne tragga in qualche modo beneficio.
vorre inoltre che chiunque possa usare e modificare il programma a fini esclusivamente personali o didattici.

cosa può farci Tizio coi sorgenti se non c'è nulla di scritto? e se il mio lavoro è sotto licenza GPL?

Quello che chiedi è un'antitesi completa alla GPL. Le licenze OSI, se questo è il tuo pensiero, dovresti proprio lasciarle perdere. A te serve semplicemente una comunissima licenza commerciale con qualche clausola pseudo-free, tipo la JRL (Java Research License) che ha usato la Sun per parecchio tempo con Java prima di rilasciare il tutto finalmente sotto GPL.
EDIT: Dimenticavo, dei sorgenti rilasciati senza licenza vengono considerati al pari del pubblico dominio. Senza licenza ma con un copyright, sono lo stesso di pubblico dominio ma con un'autore da riconoscere. Con la GPL, posso prendere i tuoi sorgenti, farci un prodotto nuovo, devo solo dire che l'autore originale sei tu ma che io ho fatto grosse modifiche e posso venderlo come mi pare e piace. Ti ripeto, la GPL è una licenza che non si addice al modello di business di chi vuole fare soldi vendendo software (a meno di avere una doppia versione).

k0nt3
16-07-2007, 19:31
Ti ripeto, la GPL è una licenza che non si addice al modello di business di chi vuole fare soldi vendendo software (a meno di avere una doppia versione).
verissimo! ma è meglio precisare che vendere il software non è l'unico modo per fare soldi, infatti chi ci guadagna qualcosa usando la GPL vende servizi correlati al software (o comunque guadagna in maniera indiretta)
giusto per dire che non si vive di aria :)

mjordan
16-07-2007, 20:13
verissimo! ma è meglio precisare che vendere il software non è l'unico modo per fare soldi, infatti chi ci guadagna qualcosa usando la GPL vende servizi correlati al software (o comunque guadagna in maniera indiretta)
giusto per dire che non si vive di aria :)

Veramente l'impressione che ho io è che a parte alcune nicchie di utenza, a vendere software oggi si fa la fame... :asd: Tutti considerano il software come una cosa dovuta e che debba essere necessariamente gratuita. Io personalmente odio tutti quelli che vanno predicando ideali di software libero che non hanno nemmeno capito, solo perchè è roba che non si paga e si sentono la coscienza a posto (o non hanno rotture di palle con i crack).
Lo stanno tutti rilasciando sotto licenze aperte per dedicarsi ai contratti di supporto. La Sun addirittura ha liberato l'intero portfolio software a disposizione, da Java ai compilatori C/C++/Fortran agli IDE ai sistemi operativi...

Furla
16-07-2007, 23:40
No non è solo lavorare. A detta tua, la tua paura è che qualcuno possa far soldi rivendendo il tuo software. Se cosi fosse, allora potresti fare tu la stessa cosa. Se non ci cavi una lira, stai tranquillo che neanche gli altri caveranno una lira dalla rivendita del tuo. La GPL ha molti punti che lasciano dubbi, ma il tempo e l'applicazione dei suoi concetti ha rivelato che molte delle preoccupazioni che si hanno leggendola, in un mondo pratico non costituiscono nessun tipo di problema. [cut]


no, qui non è che io ho un software che non riesco a vendere e che qualcuno ricicla, anzi a quel punto mi farebbe quasi piacere.
io questo programma lo scrivo, lo vendo ad un'azienda che ne ha bisogno (è un programma specifico per quel settore), dopodiché questa, se il mio lavoro è rilasciato sotto GPL, è libera quanto me di venderlo ad aziende che operano nello stesso settore ed hanno altrettanto bisogno di quel programma. solo che io non ho contatti presso altre aziende mentre quelli a cui lo ho venduto sì, quindi per loro sarebbe molto più facile venderlo. non so se ora è chiara la situazione, a me sembra ingiusta.

ora mi guardo la JRL ;)

mjordan
17-07-2007, 09:38
no, qui non è che io ho un software che non riesco a vendere e che qualcuno ricicla, anzi a quel punto mi farebbe quasi piacere.
io questo programma lo scrivo, lo vendo ad un'azienda che ne ha bisogno (è un programma specifico per quel settore), dopodiché questa, se il mio lavoro è rilasciato sotto GPL, è libera quanto me di venderlo ad aziende che operano nello stesso settore ed hanno altrettanto bisogno di quel programma. solo che io non ho contatti presso altre aziende mentre quelli a cui lo ho venduto sì, quindi per loro sarebbe molto più facile venderlo. non so se ora è chiara la situazione, a me sembra ingiusta.

ora mi guardo la JRL ;)

Non confondere la nozione di vendita con la nozione di concessione in licenza. Perchè se il software lo vendi ad un'azienda, ne perdi completamente i diritti. Se lo cedi in licenza, allora i diritti che ti rimangono sono quelli espressi nella licenza d'uso.

Furla
17-07-2007, 11:58
Non confondere la nozione di vendita con la nozione di concessione in licenza. Perchè se il software lo vendi ad un'azienda, ne perdi completamente i diritti. Se lo cedi in licenza, allora i diritti che ti rimangono sono quelli espressi nella licenza d'uso.
esatto, ma se cedessi il software con licenza GPL loro avrebbero, da licenza, il diritto di ridistribuire il software originale o modificato al prezzo che vogliono ed a mia totale insaputa. questo è il software libero, da quanto ho capito.

onestamente mi sembra che la figura professionale del programmatore debba escludere la possibilità di rilasciare sempre e solo licenze free software... e torniamo alla domanda di partenza: esistono licenze che favoriscano la collaborazione e lo sviluppo senza privare l'autore dei sui meriti? o bisogna scriversene una da soli (ovviamente con la consulenza di gente esperta)?

mjordan
17-07-2007, 12:28
esatto, ma se cedessi il software con licenza GPL loro avrebbero, da licenza, il diritto di ridistribuire il software originale o modificato al prezzo che vogliono ed a mia totale insaputa. questo è il software libero, da quanto ho capito.


Proprio per definizione di "libero", appunto.


onestamente mi sembra che la figura professionale del programmatore debba escludere la possibilità di rilasciare sempre e solo licenze free software...


Non direi, la figura professionale del programmatore scrive codice e basta, alle licenze ci pensa la sezione giuridica dell'azienda. Pochi si preoccupano della licenza. In verità mi domando perchè debba preoccupartene pure tu.


e torniamo alla domanda di partenza: esistono licenze che favoriscano la collaborazione e lo sviluppo senza privare l'autore dei sui meriti? o bisogna scriversene una da soli (ovviamente con la consulenza di gente esperta)?

Quali meriti? La GPL prevede il riconoscimento e l'attribuzione della creazione all'autore originale. E' inutile stare a parlare di licenze in questo modo, tutto dipende da quello che vuoi. E quello che vuoi, giuridicamente parlando, non si espone in 4 righe di forum.

k0nt3
17-07-2007, 13:25
esatto, ma se cedessi il software con licenza GPL loro avrebbero, da licenza, il diritto di ridistribuire il software originale o modificato al prezzo che vogliono ed a mia totale insaputa. questo è il software libero, da quanto ho capito.

si ma hanno l'obbligo di riconoscere l'autore originale del software e di distribuire i sorgenti del software modificato. non capisco quale pazzo fa pagare qualcosa che te rilasci gratuitamente.. ma soprattutto quale pazzo lo acquisterebbe?

onestamente mi sembra che la figura professionale del programmatore debba escludere la possibilità di rilasciare sempre e solo licenze free software... e torniamo alla domanda di partenza: esistono licenze che favoriscano la collaborazione e lo sviluppo senza privare l'autore dei sui meriti? o bisogna scriversene una da soli (ovviamente con la consulenza di gente esperta)?
assolutamente falso! come avevo accennato prima il business dell'opensource non è nella concessione in licenza del software (che avviene quasi sempre gratuitamente), ma in una serie di servizi collegati e collaterali al software in sè. pensa all'assistenza, ai manuali, a ulteriore software opzionale che può essere a pagamento oppure pensa al caso in cui il software in questione è solo un client che si deve interfacciare a un server che magari non è ne opensource ne gratuito. pensa ai webservices dove paghi ogni volta che usi il software e non per aver acquistato la licenza d'uso.. non so se mi sono spiegato :)
ti sembra che aziende come IBM, sun, trolltech, novell e redhat si divertono a buttare via i soldi nell'opensource?
la GPL favorisce la collaborazione e lo sviluppo perchè tutto il software che deriva da software licenziato con la GPL deve essere GPL, inoltre non priva l'autore dei suoi meriti perchè il copyright sul codice è riconosciuto dalla licenza e solo chi possiede il copyright sul software può decidere che licenza utilizzare, gli altri si adeguano.

Furla
17-07-2007, 18:39
mjordan, a me è capitato diverse volte che mi venisse chiesto di realizzare un programma, solitamente con l'obiettivo di automatizzare certe operazioni ripetitive che si fanno negli uffici. ancora non lavoro nel campo, ma l'idea che mi sono fatto è che già da soli, per il genere di lavori che mi sono stati proposti, si è in troppi. per questo, e per il fatto che nella mia zona non conosco aziende del settore, l'idea di lavorare in una azienda non mi attrae. comunque, se dovessi convincermi del contrario, sicuramente vorrei capire che diritti ha l'azienda in cui lavoro su quello che scrivo... in genere come funziona?

si ma hanno l'obbligo di riconoscere l'autore originale del software e di distribuire i sorgenti del software modificato. non capisco quale pazzo fa pagare qualcosa che te rilasci gratuitamente.. ma soprattutto quale pazzo lo acquisterebbe?
ma il mio obiettivo non è rilasciare un software gratuitamente, sta qui il punto. uno mi chiede un programma, io glielo faccio e lui mi paga.
se lui conosce altre persone a cui servirebbe, di certo sarebbe bello che anche loro potessero usufruire del mio software, anche modificato e ampliato, ma dovrebbero pagare (anche) me. specialmente perché per loro l'utilizzo del software è già un guadagno.

la mia impressione è che una licenza free software non si addice a programmi specializzati nel fare un certo lavoro ed aventi l'unico fine di aumentare i guadagni di chi ha bisogno di quel lavoro. forse è perché ho una visione troppo meritocratica del mercato e del lavoro.

al contrario, sono convinto che licenze come la GPL siano l'ideale per applicazioni di pubblica utilità, realizzate grazie a progetti di collaborazione, che hanno vasta diffusione, lavorare sulle quali è già di per sé un merito, e che hanno grossi margini di espandibilità sui quali ci si può basare per altre iniziative free o che siano "pane" per chi offre servizi, magari più complessi, a pagamento.
ma almeno per ora non sono i casi che già mi trovo ad affrontare e che (credo) affronterò.


assolutamente falso! come avevo accennato prima il business dell'opensource non è nella concessione in licenza del software (che avviene quasi sempre gratuitamente), ma in una serie di servizi collegati e collaterali al software in sè. pensa all'assistenza, ai manuali, a ulteriore software opzionale che può essere a pagamento oppure pensa al caso in cui il software in questione è solo un client che si deve interfacciare a un server che magari non è ne opensource ne gratuito.
va bene, hai un software libero "pilota" da diffondere e dei servizi opzionali che ruotano intorno ad esso, ma questi servizi non sono free. per questo ho scritto "rilasciare sempre e solo licenze free software...".

k0nt3
17-07-2007, 19:22
direi che la soluzione è usare la doppia licenza (GPL/commerciale) come fanno trolltech, mysql ecc... l'avevo già accennato prima, ma se lo vuoi fare hai bisogno di qualcuno competente nel settore :O
tuttavia mi sfugge il motivo per cui vuoi rendere pubblici i sorgenti dei tuoi programmi... non potresti usare una licenza commerciale e buona notte?

Furla
18-07-2007, 01:15
tuttavia mi sfugge il motivo per cui vuoi rendere pubblici i sorgenti dei tuoi programmi... non potresti usare una licenza commerciale e buona notte?
vorrei che i miei sorgenti fossero fruibili, in modo che chiunque possa usarli come base per ampliarli. mi sembra scorretto il negare questa possibilità.
mi spiego meglio con un esempio:
il solito Tizio mi chiede un programma che ha determinate specifiche. io gli faccio il programma. dopo qualche tempo Tizio ha bisogno di fare delle modifiche al software. se lui non ha nemmeno il diritto di vedere il sorgente, è in qualche modo vincolato nelle sue scelte, perché queste modifiche le posso fare solo io e posso sfruttare questa situazione, oppure negargli la possibilità di farle, costringendolo a farsi fare daccapo il programma da qualcun altro o a rinunciare.
invece io vorrei che Tizio possa venire da me o, indifferentemente, andare da Caio e dirgli: "guarda ho questo sorgente, me lo fai su questa base un programma che fa anche qualcos'altro?" poi Caio fa questo suo bel programma basato sul mio per Tizio, ma deve poter andare da Sempronio e dirgli: "guarda ho questo programma modificato, se vuoi te lo vendo, ma una parte di quello che paghi va all'autore dell'originale" (che sarei io :D).


l'idea che mi è venuta per ottenere questo effetto è una licenza sul sorgente, sul quale l'utente che l'abbia acquistata ed accettata ha tutti i diritti (compilarlo con o senza modifiche, per esempio), ma la ridistribuzione è vincolata:
1- la ridistribuzione deve avvenire sotto la stessa licenza;
2- l'acquisto della licenza del sorgente modificato implica (in qualche modo) l'acquisto della licenza del sorgente originale (la base di quello modificato)

che ne pensate? strampalata idea notturna o è un buon inizio? :D

mjordan
18-07-2007, 15:25
Allora, Tizio compra il programma da te, lo modifica e lo rivende a Sempronio. Sempronio lo modifica e lo rivende a Pinco, che a sua volta lo modifica e lo rivende a Pallino. Pallino ha molti amici, chiamati X, Y, Z. Tutti lo ricomprano modificandolo successivamente e rivendendolo all'altro amico.

Quando Z, l'ultimo anello dell'associazione a delinquere, avrà comprato il programma con tante di quelle modifiche che magari dell'autore originale non ci è rimasto piu' niente, se non il nome, quanto lo dovrebbe pagare come prezzo finale? Secondo me, nel voler concedere una liberta, cosi come la imposti crei solamente un'ulteriore restrizione.

Praticamente col ragionamento che fai, si implica che tu guadagni sempre e comunque anche dalle modifiche degli altri in modo retro-attivo. In sostanza: un modello di business che non funzionerà mai. Perchè nella GPL, per esempio, si trasmettono in modo virale le "libertà", qui invece in modo virale si trasmettono i guadagni. :) E siamo sempre in un contesto di ideale dove tutti su questo pianeta rispettano le licenze... Nella pratica sappiamo che è ben diverso.

Secondo me faresti meglio a rilasciare i sorgenti al solo scopo di "studio" senza possibilità di modifica e continuare ad applicare i tradizionali canoni commerciali per la rivendita. Alternativamente, la doppia licenza è la scelta migliore (provato sul campo il funzionamento da aziende reali).

Furla
18-07-2007, 23:51
eh sì, ci ho pensato anche io al fatto che ad un certo punto servono 300 licenze per usare un programma. non so se si può, su questa base, fare qualcosa di meglio, facendo in modo che conti anche quanto rimane dell'originale...

in alternativa, per doppia licenza intendete una senza sorgente solo per l'utilizzo ed una con qualche diritto sul sorgente per lo sviluppo?

k0nt3
19-07-2007, 11:11
eh sì, ci ho pensato anche io al fatto che ad un certo punto servono 300 licenze per usare un programma. non so se si può, su questa base, fare qualcosa di meglio, facendo in modo che conti anche quanto rimane dell'originale...

in alternativa, per doppia licenza intendete una senza sorgente solo per l'utilizzo ed una con qualche diritto sul sorgente per lo sviluppo?
una a pagamento per lo sviluppo di applicazioni commerciali, mentre una gratis per lo sviluppo di applicazioni libere. sembra funzionare piuttosto bene

Furla
19-07-2007, 13:14
no, forse ti sei perso qualche battuta: la GPL (o qualsiasi altra licenza free software) non è adatta al tipo di programmi che rilascio.

pfinet
20-07-2007, 12:32
Ho letto la discussione, dunque alla fine se un programmatore vuole vendere software e consentire al cliente di vedere il sorgente, la soluzione piu pratica è usare una licenza commerciale con una clausola pseudo-free che permette al cliente di vedere il codice ed eventualmente modificarlo per uso personale ma senza il permesso di distribuirlo.

Far vedere il sorgente sarebbe anche giusto come principio, perche cosi il cliente puo vedere se il codice è di qualita oppure no, se è ottimizzato, se esegue operazioni pericolose, puo effettuare dei test per la sicurezza su dei punti per loro critici...

Pero anche questa soluzione ha un difetto: chi impedisce al cliente che mi ha comprato il software di prendere in visione il sorgente, modificarlo, cambiargli interfaccia, ricompilarlo e rivenderlo come closed-source spacciandolo interamente per proprio?
Sarebbe illegale, ma credo che molta gente non se ne farebbe scrupoli...
Sono cose che succedono spesso nel mondo reale?
L'unico modo che un programmatore libero professionista ha per tutelarsi è scrivere il codice, distribuire solo i binari e mettere i sorgenti in cassaforte, senza farli vedere a nessuno?

mjordan
20-07-2007, 15:11
Pero anche questa soluzione ha un difetto: chi impedisce al cliente che mi ha comprato il software di prendere in visione il sorgente, modificarlo, cambiargli interfaccia, ricompilarlo e rivenderlo come closed-source spacciandolo interamente per proprio?
Sarebbe illegale, ma credo che molta gente non se ne farebbe scrupoli...
Sono cose che succedono spesso nel mondo reale?


Se è per questo allora non è che devi rilasciare i sorgenti per farti violare una licenza... :)


L'unico modo che un programmatore libero professionista ha per tutelarsi è scrivere il codice, distribuire solo i binari e mettere i sorgenti in cassaforte, senza farli vedere a nessuno?

Nemmeno quello, perchè un programma può essere comunque distribuito in modo illecito. Diciamo che uno dei migliori modi attualmente usati per "proteggersi" è quello di usare chiavi hardware a crittografia forte.

PGI-Bis
20-07-2007, 15:29
Io ho scritto per 12 anni applicazioni su commissione e posso dire con una certa onestà che della fine che fanno i tuoi sorgenti o se qualcuno spaccia per proprio quello che è tuo non te ne frega niente. Il 99.9 percento dei programmi che ti chiedono sono interessanti per l'idea ma la realizzazione è sempre quella. Il restante 0.1% è roba che, se hai un minimo di coscienza, rifiuti perchè ci vuole una software house.

Con questo voglio dire che non devi ingigantire la faccenda pensando che ti troverai a realizzare il programma che farà fare stramiliardi e tu resti a becco asciutto. Per lo più sono cose che hanno un utilità specifica per il committente. Non ti chiedono di fargli un framework per la gestione dei magazzini di imprese agricole, ma UN gestionale per UN magazzino.

E' difficile che ti capiti di creare software destinato alla distribuzione e se capita devono dirtelo perchè un conto è scrivere un programma per una postazione, un conto è farlo per mille. Cambia il profilo utente, cambia il versionamento, il sistema di distribuzione degli aggiornamenti, i requisiti software e hardware... è un altro pianeta.

Furla
20-07-2007, 17:44
PGI, tu quindi dici che non vale nemmeno la pena di preoccuparsi per la licenza?

io penso che invece sia relativamente facile tenere il controllo della situazione, visto e considerato che se i committenti non sono aziende troppo piccole è difficile che rischino di commettere delle illegalità per risparmiare qualche centinaia di euro. dovrebbero avere paura dei controlli, anche perché se li beccano gli fanno un bel mazzo. infatti tutte le aziende usano OS e programmi originali (e qui si va già sulle migliaia di euro, spesso), quindi difficilmente farebbero un'eccezione per il tuo programma.

k0nt3
20-07-2007, 19:08
a me personalmente mi è capitato di fare un gestionale per UN magazzino come dice PGI e sinceramente mi sono accordato con l'azienda in questione per un prezzo ragionevole, ma di quello che succede al mio codice non mi interessa davvero niente. non credo che ci sia qualche interesse nell'implementazione di un gestionale.. c'è già una bella letteratura a riguardo :O

Mixmar
21-07-2007, 15:10
Non ho letto tutta la discussione, ma vorrei comunque aggiungere un mio piccolo contributo, relativamente al problema della diffusione del sorgente di un programma direttamente a chi lo ha commissionato da chi lo ha scritto.

Io ritengo che il problema della diffusione del codice sia in realtà minore di quello che si potrebbe pensare, in termini di rischi di perdita di diritti (e profitti, of course) da parte del vero autore del codice, basandomi sulla semplice considerazione che il codice scritto da un altro è normalmente... difficilmente interpretabile da altri che non lo stesso autore.

Voglio cioè dire che anche se, come ricordava PGI-bis, alla fine probabilmente quello che si va a produrre non è niente di assolutamente innovativo in sè (il "solito" gestionale del "solito" magazzino), il modo di scrivere il codice, quando supera una certa complessità, è talmente "personale" che alla fine il risultato sarà comunque ingarbugliatissimo, per chi non ragioni secondo la testa dell'autore.

Certo, una delle qualità del software scritto "bene" dovrebbe essere la leggibilità, ma considerato questa si ottiene spesso al prezzo di altri fattori più "pressanti", almeno agli occhi dei committenti (tempi di consegna, costi, ancora costi, sempre costi... ;-) ), si capisce che il software leggibile debba essere veramente poco.

Può darsi che chi ha ricevuto (e pagato) il software pensi di farne l'uso che gli pare, e "rivenderlo" (o semplicemente usandolo al di là della licenza che gli è stata concessa dallo sviluppatore, per esempio estendendone arbitrariamente le condizioni di tempo e/o gli ambiti d'uso), però presto o tardi le esigenze di manutenere il software si faranno sentire, e probabilmente, per le ragioni sopra esposte, si troverà costretto a rivolgersi alla stessa persona che ha "ingannato", cioè il programmatore appunto. Che ha questo punto potrà rinegoziare il contratto, in posizione di netto vantaggio.

Naturalmente, se il software non fosse un granchè, le carte del contratto fossero state scritte da un avvocato incapace, o se il committente disponesse di una propria squadra di tecnici addetti a decodificare il lavoro altrui per rivenderlo (ma se ha tecnici così capaci, perchè non se lo sviluppa "in casa", il prodotto?), allora non varrebbero più le premesse e il lavoro sarebbe bell'è che perso: però, mi sembrano eventualità piuttosto improbabili.

mjordan
23-07-2007, 04:24
PGI, tu quindi dici che non vale nemmeno la pena di preoccuparsi per la licenza?

io penso che invece sia relativamente facile tenere il controllo della situazione, visto e considerato che se i committenti non sono aziende troppo piccole è difficile che rischino di commettere delle illegalità per risparmiare qualche centinaia di euro.


E' anche molto difficile che un'azienda non proprio piccola (diciamo dalla Srl in su) che non lesini risparmiare qualche centinaio di euro si rivolga al singolo individuo per commissionare un software, se per questo ;)


dovrebbero avere paura dei controlli, anche perché se li beccano gli fanno un bel mazzo. infatti tutte le aziende usano OS e programmi originali (e qui si va già sulle migliaia di euro, spesso), quindi difficilmente farebbero un'eccezione per il tuo programma.

Conosco aziende medio/grandi, dove la Guardia di Finanza, proprio per il quieto vivi/lascia vivere, controlla la presenza di UNA sola licenza originale. Se quel programma richiede una licenza per ognuna delle 20 postazioni che hai, e tu ne hai pagata una per tutte e 20, può darsi che non ti facciano niente.
L'idealismo è una cosa ma la realtà ne è un'altra :D
Del resto un'azienda media che necessita di 20 licenze di un programma da 5000€ l'una, capace che neanche li fattura quei soldi...