[frissítve] licenc kérdés

Szeretnék egy open source projektet kezdeni, és elakadtam a licencelésnél. A google által talált cikkek megvoltak, de még mindig nem tudtam dönteni, a tucatnyi népszerű licencet végigolvasni most hosszadalmas lenne, ezért kérek itt egy kis iránymutatást.

Amit szeretnék:
1. népszerű, széles körben támogatott licenc legyen (mert az jó eséllyel jobb, van mögötte közösség, ügyvédek, stb., lásd gplviolations vagy más szervezet ki tud állni értem, a potenciális felhasználók nem ijednek el egy ismeretlen licenctől, stb.)
2. ha valaki zárt forrásként vagy pénzért akarja terjeszteni, azt ne tehesse meg (pontosabban fizessenek nekem, ez úgyis egyedi alapon majd, a default licencre koncentráljunk)
3. más népszerű licencekkel terjeszthető, módosítható legyen

Tehát alapvetően a nagy open source közösségnek akarok adni valamit.

1. és 2. alapján a GPL tűnik nyerőnek, viszont ez megbukik a 3.-on, mivel csak GPL-el lehet továbbterjeszteni, amit túl nagy megkötésnek érzek. Láttam pár engedékenyebb licencet, pl. EPL, de az már túl engedékeny, mert azt olvastam, hogy zárt forrásként is lehet továbbterjeszteni. Az ettől még engedékenyebb licencek, BSD meg barátai pedig végképp nem jók nekem.

FRISSÍTVE

A 3. pontot rosszul fogalmaztam. Erre gondoltam: terjeszthető legyen más programok részeként, amik szintén szabad szoftverek, de nem feltétlenül azonos licenccel. Ezért olvasni azt itt-ott, hogy egyesek elijednek a GPL-től, mert az kőkeményen share-alike. Az LGPL zárt forrásban is enged terjeszteni, az meg azért nem jó. Tehát a kérdés leginkább az, hogy van-e olyan licenc, ami hasonlít a GPL-re, de kicsit szabadabb a szoftvert felhasználó más fejlesztők számára. Csináljam azt, hogy alapvetően GPL, és odaírom kivételnek, hogy EPL, CDDL, stb. licencű szoftverekben is felhasználható?

Eszembe jutott, hogy még mindig nem voltam teljesen pontos. Van olyan felhasználás, hogy egy másik fejlesztő forkolja, saját néven továbbfejleszti a projektemet, és ezt hogyan teheti meg, na ebből a szempontból nekem jó a GPL. És van olyan felhasználás is, hogy egy fejlesztő nem nyúl hozzá, hanem eredeti formájában felhasználja egy teljesen más projekthez libraryként, na itt nem akarom megkövetelni, hogy az a másik szoftver GPL-es legyen, csak annyit akarok, hogy szabad szoftver legyen. Így a 2. és 3. pont már kb. ugyanarról szól. Közben már arra is kezdek rájönni, hogy talán hülye vagyok, mert a GPL pont ilyen, vagy tévedek?

Hozzászólások

bsdlgpl+propietary dual licencelés? á la mysql volt még a MySQL AB korában?

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

kicsit ellentmondasos a dolog, nem? 1, 2. pont: gpl. oke, fasza. 3: megvaltoztat(hat)ja'k barmire, azaz ellentmondhat a gpl-nek ill ezaltal elveszted azokat az elonyoket amit a gpl altal nyersz.

Ilyen nem letezik. GPL van a legkozelebb (1 & 2), de 3. miatt megbukik. Onnantol, hogy mas, nepszeru licenszre at lehet valtani, 1 & 2 megbukik.

Ha azt akarod, hogy mas licenszu programokhoz lehessen linkelni, akkor GPL + exception. Ha azt akarod, hogy ehhez lehessen mas, nem GPL programot linkelni, akkor LGPL.

Dual licensz nem jo neked, szerintem, mert akkor 2 potencialisan kiesik.

