Ha programozóként egy új nyílt forrású programot fejlesztenél, akkor milyen licencet választanál?

Címkék

Protective (Copyleft) FOSS licence (GPL, AGPL)
45% (136 szavazat)
Permissive FOSS licence (MIT, BSD)
25% (76 szavazat)
Public Domain
3% (8 szavazat)
Egyéb leírom
4% (11 szavazat)
Nem érdekel a kérdés
24% (71 szavazat)
Összes szavazat: 302

Hozzászólások

Vagy GPL-t vagy BSD-t, libhez inkább BSD-t, egyéb esetekben inkább GPL-t.

Egy nagy multi általában Permissive FOSS licencekben érdekelt. Úgy nem kell fizetnie a hozzájárulóknak ha zárt terméket készítene a munkájukat felhasználva. Legfeljebb jófejségből, de az nem kötelez semmire.
Libekhez van megfelelő Copyleft licenc, például LGPL.
Önálló fejlesztőként alapból szvsz a Copyleft licencek a legjobbak, mert így ha egy tőled független cég felhasználja a kódodat és abból zárt terméket akar készíteni muszáj neki tárgyalnia veled és megfizetnie a munkádat. Te vagy alkupozícióban.

Az Apache típusú köztes licenceket hiányolom a lehetőségek közül. Azok nem teljesen permissive licencek, a szabadalmakra elég szigorú megkötéseik vannak.

WTFPL. vagy ha az nagyon nem, akkor MIT. Minden masban annyi ertelmetlen megkotes van, hogy lehetetlen barmi ertelmes dologra hasznalni oket.

I hate myself, because I'm not open-source.

A BSD-ben sincs semmi értelmetlen megkötés. Azt is használhatod amire akarod, csak fel kell tüntetni, hogy honnan származik a kód, meg csatolni kell a BSD licencet.

A WTFPL meg lényegében a Public Domain :D

---
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"

BSD-bol is attol fugg melyik. Van a 4-clause az advertisement kikoteseivel, vagy egy simplified vagy 2-clause ami kb MIT, meg a 3-clause ami a ketto kozott van.
A WTFPL meg nem teljesen public domain, egyreszt mukodik ott is ahol nem lehet public domain ala tenni a cuccost (de erre ott van az unlicense is), de pluszba meg ott van benne hogy te kodolni akarsz es nem ilyen jogi hulyesegekkel sz*pni.

I hate myself, because I'm not open-source.

Az EUPL lenne, a GPL for EU. Elvileg GPL, ami az EU torvenyekben jobban illik.
Sajnos a GPL-lel (mivel mindketto megkoto licensz) nem mukodik. Hacsak nem exception list van a license vegen.

En is kuldtem patchet EUPL-es projektbe. En nem latom ertelmet az EUPL-nek, de nem vagyok szakerto.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Nemcsak a GPL, hanem az összes copyleft licenc inkompatibilis, de ez nem az EUPL "hibája", hanem a jogrendszerek különbségekből adódik. Az EU a természetes személyekhez köt néhány jogot és lemondani sem lehet róla, míg az USÁ-ban mindenről le lehet mondani. Például a GNU alapítvány külön nyilatkozatot kér a fejlesztőktől, így a GPL-es szoftverek felett kizárólagosan rendelkezik, akár át is licencelhetné őket a hozzájárulók beleegyezése nélkül legálisan. A másik, hogy az EUPL nem rendelkezik szoftverszabadalmakról való lemondásról, mert itt ilyen nincs ebben a formában. Viszont egy európai licencű kód simán sérthet amerikai szabadalmat úgy, hogy az EU-n belül jogszerűen használható, emiatt sem lehet GPL (copyleft) kompatibilis.

Érthető, hogy nem tetszik neked az EUPL, mert valójában nem nemzetközi, ez igaz. Viszont a GPL-es kód publikálásával, vagy pl. a GNU nyilatkozattal meg a magyar és az EU jogot sértheted meg, valószínűleg jogkövetkezmény nélkül. Sajnos jelenleg ez van, nincs mindkét jogrendszernek teljesen megfelelő copyleft licenc.

