Podleme ten kdo jim nechce platit jim stejne nezacne platit a jen si takovym pristupem poskodi jmeno. Tim ze ostatnim praci nechteji ulehcovat to beru jako neutrani volbu i to ze tim chovani neporusuji GPL. Nicmene nevystavit zdrojaky verejne pro vsechny (zakazniky i nezakazniky) tim si jen pridelavaji praci.
28. 6. 2023, 14:49 editováno autorem komentáře
Je to to, co vyžaduje GPL. Je zajímavé, kolik lidí tu tepe do RedHatu, že je málo opensource, a přitom ani nevědí, co to opensource znamená. Že to znamená jen přístup ke zdrojovým kódům, třeba v git repository. Ale přeložit tu aplikaci už musíte umět sám. A nebo si na to někoho najmout – třeba právě poskytovatele nějaké distribuce.
Tu aplikaci můžete sestavit sám – když tomu bude věnovat dostatečné úsilí. To úsilí, které normálně věnují správci balíčků jednotlivých distribucí (těch opravdových, které balíčky vytvářejí, ne jen přebírají odjinud).
Takhle ale GPL funguje odjakživa – GPL vám dává právo jenom na zdrojáky, ale jak aplikaci sestavit, to už je na vás. Proto vznikly linuxové distribuce, které tohle za vás řeší.
Vypadá to, že současná situace kolem RHELu ve skutečnosti jenom ukázala, že spousta lidí pohybujících se ve světě opensource ve skutečnosti jen s překvapením zjišťuje, co znamená opensource, jak vypadají zdrojové kódy z upstreamu a jaká je role distribucí.
> GPL vám dává právo jenom na zdrojáky, ale jak aplikaci sestavit, to už je na vás.
Z licencie GPL:
> The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities.
Interpretacia tejto casti ide dokonca az tak daleko, ze ked sa binarka podpisuje, tak aj podpisovaci kluc (tzv. "anti-tivoization clause"). Je to presne dovod, preco Microsoft odmietol podpisat GRUB (GPL) s UEFI CA klucom, ale nemal problem so shim.efi (BSD).
@ja.:
Ale poznámka pana Jirsáka jednoznačně pravda je. GPL nevyžaduje, abyste dostal na stříbrném podnose reprodukovatelný build binárky. GPL vyžaduje, aby Vám nechyběl ani řádek kódu při Vaší vlastní snaze. Znalost, jak to zkompilovat - tj. s jakými parametry, v jakém prostředí, jak otestovat výsledek - to už je všechno know how distribuce, které už ale není vynuceně k dispozici. Vy máte zaručen zdrojový kód a know how si budujte sám.
Samozřejmě ad absurdum by se mohlo stát, že Red Hat zaplaví repozitáře balastem, aby se v nich reálný kód skutečně nedal najít. Jenže to se neděje. Celá veřejnost má v CentOS Stream k dispozici vše, kromě té informace o výběru do RHEL. A zákazníci RHEL mají k dispozici dokonce i to.
No a presne v tomto pripade je ta hranica src.rpm; to, ako si zbuildujete do binarneho rpm je na vas, tam si nastavite parametre,. prostredie, ako to otestovat... ale obsah src.rpm spada pod "including scripts to control those activities."
Ci to niekto bude buildovat rucne, alebo si rozbeha koji+mock je na nom. Drviva vacsina software, ci uz open-source alebo nie, nema reprodukovatelny build, takze to je pase tak ci tak. A minimalne pre rpm je v hlavicke build host, takze pokial to nebuildujete na rovnakych hostoch ako redhat, tak v binarnych rpm rozdiel bude, bez ohladu na GPG podpis.
Moja reakcia bola na p. Jirsaka, ktory argumentoval, ze "jak aplikaci sestavit, to už je na vás.". To nie je celkom tak pravda.
Je to pravda. Zveřejnit musíte skripty, ale nemusíte zveřejňovat, s jakými parametry jste ty skripty spouštěl ani jaké ostatní aplikace a knihovny máte v systému nainstalované.
Kdyby to bylo tak, jak si představujete, neřešily by distribuce v minulých letech složitě reprodukovatlené buildy, protože by všechny buildy GPL aplikací byly reprodukovatelné odjakživa.
Pokud je na knihovně aplikace závislá, musím její verzi/kód zveřejnit, podle GPL.
Ne, nemusíte. Navíc ta závislost často není jen na nějaké verzi knihovny, ale na tom, s jakými parametry ta knihovna byla sestavena. A možná i na tom, v jaké verzi a s jakými parametry byla sestavena knihovna, na které ta knihovna závisí.
Podívejte se třeba na ebuildy Gentoo – tam uvidíte, na čem všem závisí to, jak bude vypadat výsledná binárka.
Pořádně si to přečtěte. Ten směr závislosti je důležitý.
Jako teoretické cvičení:
GPL aplikace může záviset na BSD knihovně. Zdrojáky BSD dynamické knihovny by se teoreticky daly nezveřejnit. Jediné co je nutné je zveřejnit informaci o té závislosti.
Jestli se nepletu, tak přesně takto byly dělány Nvidia ovladače. GPL wrapper + binární blob.
A aby nedošlo k mýlce: Žádné takové plány rozhodně nemáme, to by byla neakceptovatelná praktika i pro spoustu lidí uvnitř. Je nás dost, kterým na filozofii firmy pořád záleží.
Spousta zveřejněného kódu je nanic, když nemáte know how, jak to sestavit a v jakých podmínkách provozovat. Z toho důvodu vznikly distribuce GNU/Linux. Ke zdrojákům měl přístup kde kdo, ale jen distribuce svojí prací zdrojáky zpracovala do fungujícího celku.
Jsou distribuce, které dávají k dispozici i zdrojáky ke svým nástrojům a informace o tom, z jakých patchů a jak sestavují jednotlivé balíčky. Ale to už není podmínka GPL, to už je čistě dobrovolná práce. Stejně tak je čistě dobrovolné mít jednotlivé patche rozdělené na prvočinitele, aby se daly dobře skládat.
RH se rozhodl, že nebude dávat tak moc k dispozici svoje know how, jak ze zdrojáků udělat svoji distribuci a nebude dávat k dispozici ty součástky - jednotlivé patche ve zdrojácích. Zveřejňuje je až souhrnně. Ale zveřejňuje. Nikomu nebrání, aby si z toho zpětně udělal klon RHEL, ale je to prostě pracnější.
Uvědomte si prosím, že v mnoha OSS projektech máte zveřejněné zdrojáky, ale už ne praktické rady k sestavení a užívání. Zejména tam, kde vývoj leaduje nějaká firma. Poskytne zdroje, ale taky už ne know how jak to využívat co nejefektivněji. Na to už si musí každý přijít sám.
Podle mě si do GPL domýšlíte účel, který prostě ta licence nesleduje a ještě ve zmatení pojmů, jaký je rozdíl dát zdrojáky k dispozici uživateli vs. zveřejnit.