Ha mindenképp nyíltan akarod tartani, akkor viszonylag kevés választásod van, ha a harmadik feltételnek is meg akarsz felelni, akkor meg még kevesebb. Alternatív opció, hogy írsz saját licencet*, amiben meghatározod, hogy mit lehet és mit nem.

Esetleg kettős GPL/BSDL licencelés nem kereskedelmi felhasználású kivétellel. Viszont vedd figyelembe, hogy ezek terjesztésre vonatkoznak, arról nem nagyon szól a fáma, hogy mi van akkor, ha valamelyik egy weboldal kliensoldali része (mostanság azért aktuális a téma, nem tudom, hogy téged mennyire érint).

* Bocs, de ennek elírása azért ekkora mennyiségben itt zavaró.

----------------
Lvl86 Troll

Ha azt mondják, hogy ugorj a kútba, ...?

Ha más hülye, attól még te ne legyél, én is próbálok nem az lenni (bár gabucinonak tuti van dossziéja arról, hogy mikor voltam az :-)

C-ben precíz vagy, itt miért ne lennél? nyelv-nyelv.

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

Nadasdy Adam az ELTE BTK dekanja, a Magyar Tudomanyos Akademia nyelveszeti tagozatanak tagja. ne zavarjon, hogy azt mondja, nyelvhelyesseg emberi nyelvek eseten nem letezik.

Az origonak meg az indexnek van egyebkent egy-egy tablazata, melyik gyakran elofordulo idegen szot hogy kell irni - pl. Az index az emailt kovetkezetesen, kotojel nelkul - es ezek tobb ponton kulonboznek.

Szoval ha maganemberektol nem varnank el, hogy a sajat szemelyes kis tablazatunkhoz igazodjanak, ezzel sokat tennenk a tenyleges civilizalodas fele,

"Szoval ha maganemberektol nem varnank el"

Épp csak egy kicsit néz ki gázul, hogyha valaki kiad valamit szarul. Igen, régen én is rosszul írtam, szóltak, hogy nem jó, utánanéztem, javítottam.

Lehet valamit leszarom módon és normálisan is csinálni.

----------------
Lvl86 Troll

azt ertened meg vegre, hogy nem irja rosszul, mivel a celfuggveny csak a fejedben letezik, nincs 'rossz' meg 'jo' csak 'nekem rossz' 'nekem jo'.

Itt nincs gcc amit mindenki hasznal, aztan vagy elfogadja, vagy nem.

Szabad-e rakni vesszot a tomb utolso eleme utan JS-ben? Igen. Miert nem tesszuk ki? Mert IE-ben tilos. Az IE igy gondolja, nincs egyetlen implementacio, ennyi. Magyarbol van 15 millio implementacio, mindenfele forkolt dialektus. Az MHSZ-t felejtsd el, az MHSZ masra valo.

Nem azert linkelek, hogy ignorald, hanem hogy hagyd abba, mert unom a nyelvtannacikat, akik az emberi nyelv definiciojaval sincsenek tisztaban, de egy nemletezo fogalmat - nyelvhelyesseg - eroltetnek.

Van.

És helyesírási szabályzat se dísznek van, hanem hogy meghatározza, hogy hogyan *írd* le a gondolataidat úgy, hogy a többi tizenvalahány millió magyar képes legyen elolvasás után rekonstruálni azokat.

A nyelvhelyesség viszont teljesen más dolog, kb. arról szól, hogy ezt vagy azt így-e kell-e *mondani*-e, vagy csak úgy jó-e. Na erre mondja Nádasdy, hogy nincs egyetemes jó megoldás (ez nem a fénysebesség, hogy akárhányszor méred, mindig ugyanannyi), csak olyan, amiről megegyeztünk hogy "jobbnak" tekintjük, mert alapvetően tökmindegy lenne, viszont tudni kell, hogy ettől még a másik sem lesz "rossz".

"csak olyan, amiről megegyeztünk hogy "jobbnak" tekintjük, mert alapvetően tökmindegy lenne, viszont tudni kell, hogy ettől még a másik sem lesz "rossz"."

