QNX nicim nenahradis. Kdyz tak zase QNX, ale to pak neni nahrada. Pred lety jsem presne tohle resil. Kandidat byl RTLinux, ale tehdy se mi nejevil jako pouzitelny, takze jsem zustal u QNX 4, Photonu, Watcom C++ a textoveho editoru JED. Sice jsem nemel super-duper IDE ktere jede na Java a sezere vsechno co najde, ale zato se dalo diky jasnemu, zdokumentovanemu a odladenemu API v klidu pracovat. Ale to je uz davno. Tak hodne stesti..
Samozrejme, jedna z vyhod (i nevyhod) byla ta konzistence plynouci z uzavrenosti a toho, ze firma drzela urcitej minimalismus a knihovny byly pevne dany a dokumentovany. O tohle je mi jasny, ze prijdu (ale zas vymenou jsou jiny vyhody).
Slo mi spis o tu kombinaci mikro + RT, ta mi proste pripadala skvela. Na RT ted pouzivam pod vlivem Pavla Pisi fully-preemptive patch do Linuxu, ale mne se ten moloch proste nelibi, i kdyz uznavam, ze do nej vlozily mraky lidi nesmirnej dusevni vykon.
Delam leccos, hodne RT casti mi bezej v obvodech na FPGA napriklad.
Ale nejak nevidim, ze by mi "linux na ne-RT veci a RT cast na bare-metal" resilo problem s existenci nadbytecnyho a molochovityho Linuxu (kterej neni mikro- a RT je jen s FPK patchem, jehoz osud a podpora jsou trochu nejisty) na zarizeni, ba prave naopak -- bude tam kysnout Linux a jeste nejaka moje mimo-OS ptakovina, jiz vyvinout a udrzovat urcite bude snad nasobne usili oproti psani pro QNX ci Linux. Nicmene aby tema nedivergovalo kamsi, volam po necem, co by bylo mikrojaderne a umelo (slusnej) RT, zhruba na urovni pro me doposud neprekonaneho QNX.
Ze se daj RT ulohy resit na sto ruznejch zpusobu, napriklad tam vubec nemit CPU nebo tam mit padesat dedikovanejch MCU na spolecny sbernici, nebo si psat vlastni jadro nebo... ale o tom rec neni. Rec je o tom, zda Magenta je nebo muze byt resenim.
Ty licence jsou svobodné, kompatibilní např. s GNU GPL, respektive jsou ještě svobdonější (BSD se proto říká copycenter).. Žádné drama se nekoná. Naopak Google chce řešit aktualizace u svého systému sám, ne přes výrobce, kteří na podporu kašlou. Ano, je možnost to kombinovat s proprietárním softwarem, proprietární software můžete mít i na Linuxu nebo na Androidu. Prostě základ bude svobodný, a jestli softwarový vývojář si zbastlí něco na způsob služeb google play s uzavřenou licencí, je na něm.
Pozor, BSD je svobodnější pro tvůrce a ne uživatele. O kombinacích kompatibilních licencí nebo vývoji uzavřených aplikací ala GooglePlay vůbec nejde. To, že základ bude svobodný zajistí kdo? Základ je pod BSD, v tu chvíli kdy na něj položí ruce výrobce hardware je z něj okamžitě proprietární blob s neznámým obsahem a ke zdrojákům už se nikdy nedostaneš. Playstation taky běží na BSD systému, určitě se raduješ jak je Playstation svobodný.
To neni tak uplne pravda.
Samozrejme "vyrobce hardware" typu nakej Tamtung, co potrebuje prodat founy a to, aby to XingQiang Ltd nezkopirovala za den, ten vyda bloby a bude si uzavrenost hyckat.
Naopak "vyrobce hardware" typu Xilinx nebo Intel ma naopak zajem prodat brouky vsem, a to jak XingQiangu, tak treba i Tamtungu. A ja se na tom se svejma malejma varkama par desek muzu svezt.
Jenže v tomto stavu se to ke konečnému uživateli nikdy nedostane. Stačí se podívat, jak vypadají BSD systémy a kolik developerů či firem do nich přispívá. 99% BSD software se vezme, ohne, uzavře, fuck-off one way ticket. Že je to autorovi jedno, je jeho věc, ale pro uživatele to ne neštěstí. Development je 100 let za Linuxem, protože GPL dává přispěvovatelům alespoň nějakou jistotu.
Stačí se podívat, jak to vypadá v Androidu. Google si bastlí Play, aby mu do toho nikdo neviděl pod pokličku. Každý výrobce si bastlí nástavby a opičárny, jen aby se odlišil, ale už se neobtěžuje to záplatovat. S novým systémem si to výrobci doprasí celé, a můžete se vsadit, že výsledek bude ještě horší než dnešní levné Android telefony.
Samotná podstata svobody je, že končí tam, kde začíná svoboda někoho jiného. Kromě toho je celkem nesmysl se bavit o "svobodě" jako takové, nota bene když jde o software. Vždycky se jedná o svobodu ve vztahu k něčemu.
GPL si dala za cíl chránit svobodu uživatelů před proprietárními produkty. Jako taková samozřejmě vědomě a zcela záměrně omezuje svobodu vývojářů proprietárního software. Svobodný software, jak Stallman neustále opakuje, je v tomto kontextu software, který respektuje svobodu uživatelů. Svoboda vývojářů používat nesvobodné licence nebo svoboda vydavatelů publikovat proprietární produkty ho nezajímá, od toho tu GPL není.
Neříkám, že toto je "jediná správná" definice svobody, ani že jedině GPL software je svobodný. Ale v rámci svých postulátů je GPL koherentní, svůj účel plní zatraceně dobře a jak se čím dál tím častěji ukazuje, je nesmírně důležitá na obranu před tendencemi považovat uživatele za produkt. Jinak bez GPL by ani Linux nikdy nebyl tím, co je.
Kromě toho je celkem nesmysl se bavit o "svobodě" jako takové, nota bene když jde o software.
Ten dodatek klidně škrtněte. Jakmile někdo mluví o „svobodě“ jako takové a tvrdí, že něco zvyšuje svobodu (aniž by uvedl, co za to, obvykle komu se svoboda naopak sníží), používá to jako demagogii.
GPL si dala za cíl chránit svobodu uživatelů
Na čemž je právě vidět, jak pofidérní svoboda to je. Protože uživatel používá hotový program, ne zdrojáky – a drtivé většině jsou zdrojáky k ničemu. GPL podle mne nedává uživatelům svobodu, dává jim teoretickou možnost, kterou drtivá většina uživatelů nemůže reálně využít.
zcela záměrně omezuje svobodu vývojářů proprietárního software
Ne jen proprietárního.
Svobodný software, jak Stallman neustále opakuje, je v tomto kontextu software, který respektuje svobodu uživatelů. Svoboda vývojářů používat nesvobodné licence nebo svoboda vydavatelů publikovat proprietární produkty ho nezajímá, od toho tu GPL není.
Což je přesně to demagogické používání slova „svoboda“. Úplně stejně by se dalo psát o „nesvobodě uživatelů GPL software“ a o svobodě vývojářů používat svobodné licence (jiné než GPL). Protože vždy je podstatné, že je to svoboda někoho a svoboda k něčemu.
<i>Na čemž je právě vidět, jak pofidérní svoboda to je. Protože uživatel používá hotový program, ne zdrojáky – a drtivé většině jsou zdrojáky k ničemu. GPL podle mne nedává uživatelům svobodu, dává jim teoretickou možnost, kterou drtivá většina uživatelů nemůže reálně využít.</i>
Uživatelům GPL ve srovnání s BSD absolutně nic nebere. Naopak jim navíc zaručuje, že vendor a spol. je o přislíbenou svobodu nepřipraví. Většina uživatelů se sice ve zdrojácích v životě vrtat nebude, to je pravda, ale i oni ocení to, že jsou díky tomu v principu mnohem bezpečnější před vendor lockin nebo před zabudovaným a poté uzavřeným spywarem.
Svobodný software v pojetí BSD se od GPL liší jedině svobodou vývojáře existující kód uzavřít a použít v proprietárním software. Prosím, nikdo netvrdí, že to není legitimní, ale současně je nutné si uvědomit, že tuto svobodu nikdo nikomu nedluží a nikdo si nemůže nárokovat možnost si přivlastnit práci někoho jiného. Proto osobně u open source vývoje používám výhradně GPL, protože mi jde o mé uživatele a o fér spolupráci s přispěvateli. Když se jednou na mě jistý člověk obrátil s typickým "vyvíjím proprietární sw a fňuk, tvůj kód nemůžu použít, to teda není svobodný software, nemohl bys mi to dát pod BSD licencí", tak jsem ho beze všeho a doslova poslal do pr***.
Uživatelům GPL ve srovnání s BSD absolutně nic nebere.
Ale bere. Třeba to, že ten GPL software nemá nějakou funkci, kterou by někdo naprogramoval, pokud by to nebylo GPL. Představte si, jak by to vypadalo, kdybychom se v Linuxu s binárními ovladači grafiky nepohybovali někde přibližně kolem hrany toho, co odpovídá licenci, ale licence by se vykládala striktně – a žádné binární ovladače by neexistovaly. Myslíte, že by uživatelé byly svobodnější než dnes, kdyby ty binární ovladače neexistovaly?
jsou díky tomu v principu mnohem bezpečnější před vendor lockin
To není pravda. Vendor lockin nezávisí jen na přístupu ke zdrojákům – můžete mít klidně otevřené zdrojáky, ale když má doménovou znalost té oblasti jediný dodavatel, zdrojáky vám nepomůžou.
před zabudovaným a poté uzavřeným spywarem
Vůbec ne. Aby ten spyware někdo našel, musí ten kód nejprve zkoumat. Jednoduchý spyware opravdu někdo může najít ve zdrojácích jenom tak, že si je bude pročítat, a nedostupnost zdrojáků by mu v tom zabránila. Ale sofistikovaný spyware (nebo jiný škodlivý kód) nenajdete tak snadno, a nedostupnost zdrojáků je v takovém případě prkotina proti tomu, co musíte jinak řešit.
Navíc pro nic z toho, co jste jmenoval, nepotřebujete tolik práv, kolik uživateli GPL dává. Pro všechny ty případy stačí, aby uživatel měl přístup ke zdrojovému kódu a mohl provádět úpravy pro své vlastní potřeby. GPL ale dává možnost uživateli upravený kód dál šířit, a to už opravdu není něco, co by uživatel potřeboval.
Svobodný software v pojetí BSD se od GPL liší jedině svobodou vývojáře existující kód uzavřít a použít v proprietárním software.
Což znamená, že může vzniknout software, který by jinak nevznikl – což je podle mne obrovská svoboda pro uživatele.
Prosím, nikdo netvrdí, že to není legitimní, ale současně je nutné si uvědomit, že tuto svobodu nikdo nikomu nedluží a nikdo si nemůže nárokovat možnost si přivlastnit práci někoho jiného.
Myslím, že nikdo nic takového netvrdí. Zároveň to ale vůbec neznamená, že GPL je jediná svobodná licence. GPL dává (dle mne) extrémní svobodu uživatelům na úkor vývojářů. Proto ji někdo nazývá nesvobodnou licencí – protože když už se mluví o svobodě obecně (bez určení toho, čí konkrétně je to svoboda), má se na mysli jakýsi úhrn svobody všech zúčastněných – to, zda jsou svobody jednotlivých účastníků vyvážené.
Proto osobně u open source vývoje používám výhradně GPL, protože mi jde o mé uživatele a o fér spolupráci s přispěvateli.
Jiným jde o jejich uživatele a o fér spolupráci s přispěvateli, a proto se GPL vyhýbají jak jen to jde.
"Na čemž je právě vidět, jak pofidérní svoboda to je. Protože uživatel používá hotový program, ne zdrojáky – a drtivé většině jsou zdrojáky k ničemu. GPL podle mne nedává uživatelům svobodu, dává jim teoretickou možnost, kterou drtivá většina uživatelů nemůže reálně využít."
Víš, jaký je rozdíl mezi "zákazem", "právem" a "povinností"?
Zákaz - chci si dát pivo, ale pokud to udělám, naběhne polda s obuškem...
Právo - když si chci dát pivo, dám si pivo. Když nechci, nedám si je. Je jedno, jestli to právo využiju 5x denně, nebo vůbec. Je jedno, jestli pije pivo jenom jeden člověk ve městě, nebo se tam na pivo sjíždí lidi z půlky Evropy.
Povinnost - Chci si dát pivo, dám si pivo. Nechci si dát pivo, budu donucen obuškem z moci úřední, dostanu šlauk do žaludku a pivo tam poteče ať chci, nebo ne.
Máš právo se odvolat, pokud tě soud potrestá za trestný čin. drtivou většinu lidí soud nikdy neodsoudí za trestný čin, takže tohle právo můžeš škrtnout. Ale pak doufej, že se nepřipleteš k autonehodě a nedostaneš zabití z nedbalosti + soudce, co bude ignorovat důkazy o zavinění nehody.
Víš, jaký je rozdíl mezi "zákazem", "právem" a "povinností"?
Vím. A nijak to nesouvisí s touhle diskusí. Protože tady se bavíme jen o právu. A o tom, že když vám někdo dává nějaké právo, ještě to neznamená, že vám někdo jiný nemůže dát to samé právo. A hlavně o tom, že mít nějaké právo ještě neznamená mít reálnou možnost to udělat.
Ale to jsi začal s tou tvou argumentací, že to právo je zbytečný, protože ho nikdo nevyužívá. Jenomže kdyby ho MUSELI použít všichni nebo většina, tak se z práva stane POVINNOST.
U open source se prostě kdokoliv může, ale taky nemusí, podívat do zdrojáku. Proč se podívá (zvědavost, ladění chyby, audit,...) nebo nepodívá (schopnosti, lenost, nedostatek času,...) nám nepřísluší posuzovat. Má právo, je na něm, jestli ho využije. Tady není o čem diskutovat. Když chce, může, když nechce, nemusí. A počet zvědavců je irelevantní z principu.
Ale to jsi začal s tou tvou argumentací, že to právo je zbytečný, protože ho nikdo nevyužívá.
Aha, už vám rozumím. Já jsem ale nenapsal, že je to zbytečné.
U open source se prostě kdokoliv může, ale taky nemusí, podívat do zdrojáku. […] Tady není o čem diskutovat. Když chce, může, když nechce, nemusí.
Ale jistě že je o čem diskutovat. Třeba bezpečnost kódu závisí na tom, že se do toho kódu podívá někdo, kdo tomu kódu rozumí. Čímž se často argumentuje u opensource, a ten argument je chybný – to, že existuje nějaká možnost, ještě neznamená, že to někdo opravdu udělá. O opensoucre softwaru tedy můžete tvrdit, že existuje možnost, že je bezpečný, protože existuje možnost, že se do toho kódu někdo podíval. (A nic to neříká o proprietárním softwaru, protože i tam existují různé možnosti.)
Jasně, jako argument pro bezpečnost je to mimo, protože to není záruka, že se do toho někdo podívá. Od toho jsou ale bug bounty programy a u OSS jsou možnosti na analýzu větší.
Na druhou stranu, pokud se o chybě ví, může udělat patch kdokoliv, kdo se v tom vyzná a nemusí čekat, až se zodpovědný manažer milostivě vrátí z dovolené a přiřadí podřízeným task s opravou. Stejně tak, pokud to uživatel umí, může přidat chybějící funkci a podělit se s ostatníma. Btw, tuhle argumentaci použila například NASA v případě ISS a linuxu na jejich noťasech po konci XPček.
Od toho jsou ale bug bounty programy
Což rozhodně není věc specifická pro OSS.
OSS jsou možnosti na analýzu větší
To sice ano, ale je otázka, jak moc je to „větší“ relevantní. Spousta chyb může záviset na použitých knihovnách, na způsobu překladu nebo i na konkrétním kompilátoru. Pro hledání chyb má OSS význam především tak, když někdo ten program používá, narazí na tu chybu a rovnou ji opraví, nebo případně na chybu narazí přímo při implementaci nějaké úpravy. Pokud jde o cílené hledání chyb, zdrojový kód je méně důležitý. Navíc to, že zdrojový kód není dostupný každému, ještě neznamená, že není dostupný pro toho, kdo hledá ty chyby.
může udělat patch kdokoliv, kdo se v tom vyzná
Někdy může být velmi omezující to „kdo se v tom vyzná“. A i když to někdo udělá – samotná existence patche je uživatelům opět k ničemu. Někdo musí tu opravenou verzi sestavit, zařadit do distribuce…
Stejně tak, pokud to uživatel umí, může přidat chybějící funkci a podělit se s ostatníma.
A pokud to umí, nepotřebuje k tomu ani ty zdrojáky…
tuhle argumentaci použila například NASA
Ne, NASA není uživatel, který by po rozbalení projektu ani nedokázal najít zdrojáky. NASA je programátor a uživatel v jednom.
Demagogie. Nic takového netvrdím.
Uvedl jsem, že je výsostně autorova věc, jakou licenci použije. Jestliže autor použije licenci BSD, pak zcela zřejmě musí počítat s tím, že jeho práce bude využita v proprietárním softwaru. A praxe ukazuje, že tomu tak je velmi často to vede k zajímavým přesto velmi očekávatelným výsledkům.
Stačí si porovnat vývoj BSD (BSD) a Linuxu (GPL). Počet připěvovatelů i rychlost vývoje je řádově nesrovnatelná. Drtivou většinu práce dnes odvedou komerční subjekty, které mají dostatek prostředků na placení vývojářů. Jenže který subjekt bude přispívat do BSD projektu s vidinou, že jeho konkurent řešení vezme, uzavře a použije výhradně pro sovu potřebu?
Výsledky jsou naprosto tristní a drtivá většina komerčních přispěvovatelů preferuje GPL, protože vynucuje sdílení zdrojů a hotové práce. Lidi svobodně hlasují nohama a svobodně si nevybrali BSD.
Svobodný SW neznamená povinnost být GPL, ale nemá smysl si nalhávat, že BSD software je svobodný. V drtivé většině případů je praxi svobodný jen do momentu, kdy je výdán pod touto licencí, a tím jeho svoboda v praxi skončí.
Přesně tak. BSD software je svobodný pokud ho dostanete přímo od upstream vývojáře, jinak je možné cokoli. To, co říkáte o GPL, si myslím už dlouho. Dejme tomu IBM přispěje do Linuxu s RCU. Kdyby Linux měl licenci BSD, tak by tím okamžitě umožnili Microsoftu, Oraclu, HP atd... aby RCU zadarmo používali ve svých proprietárních produktech, které přímo konkurují těm od IBM. Neboli by ho samozřejmě nejspíš vůbec neotevřeli. Naopak GPL jim zaručuje, že RCU prospěje Linuxu (a tedy potažmo jím samotným) a samozřejmě i konkurentům, kteří taky prodávají Linux, ale neumožní neloajální proprietární konkurenci. Není náhoda, že Microsoft a Apple nade vše milují BSD licenci a oba patří k největším haterům GPL a není náhoda, že GPLovaný Linux má prostředky, investice a příspěvky, se kterými se žádný BSD projekt nemůže měřit.
"Soupeření" mezi licencemi typu GPL a typu BSD/MIT nelze zúžit jen na soupeření *BSD a Linuxu. To je hodně úzký pohled. Jsou oblasti, kde se GPL nevyskytuje nebo téměř vymizela (všechny možné knihovny, překladače) a oblasti, kde je stále silná, byť s klesajícím podílem. Skoro by se dalo říct, že splnila historickou úlohu. :D
Momentálně dochází k masovému přesunu od proprietárního sw k open source (minimálně v oblastech, kde se jedná o základní stavební kameny) a nebude trvat zase tak dlouho, kdy všechny masové OS (a nejen OS, ale třeba i DB) budou OSS. Ono totiž nedává moc smysl nabízet svá řešení zdarma a mít to jako uzavřený sw (tím se připravuji o výhodu ze sdílení). Zatím z toho stále ještě plynou jiné výhody (třeba ze stávajícího podílu na trhu), ale ty brzy vymizí. Peníze se pak budou vydělávat pouze na specializovaných věcech a podpoře, nakonec to je model běžný už teď u mnoha systémů (komunitní edice, ale funkční integrace s AD za peníze). Proto všichni tak zoufale migrují svůj proprietární sw do cloudu (Adobe, Oracle, Microsoft,...).
U knihoven se GPL moc nevyskytuje, ale LGPL ano. U překladačů.... asi jste zapomněl na jistou malou věc zvanou GCC ;-) Jediným významným open source překladačem mimo GCC je LLVM, prosím, to má permisivní licenci, a ostatní jsou proprietární. Takže máme jeden GPL a jeden permisivní, tak nevím, jak to s tím vymizením vlastně je.
Možná jsem moc široce použil slovo překladač, protože jsem měl na mysli i interprety. Každopádně není jenom gcc a LLVM, plno jazyků má své vlastní překladače (i v užším slova smyslu), například Go nebo Rust. Gcc je svázáno s dobou kdy vzniklo, tam už ke změně dojít moc nemůže.
Otázka spíš zní, co nového, progresivního a rozšířeného vzniklo v poslední době a má to licenci GPL? (Myšleno vážně.)
<i>Otázka spíš zní, co nového, progresivního a rozšířeného vzniklo v poslední době a má to licenci GPL? (Myšleno vážně.)</i>
Když vynechám všechno co souvisí s Linuxovým jádrem (a že toho je hodně) a záměrně se vyhnu Miru, tak namátkou třeba GCCGO, Valgrind, Snap i Flatpak, Git, Mercurial, LXC, Virt Manager atd.
Ne, svobodný software se vyznačuje v celkovém chování vývojáře směrem k uživateli podle 4 svobod sestavených RMS. GPL se snaží tyto svobody vynucovat i na další hop, kdy se uživatel stává vývojářem.
Zmíněné licence jsou samozřejmě svobodné, ale typem "co vy si s tím uděláte je mi jedno". Obyčejně to potom funguje jako právní řád někde v Kongu, kde jen málo je vymahatelné.