Bővebben kifejtve egy nagyon hosszú joganyag lenne az eredmény, ennek nincs így értelme. Alapvetően két ok miatt lehet nem szándékosan szerzői jogot sérteni: az EU és az amerikai jogrend alapjai gyökeresen eltérnek (erről sok jogi szemléletű tanulmányt lehet találni), a másik a magyar jogszabály alapvetően a művészeti ágak által létrehozott művek védelméről szól és a szoftverek csak nagyjából van benne említve.

Az amerikai jogrend szerint - mint magánember - eladományozhatod a szoftverek jogait cégeknek vagy alapítványoknak. Ezzel szemben a magyar törvény:
9. § (2) A szerző személyhez fűződő jogait nem ruházhatja át, azok másként sem szállhatnak át és a szerző nem mondhat le róluk.
(3) A vagyoni jogok - a (4)-(6) bekezdésekben foglaltak kivételével - nem ruházhatók át, másként sem szállhatnak át és azokról lemondani sem lehet.
58. § (3) A szoftverre vonatkozó vagyoni jogok átruházhatók.

A másik egyértelmű példa a licence visszavonásáról, még a GPL sem írhatja felül a hatályos magyar törvényeket:
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

https://www.gnu.org/licenses/gpl-3.0.en.html
53. § (1) Ha a szerző alapos okból visszavonja a mű nyilvánosságra hozatalához adott engedélyét vagy a már nyilvánosságra hozott művének további felhasználását ilyen okból megtiltja, a felhasználási szerződést felmondhatja.

Amennyire én tudom, hogy ha egy olyan szolgáltatást használsz, ami amerikában van, akkor az ÁSZF és az ottani jogszabályok vonatkoznak rád, kivéve ha van külön EU specifikus rész vagy EU törvény, amit be kell tartatniuk a szolgáltatóknak (GDPR).

---
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"

Valaki el tudná mondani, hogy melyik, miért jó? Nem szeretnék minden egyes licencet elolvasni...
Vannak ilyenek https://choosealicense.com/, de nem nagyon írja le hogy melyik miért jó és mik a főbb különbségek. Valakinek van egy jobb összehasonlítása?

A Protective/Copyleft licence-k arra szolgálnak, hogy ha kiadsz egy forráskódot és más használni akarja, akkor kötelessége azt ugyanazzal a licencel kiadni, tehát nem adhatja el és nem szabad csak binárisként terjeszteni.

A Permissive licence-k engedik felhasználni a kódot kereskedelmi szoftverekben és nem kötelező a módosított kódot kiadni. Csak olyan megkötése van, hogy fel kell tüntetni kié az eredeti kód és csatolni kell annak licencét.

A Public Domain meg hivatalosan nem tulajdona senkinek. Azt csinálsz vele amit akarsz, arra használod amire akarod. Az eredeti PD szerint akár módosítás nélkül ki is adhatod kereskedelmi szoftverként akár pénzt kérve érte.

---
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"

Én úgy tudom, hogy a copyleft nem korlátozza a kereskedelmi felhasználást, csak a forráskódot - és a származtatott forráskódot - kell közzétenni ugyanolyan licenccel. Binárisként is lehet terjeszteni, csak mellette forráskódot is mellékelni kell. Legalábbis így magyarázta ki Stallman.

Ami igaz, az igaz, mondjuk számomra sem vált világossá, (pedig vagy 10 éve mozgok a linux körüli témákban) hogy, GPL-nél, ha kész terméket adsz el, akkor automatikusan nyilvánosságra kell hozd a származtatott forráskódot, vagy csak ha azt az ügyfél kéri, vagy elég csak az eredetit?

B kérdés, ha csak viszonteladónak árusítassz, és ő nem, de az ő ügyfelei kérik, akkor mivan?

akkor automatikusan nyilvánosságra kell hozd a származtatott forráskódot, vagy csak ha azt az ügyfél kéri

Csak ha az kéri, aki a binárist jogszerűen megkapta, és csak neki kell felajánlani (az más kérdés, hogy továbbadhatja, ha akarja). Természetesen azt kell felajánlani, amiből az ő binárisa keletkezett.

Ha nyilvánosan terjeszted a binárist (bárki letöltheti), akkor nyilván bárkinek lehetővé kell tenni a forráskód letöltését.