Errol beszelek, lasd licensz vs. licenc.

Arrol is beszel ugyanis Nadasdy, hogy ez egy kozossegi egyezmeny, ami az adott kozossegben vagy betartando, vagy sem. Tehat nem a tarsadalom egeszere vonatkozik, es nem lesz valaki "rossz" attol, hogy mashogy irja.

leerettsegiztem belole, es igen, emlekszem a[z emberi] nyelv definiciojara. Rengetegszer felemlegetett tema, en nem maradtam ki egyetemre kerulessel az irodalom-nyelvtan temakorebol, nekem a kedvenc targyaim ezek voltak (mondjuk inkabb az irodalom.), es - vallalom - sok bolcsesz vesz korul a mai napig.

Ne azt nézd, hogy sokszor írtam rosszul, hanem azt, hogy legalább következetes voltam :). Egyébként most utánanéztem, és a licenc nyert, úgyhogy átjavítottam. Azt fenntartom, hogy nem voltam teljesen hülye, mert nem teljesen egyértelmű, köznyelv az, amit a köz beszél, és a többi forma használatára is van sok példa, de ez már egy másik szál legyen :).

--
joco voltam szevasz

"Szeretnék egy open source projektet kezdeni [...] vagy pénzért akarja terjeszteni, azt ne tehesse meg"

"The Open Source Definition
[...]

1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale."

Ettől eltekintve GPL vagy LGPL lehet.

"csak GPL-el lehet továbbterjeszteni, amit túl nagy megkötésnek érzek"

A nyílt forrású licencek nagy része kompatibilis a GPL/LGPL-lel, így ha nyílt forrású programként akarják terjeszteni (LGPL esetén esetleg zárt forrásúval linkelve), nem okoz problémát. (Ha egy GPL-inkompatibilis licenccel kompatibilissá akarod tenni, hozzáadhatsz egy kivételt.) Csak a zárt forrással való terjesztést akadályozza meg, de a 2. pontban pont ezt akartad.

Mindenesetre ELOLVASNI, MEGÉRTENI, mielőtt alkalmazod. Ha meg a programozás mennyiségéhez képest tétel végigolvasni pár licencet, akkor add ki nyugodtan BSDL alatt.

Gondold vegig, mire jo a szoftver.

Nem tudom, mostanaban miket irogatsz, de gondold azt vegig, hogy pl. privat felhasznalasra keszul-e, szerveroldali program-e. Ha ugyanis olyan dolog, ami kizarolag belul hasznalando ugyis - pl. egy webszerver - akkor nyugodtan GPL-ezd.

Van ugyanis a GPL FAQ-ban egy privat hasznalati kitetel - http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods - amely kimondja, hogy magadnak modosithatod akkor is, ha ceg vagy, egeszen addig, amig magat a szoftvert nem hozod kereskedelmi forgalomba.

Tehat ha te irsz mondjuk egy kollegiumi authentikacios PHP extensiont - khm :) - akkor ezt nem kell GPL-lel terjesztened, ha nem terjeszted, vagy csak a szervezeten belul.

A kombinalhatosag azert nem megoldhato, mert az osszes nepszeru licensz arra szolgal, hogy a 2. pontra engedelyt adjon, es pont ezzel kulonbozik a GPL-tol (ill. ennek merteketol). Ha igy tetszik: a legtobb licensz (licenc, csak hogy masnak is igaza legyen) egy attribution-licensz, tehat arrol szol, hogy az alkotok elvarjak, hogy elismerjek kreativ tevekenyseguket, de tulajdonkeppen csak ennyit - ill. ezen keresztul, mint reklamcsatorna mukodjon a szoftver (Ah, te irtad a kBaszomFuttyolot, akkor biztos ertesz a KDE-hez meg a baszomfuttyoleshez, nem csinalnad meg nekunk ugyanezt gnome-ra / nem irnal egy KDE-s RezfaszuBagolySzamlalot? fizetnenk)

