View Full Version : proteggere con GPL su SourceForge
sto facendo un piccolo progettino per Windows su SourceForge (questo (http://sf.net/projects/vdiskman) :D ^^ ) e nella registrazione ho messo GPL come licenza. devo fare qualcos'altro affinché il mio progetto sia protetto da licenza GPL? serve che lo scrivo in tutti i sorgenti? compresi i files "sources" e "dirs" per il Build Environment del DDK? (per chi non lo sapesse, sono dei files che svolgono più o meno la funzione di makefiles)
sottovento
20-08-2006, 19:09
sto facendo un piccolo progettino per Windows su SourceForge (questo (http://sf.net/projects/vdiskman) :D ^^ ) e nella registrazione ho messo GPL come licenza. devo fare qualcos'altro affinché il mio progetto sia protetto da licenza GPL? serve che lo scrivo in tutti i sorgenti? compresi i files "sources" e "dirs" per il Build Environment del DDK? (per chi non lo sapesse, sono dei files che svolgono più o meno la funzione di makefiles)
Io ce l'ho messo, e l'ho messo anche nella demo di utilizzo della libreria che ho pubblicato (https://sourceforge.net/projects/derive :D ). Il mio consiglio e' di fare altrettanto
High Flying
Sottovento
ok, però che ci scrivo? :p
il testo che bisogna scrivere è sempre lo stesso (magari definito nella licenza stessa) o lo compone il programmatore? e fatto questo è a posto così, sono protetto legalmente da quella licenza?
ilsensine
21-08-2006, 09:53
Questa è una forma standard:
/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
Inoltre aggiungi un file LICENSE.txt al progetto, con la gpl completa.
e fatto questo è a posto così, sono protetto legalmente da quella licenza?
Un driver per windows con licenza gpl...ti conviene per scrupolo sentire la fsf per sapere se è una accoppiata possibile.
Questa è una forma standard:
[...]
Inoltre aggiungi un file LICENSE.txt al progetto, con la gpl completa. ti ringrazio; e chiaramente (come scritto nel testo) devo anche dare all'utente la possibilità di leggerla alla prima esecuzione, giusto?
Un driver per windows con licenza gpl...ti conviene per scrupolo sentire la fsf per sapere se è una accoppiata possibile. ecco perché ancora non trovo un firewall open source decente :D :muro:
ilsensine
21-08-2006, 11:21
ti ringrazio; e chiaramente (come scritto nel testo) devo anche dare all'utente la possibilità di leggerla alla prima esecuzione, giusto?
mmm mi sembra di no. Basta che l'utente sia informato, ad es. con un README incluso nel pacchetto di installazione (o visualizzato dall'installer).
ecco perché ancora non trovo un firewall open source decente :D :muro:
OSS!=GPL. Con licenze BSD o LGPL probabilmente non hai problemi, ho solo un dubbio riguardo la GPL.
mmm mi sembra di no. Basta che l'utente sia informato, ad es. con un README incluso nel pacchetto di installazione (o visualizzato dall'installer). ma il programma non ha un installer: l'eseguibile contiene il driver nelle risorse e lo estrae ogni volta (almeno per ora, poi può essere che farò una cosa decente)
OSS!=GPL. Con licenze BSD o LGPL probabilmente non hai problemi, ho solo un dubbio riguardo la GPL. alla fine una letta alla GPL me la sono data; vedo che la differenza tra questa e la LGPL è che la prima non permette (da quanto ho capito) di usare parte del o tutto il mio prodotto in lavori protetti da un'altra licenza, la LGPL invece si; per esempio se il mio prodotto è una DLL per Windows sotto GPL, vi si potranno linkare solo programmi protetti da GPL (e quindi open source). come mai questa differenza dovrebbe eliminare il problema dell'accoppiata driver per Windows / GPL? nel mio driver io chiamo funzioni di Windows ma deve essere anche Windows a chiamare funzioni mie (dispatch routines); è per questo?
ah, e un'altra cosa: è legale che io, dopo aver committato nel repository una versione dei sorgenti con l'annuncio della GPL, di punto in bianco decida di cambiare l'annuncio per proteggere il progetto con un'altra licenza, e di cambiare il contenuto del file LICENSE.txt? se il repository documenta nel versioning un simile atto da parte dell'autore, quello è un reato? cosa potrebbe succedere all'autore come sanzione?
ilsensine
21-08-2006, 12:07
Non conosco le politiche di sf, faresti meglio a chiedere a loro. Se comunque cambi gpl->altra licenza libera non credo che avranno alcuna obiezione.
Ripeto che è meglio che senti quelli della fsf, per un consiglio legale su quale licenza utilizzare per un driver di windows.
scusate, mi intrometto
Questa è una forma standard:
... licenza postata...
ah, non c'era la parte del copyright?
io la ho copiata da non so bene dove e all'inzio compare una cosa del tipo
APPLICAZIONE is copyright ANNO, PROPRIETARIO
This file is part of APPLICAZIONE.
è da togliere?
è per questo che nell'altro 3d ti ho chiesto che devo mettere nel modulo del kernel ;)
ciao!!
ilsensine
21-08-2006, 12:33
ah, non c'era la parte del copyright?
io la ho copiata da non so bene dove e all'inzio compare una cosa del tipo
APPLICAZIONE is copyright ANNO, PROPRIETARIO
This file is part of APPLICAZIONE.
Ah sì, andrebbe inserito anche qualcosa del genere. La seconda riga credo sia superflua.
Non conosco le politiche di sf, faresti meglio a chiedere a loro. Se comunque cambi gpl->altra licenza libera non credo che avranno alcuna obiezione. :confused: strano, sapevo che una volta scelta la GPL non si potesse più cambiare...
Ripeto che è meglio che senti quelli della fsf, per un consiglio legale su quale licenza utilizzare per un driver di windows. ok, da dove posso contattarli? comunque a me va benissimo anche la LGPL se le differenze sono solo quelle che ho capito io.
:confused: strano, sapevo che una volta scelta la GPL non si potesse più cambiare...
non vorrei dire cavolte, ma xfree non era sotto gpl prima della 4.4?
in questo caso in qualche modo si può cambiare (dato che loro lo hanno fatto), solo non giurerei che le mie premesse fossero giuste :D
ciao!!
ilsensine
21-08-2006, 14:09
non vorrei dire cavolte, ma xfree non era sotto gpl prima della 4.4?
No, non è mai stato GPL. E non è mai stato su sf.
DanieleC88
21-08-2006, 22:44
La GPL non permette la chiusura del software che è derivato dal lavoro originale open source, per evitare che se ne possa fare del software proprietario indebitamente, ma credo che ciò non valga per lo stesso prodotto originale. Ad esempio, ricordo che un tempo TuxRacer era sotto GPL, fino alla versione 0.60, circa; in seguito è diventato commerciale ma è nato PlanetPenguin Racer dal vecchio TuxRacer (GPL) modificato.
sto facendo un piccolo progettino per Windows su SourceForge (questo ^^ )
wow dalla descrizione ho scoperto che assomiglia moltissimo ad un progettino che ho fatto per l'università sotto unix :D
wow dalla descrizione ho scoperto che assomiglia moltissimo ad un progettino che ho fatto per l'università sotto unix :D fidati che qua è tutt'altra cosa :mc:
all'università non vi fanno programmare drivers, e tempo fa ho visto sul forum una tizia che chiedeva aiuto su come fare un programma (completamente user mode e basato idiotissimamente sulla shell) per simulare la presenza di sedicenti hard disk virtuali che altri programmi non sarebbero stati in grado di usare se non col supporto del programma stesso (abbastanza inutile come cosa); suppongo il tuo progetto fosse come quello, giusto?
e poi si sa, in Windows la programmazione di drivers è *particolarmente* ostica
non intendevo sminuire il tuo lavoro paragonandolo ad un progettino universitario :)
era solo per dire che anche io avevo fatto qualcosa di simile..ora che so meglio come funziona il tuo posso dire che è più simile a quello della tipa :fagiano:
cmq questo progetto (che concordo con te nell'essere terribilmente stupido ed inutile) era stato assegnato per studiare un po' più a fondo rispetto a come è scritto sui libri come funziona un filesystem..e mi è servito anche per portare a casa un bel 30L :yeah:
all'università non vi fanno programmare drivers
purtoppo è terribilmente vero :muro:
cmq complimenti per il tuo lavoro..penso che lo scaricherò :D
[...] e mi è servito anche per portare a casa un bel 30L :yeah: hm hm hm hm hm http://forums.nsn3.net/style_emoticons/default/55.gif
purtoppo è terribilmente vero :muro: lo so perché la cosa riguarda anche me -.-
cmq complimenti per il tuo lavoro..penso che lo scaricherò :D denghiù ^^
ilsensine
22-08-2006, 15:04
all'università non vi fanno programmare drivers
Alla mia ex sì (ci sono Bovet e Cesati, molto noti nel mondo linux). Non per windows, però...
Alla mia ex sì (ci sono Bovet e Cesati, molto noti nel mondo linux). Non per windows, però... per la serie "ho visto cose che voi umani non potete neanche immaginare", in Windows la programmazione di drivers è tutto un altro mondo: decisamente più ostica e complessa. questo (imho) perché Linux, che alla fine diciamocelo apertamente e senza tante discussioni sterili, mira prevalentemente all'ambiente server, deve girare solo con determinate categorie di hardware, e di conseguenza non necessita di un driver model sviluppato come quello di Windows che al contrario, mirando prevalentemente all'ambiente desktop, deve essere in grado di supportare le situazioni hardware più assurde con un utente che si aspetta che il tutto funzioni senza tante storie. esempio: joystick collegato a 3 replicatori USB in serie (di cui uno di un'altra marca) collegati ad un hub collegato al bus PCI. e su uno dei 3 replicatori (non lo stesso del joystick, altrimenti troppo facile :D) ci attacco anche due fotocamere digitali, e sull'altro uno scanner. una simile situazione hardware non capita in un server ma potrebbe capitare nel desktop di un sadico; alla fine non dico che Linux non funzionerebbe e Windows si, ma Windows è fatto apposta per queste cose, Linux no.
esempio: joystick collegato a 3 replicatori USB in serie (di cui uno di un'altra marca) collegati ad un hub collegato al bus PCI. e su uno dei 3 replicatori (non lo stesso del joystick, altrimenti troppo facile :D) ci attacco anche due fotocamere digitali, e sull'altro uno scanner. ah, il tutto ovviamente rigorosamente PnP
DanieleC88
23-08-2006, 12:06
deve girare solo con determinate categorie di hardware, e di conseguenza non necessita di un driver model sviluppato come quello di Windows
Non è proprio esatto, Linux è il SO che supporta più hardware al mondo, e non ha un driver model stabile perchè... Linux is evolution. :D
Curiosità: un progetto univeristario si potrebbe proteggere con qualche licenza in qualche modo? Cioè poterlo presentare liberamente al prof ma evitare che qualcuno possa usare liberamente il codice?
ilsensine
23-08-2006, 14:44
deve girare solo con determinate categorie di hardware
Bè strano per un s/o che suppoorta, nativamente, la maggiore quantità di hw e architetture di chiunque altro :)
non necessita di un driver model sviluppato come quello di Windows
Windows ha il "problema" di non poter cambiare interfaccia con i driver all'interno di una stessa release, cosa che può avvenire in qualsiasi momento con linux; quindi il suo "driver model" deve essere per forza accuratamente meditato, altrimenti sono dolori...
Ti andrebbe se hai tempo di scrivere un piccolo tutorial?
Bè strano per un s/o che suppoorta, nativamente, la maggiore quantità di hw e architetture di chiunque altro :) "supporta nativamente" suppongo significhi che Linux è in grado di gestire la maggior quantità di hardware senza bisogno dell'installazione di driver esterni, in altre parole che è il sistema operativo meglio aderente a tutte le pubbliche specifiche hardware del mondo; ma con tutto questo ci faccio poco: inutile che un sistema operativo ambisca a supportare nativamente dell'hardware se tanto gli stessi produttori scrivono i drivers.
analogamente dicasi per le architetture: gli unici componenti presenti nel CD di installazione di Windows strettamente legati alle singole architetture sono l'HAL e i due kernel (quello per i single-core e quello per i multicore), sempre ovviamente che non cambi anche il linguaggio macchina; per effettuare un porting di Windows su un'altra architettura basta cambiare quei tre componenti, e al limite ricompilare tutti gli altri eseguibili se il processore è diverso. almeno questo è quanto dichiarato da Microsoft Press nei suoi libri... :D
Windows ha il "problema" di non poter cambiare interfaccia con i driver all'interno di una stessa release, cosa che può avvenire in qualsiasi momento con linux; quindi il suo "driver model" deve essere per forza accuratamente meditato, altrimenti sono dolori... concordo, ma l'affermazione mi fa sorgere un dubbio: che succede su Linux se l'installazione di due drivers diversi richiede modifiche diverse di uno stesso file sorgente del kernel? (perdonami se ho detto una boiata :fagiano: )
Ti andrebbe se hai tempo di scrivere un piccolo tutorial? sulla programmazione di drivers per Windows? ti assicuro che è inutile: qualsiasi tutorial ometterebbe cose importanti per il semplice fatto che in MSDN il WDK (Windows Driver Kit) di ogni cosa dice già tutto e dice solo l'essenziale. riconosco che certe volte tocca saper interpretare alcune piccole sottigliezze, ma postando sui newsgroups di Microsoft ce la si cava benissimo.
io, non sapendo questa cosa, ho iniziato con un tutorial (uno di CodeProject per l'esattezza), e come conseguenza il mio primo driver era scritto male.
ilsensine
24-08-2006, 09:10
"supporta nativamente" suppongo significhi che Linux è in grado di gestire la maggior quantità di hardware senza bisogno dell'installazione di driver esterni, in altre parole che è il sistema operativo meglio aderente a tutte le pubbliche specifiche hardware del mondo
mmm non proprio; esistono nel kernel dei driver che hanno un solo utilizzo noto nel mondo
concordo, ma l'affermazione mi fa sorgere un dubbio: che succede su Linux se l'installazione di due drivers diversi richiede modifiche diverse di uno stesso file sorgente del kernel? (perdonami se ho detto una boiata :fagiano: )
Non esiste che sia il driver a "comandare" quale sia l'interfaccia da utilizzare nel kernel :)
E' vero il contrario; se una modifica al core del kernel implica un cambio di interfaccia per alcuni driver, sono i driver a dover essere aggiornati. Per i driver nel kernel se ne occupano gli stessi che modificano l'interfaccia; altrimenti è onere dei mantainer dei driver (questo è uno dei motivi per cui c'è un forte incoraggiamento a far accettare i propri driver direttamente nel kernel).
ilsensine
24-08-2006, 09:42
sulla programmazione di drivers per Windows? ti assicuro che è inutile: qualsiasi tutorial ometterebbe cose importanti per il semplice fatto che in MSDN il WDK (Windows Driver Kit) di ogni cosa dice già tutto e dice solo l'essenziale. riconosco che certe volte tocca saper interpretare alcune piccole sottigliezze, ma postando sui newsgroups di Microsoft ce la si cava benissimo.
io, non sapendo questa cosa, ho iniziato con un tutorial (uno di CodeProject per l'esattezza), e come conseguenza il mio primo driver era scritto male.
Mah, avevo visto una directory "include/ddk" dentro un mingw e mi stavano venendo strane idee... :fagiano:
Mah, avevo visto una directory "include/ddk" dentro un mingw e mi stavano venendo strane idee... :fagiano: lascia perdere quel DDK che è na c***ta :D
l'unico vero DDK decente è l'originale: tra strutture opache o non documentate per niente, funzioni implementate in doppia versione (inline e linkate dinamicamente), e legami stretti allo specifico compilatore (alcune funzioni standard built-in, direttive #pragma specifiche ed essenziali) è impossibile riscrivere headers decenti, lo potrebbe fare solo Microsoft (forse).
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.