B kérdés, ha csak viszonteladónak árusítassz, és ő nem, de az ő ügyfelei kérik, akkor mivan?

Neked a viszonteladónak kell lehetővé tenned, viszont az ő ügyfeleinek meg neki kell lehetővé tennie. Nyilván a legegyszerűbb, ha végfelhasználóknak magad teszed lehetővé.

Ha már okosítasz legalább ne ferdítenél!

"A Protective/Copyleft licence-k arra szolgálnak, hogy ha kiadsz egy forráskódot és más használni akarja, akkor kötelessége azt ugyanazzal a licencel kiadni, tehát nem adhatja el és nem szabad csak binárisként terjeszteni."

Tele van tévedésekkel és csúsztatásokkal.
"tehát nem adhatja el" - dehogy nem adhatja el. A kereskedelmi Linux disztribúciók abszolút eladják, közvetlenül pénzt szednek a GPL szoftverért. Az Apple Safari böngészője KDE eredetű (WebKit) motorra épül ami GPL licences. A Google Androidja tele van GPL kódokkal. Mindketten kereskedelmi termékeket árulnak GPL kódokra építve és pénzt szednek utánuk két különböző modellben. Ők közvetve szednek pénzt Copyleft kódok után.

"akkor kötelessége azt ugyanazzal a licencel kiadni"

Ez is tévedés, mert van átmenet a Copyleft licencek között is például GPLv2>GPLv3 vagy GPL>AGPL

"és nem szabad csak binárisként terjeszteni"

Nyugodtan lehet csak binárisként terjeszteni. GPL csak arra kötelez, hogy az ügyfélnek, csak neki és nem az egész világnak, oda kell adni a GPL szoftver forráskódját akkor ha KÉRI.
GPL szoftverrel működő szolgáltatásnál nem jön létre olyan jogviszony ami kötelezővé teszi a forráskód átadását. Leggyakrabban emlegetett példa: Google

"A Permissive licence-k engedik felhasználni a kódot kereskedelmi szoftverekben"

Akárcsak a GPL.

"és nem kötelező a módosított kódot kiadni"

GPL-nél is csak akkor kell ha eladtad a más kódját felhasználó szoftveredet, akár pénzért akár ingyen, és kéri az ügyfeled.

" Csak olyan megkötése van, hogy fel kell tüntetni kié az eredeti kód és csatolni kell annak licencét."

Nem kell csatolni az eredeti BSD licencet, azt ugyanis meg is lehet változtatni. Onnantól az az EULA lesz a licence.

"Az eredeti PD szerint akár módosítás nélkül ki is adhatod kereskedelmi szoftverként akár pénzt kérve érte."

Mintha ezt nem lehetne megtenni az előbbi licencekkel!

Szóval sikerült egy olyan hozzászólást összehoznod, amiben jóformán csak téves állítások vannak. Ez különben nem kis teljesítmény. Máskor régi fórum flame-war-ok helyett inkább hiteles forrásból tájékozódj ha már fel kívánsz világosítani valami mást.
Kapásból kezdhetnéd az érintett licencek szövegével. Nem titkosak. Teljesen nyíltan és ingyen elérhetőek :)

Azt nem lehet, hogy az egyik projekt ilyen, a másik pedig olyan licencelésű? Ha egyszer kiválasztottam az egyiket, akkor már életem végéig azt kell használnom?

> Ha egyszer kiválasztottam az egyiket, akkor már életem végéig azt kell használnom?

Úgy tudom, a GPL (meg nyilván még több más lályszensz is) megengedi, hogy a jogtulaj más licenc alatt *is* terjessze a saját művét; emlékeim szerint pl. a Folding@Homenál van valami olyan program vagy modul, ami eredetileg GPL-es, de a jogtulaj valami zárt licenc alatti változatot adott a Folding@Home-éknak.

- - -
TransferWise

Ha az önzés nem lenne mélyen gyökerező emberi tulajdonság, akkor a public domain vagy a MIT/BSD tök jó volna. Mondjuk egy csomó cég még most sem érti miről szól ez.

Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش

Ha egy robot személy felhasználja a kódotokat, hogy fejlődjön, vagy egy gépet tanítanak a kódotokkal, az nem zavar titeket?