Vannak ilyen emberisegellenes tevekenysegek, mint pl. a GNU Affero GPL - add ki a forrast, barmibe kerul - de ezek nem nepszeruek felhasznaloi korokben, mert az a szegeny felhasznalo nem akar jezuskrisztust jatszani, o biza csak ki szeretne hasznalni a potyaszoftvert, tetszik vagy sem (nyilvan a firefox-ert se fizetne senki, plane ha latta a forrasat :)

Szoval dontsd el, mi kell neked:

  • Mi a szoftver felulete? (Szerveroldal, IT menedzsment, adminisztracio, belso/kulso weboldal, asztal, lib valami specko eszkozhoz, feladathoz, etc)
  • Mi a szoftver celkozonsege (vegfelhasznalok, rendszergazdak, webfejlesztok...)
  • Mi a szoftver tipikus felhasznalasi terulete, ezen hanyan vannak orszagosan / vilagban (pl. vegfelhasznalok / entertainment, nagyvallalatok, kis-es kozepvallalkozasok, 3HGW-45O technologiaval dolgozo 3 mm-nel nem nagyobb lyukakat furo textilipari gyarak*)

Ha lib, akkor:

  • Vagy add ki GPL-ben, aztan akinek nem tetszik nem hasznalja vagy fizet
  • Vagy oldd meg, hogy valahogy a szoftver orrbavago feluleten is megjelenjen, hogy a Fejes Joco csinalta, aki f.sza gyerek, es ert a baszomfuttyuleshez (pl. Aboutban kotelezo Using libbaszomfuttyulo by joco fejes <e@mail>), hatha megkeresnek majd cegek, hogy segits nekik a baszomfuttyulesi folyamataikban.

Mert kb. ez a ket lehetoseged van.
-
* Made up szuk domain

vagy írsz egy egyéni licenc-et, amelyben rögzíted a felhasználás feltételeit. Jogodban áll, ha te vagy a szerző :)

Ezzel borítékolható, hogy gyakorlatilag senki nem fogja felhasználni saját projektben. Akinek ilyen szándékai vannak, az az általa ismert "népszerű" licenceket fogja keresni, ha valami egyéni gányolmányt lát, akkor nem fog azon gondolkodni, hogy ez most kompatibilis-e az övével...

GPL kell neked, igen.

Ha adodik olyan eset, hogy olyan konstrukcioban hasznalnak, ahol licensz utkozes van, ott lehet exceptiont irni (lasd openssl exception csomo GPL-es programban).

A 3. pontot rosszul fogalmaztam. Erre gondoltam: terjeszthető legyen más programok részeként, amik szintén szabad szoftverek, de nem feltétlenül azonos licenccel. Ezért olvasni azt itt-ott, hogy egyesek elijednek a GPL-től, mert az kőkeményen share-alike. Az LGPL zárt forrásban is enged terjeszteni, az meg azért nem jó.

Mit értesz "részeként" alatt?

Ha egy libet írsz, ami egy zárt, kerek egész, amit mások fel tudnak használni anélkül, hogy belenyúlnának, de akár hozzá is nyúlhatnak a belsejébe, akkor az LGPL kb. azt tudja, hogy amíg valaki nem nyúl bele a progidba, addig szabadon felhasználhatja, terjesztheti a libedet (a GPL szabályai szerint), viszont amiben felhasználja, a saját kódját nem kell megnyitnia (azaz az alkalmazása, amit teljes egészében ő írt, lehet bármilyen licenszű). Ha belepiszkál, hozzányúl a Te cuccodhoz, akkor a változtatásokra vonatkozóan él a GPL, az abban megfogalmazott esetekben ezt a módosítását közzé kell tegye. De csak ezt, a saját alkalmazását, amiben felhasználja a libedet, azt nem!
Ha "fertőző" licenszet akarsz, ami hasonló, mint a GPL, de "csak" open-source-sággal fertőzi a felhasználási helyet, nem pedig GPL-lel, akkor ahhoz kell gyártanod egyet, az LGPL mintájára.