Attól függ.
- Ha úgy gondolom, hogy más még fog rajta javítani, hozzátenni: GPL (hogy visszakapjak valamit)
- Ha valami tudományos célú cucc: public domain (aki használja, annak ne kelljen vele foglalkozni, úgy sem valószínű, hogy profitéhes)
- Kis apróság, saját szórakoztatásra: szintén PD

GPL -t választanék, mert azt szeretném hogy az eredetileg nyílt forrásúként kiadott kódot ne építsék be titokban zárt forráskódú termékekbe.

--
arch,ubuntu,windows,libreelec,omnirom,microg
zbook/elitebook/rpi3/motog4_athene

hiaba, attol meg be fogjak. titokban. ezert te sose tudod meg. vagy nem tudod bizonyitani. vagy nem eri meg.
kiveve ha olyan benak hogy lebuknak, pl. at nem irt egyedi public function nevekkel, vagy mert pl. olyan featuret is bennefelejtenek amire nekik semmi szukseguk es amugy egyedi volt a te programodban. (jo pelda erre az mplayer subtitle loaderje, amit 1:1-be lenyultak es bennefelejtettek az mplayer sajat belso formatumanak tamogatasat is - de ezzel is csak annyit ertek el a GPL huszarok, hogy a kovetkezo firmwareben jobban elrejtettek)

Sztem az mplayerre iszonyu bizniszt lehetett volna epiteni.
Csak olyan facebookosan kellett volna csinalni:
https://code.facebook.com/cla

Es egy ceget moge tenni. Ami arra viszi a fejlesztest, amerre fizetik a dvd lejatszo, tv gyartok.

De ehhez kellett volna egy gazdasagis ember (en nem vagyok:).
Ha az egyik oldalon van szaktudas, azert altalaban vagy igy vagy ugy el lehet kerni az arat. Sztem.

cla-val az ilyen lazadasokat, meg megfurasokat is kb. ki lehet vedeni.
Ha pedig a video editing iranyba is elmentetek volna, akkor abban is tonnanyi penz van....

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

igen, lehetett volna, ha nem GPL-el indul az egesz... amire eszbe kaptunk mar keso volt, tobb 1000 patch beolvasztva, es mindenkinek hozza kellett volna jarulni a licensz valtashoz. meg az ffmpeg GPL-rol LGPL-re valtasa is hatalmas kuzdelem volt, evekig probaltak mindenkitol a beleegyezest begyujteni hozza.
raadasul volt par kulcsfontossagu resz (pl. libavcodec, swscaler) amit a fejlesztoje nem akart mas licensz ala rakni, ragaszkodott a GPL-hez.

GPL-re pedig nem tudsz uzletet epiteni, csak a supportra vagy egyedi fejlesztesekre (amit viszont ki kell adnod publicba!!), ilyeneket csinaltunk is evekig, de ez nem nagy penz. licenszdijat nem lehet ra kerni, plane nem a kinaiaktol...

nem veletlen kezdtem 0-rol ujrairni az egeszet 2004-ben, mar LGPL alatt, de aztan jottek mas projektek es ez felbemaradt. meg egyedul nem is volt tul izgalmas ugyanazt ujra megcsinalni...

A'rpi

"meg az ffmpeg GPL-rol LGPL-re valtasa is hatalmas kuzdelem volt, evekig probaltak mindenkitol a beleegyezest begyujteni hozza."

Az újjászületett mplayer esetén is elég hosszadalmas volt.

https://github.com/mpv-player/mpv/issues/2033

----
„Kb. egy hónapja elkezdtem írni egy Coelho-emulátort, ami kattintásra generál random Coelho-kompatibilis tartalmat.”

igen emlexem, engem is megkerdeztek.
sajnos ez a GPL egy csapda. az mplayer fejlesztesenel sok gpl kodot felhasznaltam, igy nem is volt kerdes mi lesz a licensze. ha viszont mast valasztottam volna, nem hasznalhattam volna fel azokat a kodokat, es vszinu nem is lett volna ilyen sikeres, vagy inkabb el sem keszul.

Nekem az a gondolat nem tetszik, hogy beküldözzük a patcheket egy csomóan, aztán egyszer csak eltűnik a free verzió, és megjelenik egy fizetős, csak windowsos cucc.
Amúgy nem kell nekem windows bináris, a linuxosat nem bánom, de nem létszükséglet. Forrást szeretnék.

Több okom is van rá, hogy miért szeretek open source programokat használni amire csak lehet:
a) ha munkáról van szó, azt akarom, hogy később reprodukálni lehessen; ha az adatfilejaim mellett ott egy bináris egy azóta eltűnt architektúrára, akkor csak ezért meg kell vennem az új verziót, ami ki tudja, hogy kompatibilis-e, ráadásul lehet, hogy addigra a cég is csődbement, nem fejlesztette tovább, ... Ez ellen csak az véd, ha ott a forrás, valami olyan programozási nyelven, amihez van open source compiler vagy translator (c,c++, fortran).
b) minden esetben, ha van forrás, akkor én választom meg, hogy milyen operációs rendszeren futtatom
c) nem akarom a saját munkámat visszavásárolni pénzért. Ha fizetős a software, akkor hibát hajlandó vagyok jelenteni, patchet küldjön, akit azért fizetnek, és igazából azt helyeselném, ha ugyanolyan garancia lenne rá, mint valami normális termékre: ha nem tudja a speckót, akkor ki kell javítaniuk, vagy pénz vissza.

Lehet, hogy nem ugyanarról a dologról beszélünk, de tudomásom szerint a GPL lényege pont az, hogy mindíg van forráskódod - a fizetős terméké is nyilvános kell legyen. (?) Ezért mondták kicsit feljebb azt, hogy az ilyen licencű "termékből" magáből nem igazán lehet pénzt csinálni, inkább kapcsolódó és/vagy plussz szolgáltatások nyújtásából.

Garancia a fizetős szoftverekre is nagyon korlátozott van, a hibák javítását szerintem nem is szokták explicite vállalni, támogatást a legtöbb esetben külön kell vásárolni (nem kevés pénzért).

Igen, épp erre mondta Árpi, hogy a GPL csapda: nem tudták a GPL-es kódot eladni úgy, hogy a vevő terméke már zárt legyen. Én meg azt, hogy pont ezért használok szívesebben GPL-es programot: ha jelentek hibát, küldök patchet vagy kódot, akkor az hosszútávú befektetés.

A garancia is úgy van, ahogy mondod, és szintén a GPL mellett érv számomra. Ha nincs forrás, akkor minden megtörténhet (csődbe megy a fejlesztő cég, a binárist egy új oprendszeren sütheted, stb.), ha van kód, akkor meg a GPL garantálja, hogy lesz is, nem tudja a fejlesztő bezárni, nem csak ingyen dolgozó bétateszternek használják azokat, akik letöltötték az ingyenes változatot.

jo pelda erre az mplayer subtitle loaderje, amit 1:1-be lenyultak es bennefelejtettek az mplayer sajat belso formatumanak tamogatasat is - de ezzel is csak annyit ertek el a GPL huszarok, hogy a kovetkezo firmwareben jobban elrejtettek

azt értem hogy mplayer, hogyne érteném, én is azon nézem még tizenplusz év óta is a videókat.

de kik vagy milyen szoftverhez nyúlták le az mplayer subtitle modulját?

miben felejtették benne az mplayer sajat belso formatumanak tamogatasat?

minek a firmwarejében rejtették el mégis?

ide nekem hiányzik a másik szoftver neve, ami a leírt viszonyban volt az mplayerrel.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

mar nem emlekszem konkretan, de tobb eset is volt, meg hardveres dvd lejatszok is erintettek voltak. en akkor mar kiszalltam az mplayer fejelsztesbol, csak fel szemmel kovettem a dev levlistan a kuzdelmet a jogaszokkal.

amugy google://mplayer gpl violation
asszem ez volt a leghiresebb eset:
http://forum.doom9.org/archive/index.php/t-67928.html
https://slashdot.org/story/04/01/03/146209/mplayer-alleges-kiss-technol…
de ugy latom van meg boven, pl:
http://mplayerhq.hu/pipermail/mplayer-users/2012-October/085399.html
http://mplayerhq.hu/pipermail/mplayer-users/2010-July/080687.html
...

gpl-t nyomtam, de ha van rá indok, lgpl is játszana, pl a projekt úgy sikeresebb lenne ilyesmi