plwm je nový, poměrně minimalistický správce oken pro X11. Podporuje dynamické dláždění okny, plochy, pravidla pro okna atd. Zvláštností je, že je napsaný v logickém programovacím jazyce Prolog. Používá implementaci SWI-Prolog.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Sean Heelan se na svém blogu rozepsal o tom, jak pomocí OpenAI o3 nalezl vzdálenou zranitelnost nultého dne CVE-2025-37899 v Linuxu v implementaci SMB.
Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."
Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.
Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.
Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.
Společnosti General Dynamics C4 Systems a NICTA společně oznámily, že uvolnily zdrojové kódy mikrojádra seL4 pod licencí GNU GPLv2 (GitHub). Podrobnosti v často kladených dotazech (FAQ).
Tiskni
Sdílej:
svobodnější
„Svoboda“, kterou nikdo nechrání, je hovno svoboda. To je podobná hovadina, jako nechat islamistu zabíjet „nevěřící“ a omlouvat to jeho „svobodou.“ Takže, ne, BSD licence rozhodně není svobodnější...
To je podobná hovadina, jako nechat islamistu zabíjet „nevěřící“ a omlouvat to jeho „svobodou.“Jak moc na hlavu musí člověk být, aby na výběr mezi GPL a BSD použil takovýto příměr?
GPL je jako sektaOmyl,
a právě protože jako jediná je schopná komerčním zájmům takových vykuků co rádi rozdělují a panují, tak je takovými vykuky negativně vnímána a pejorativně označována. A možná proto taky základna GPL, podobně jako ta rakovina, furt roste a prorůstá. A „jedině tak je to správné, soudruzi, tak to má být…“GPL je rakovina, která se uchytí na veškerém intelektuálním vlastnictví, kterého se dotkne…
-Steve Ballmer
Licence *cizího* softwaru by neměla ovlivňovat, jak můžu/musím nakládat se *svým vlastním* kódem, který pouze knihovnu linkuje.Tak odpověď na otázku jestli by měla nebo neměla a jestli je to pozitivní nebo negativní jev je docela hustý sociologicko-ekonomicko-ideologický propletenec bez jasné odpovědi.
Licence *cizího* softwaru by neměla ovlivňovat, jak můžu/musím nakládat se *svým vlastním* kódem, který pouze knihovnu linkuje.Jenze to GPL nedela -- s kodem muzet delat co chcete, na omezeni narazite az pri distribuci binarky.
aby mi licence knihovny diktovala, jak nakládat se *svým* kódemKnihovna ti nic nediktuje, ke svému kódu máš stále plná autorská práva (osobnostní i majetková). Se svým kódem si můžeš dělat, co chceš. Podmínky copyleftové licence se vztahují pouze na společné dílo, které vzniklo spojením tvého a cizího kódu. Je to asi jako kdybys udělal fúzi s jinou firmou, držel teď jen část akcií společného podniku a rozčiloval ses, že nemůžeš rozhodovat o všem (o společném celku) sám a musíš respektovat i ostatní. Navíc u společného díla (softwaru) tu "společnou firmu" můžeš kdykoli opustit - a dokonce ji můžeš opustit i v ní zůstat zároveň (svůj kód nechat ve společném dílu a vedle toho ho šířit samostatně pod jinou licencí).
jenže viralita GPL zajišťuje, že použití knihovny pod GPL ve vlastním softwaru (tzn. pouze linkování, ne zařazení kódu) znamená, že celkově se jedná o společné dílo.A v čem je jako podle tebe problém? Jakože snad potom aktu slinkování dílo společné není?
takže její autor MÁ právo diktovat určité podmínky.IMHO ani není dle mého názoru takový problém že auto MÁ právo diktovat určité podmínky jako spíš spravedlivé technické mantinely toho kdo co má právo v rámci kolektivního díla diktovat. Jenže vytvořit spravedlivé mantinely je úkol podobný jako vytvořit spravedlivé společenské státní zřízení. Good luck with that!
Tak ji nepoužívej, to je jednoduchý. Autor knihovny si tu knihovnu může vydat pod jakou licencí chce. Je jen na tobě, jestli to přijmeš.No a o tohle přesně jde. Dneska s GPL čím dál víc lidí nechce mít nic společného, protože mě jako (opensource) programátora nezajímají ani tak licence a co musím a co nesmím a jak se dvě licence pomlátí když použiji více knihoven pod různými licencemi. Chci programovat a je hezké, když mi to někdo usnadní knihovnou. Nehezké pak je, když tu knihovnu zabije licencí, kvůli které jí nikdo nebude používat, protože je kolem toho nabalen opruz a z jednoho aby se málem stal právník, aby věděl jestli jí smí linkovat staticky, dynamicky, napojit na AMQP a volat po síti, nebo v rámci jednoho počítače a tak dále. Prostě mě to nezajímá a nechci s tím mít nic společného, tak je pro mě GPL mrtvé, když zrovna nedělám na GPL kódu (což třeba v práci dělám, ale doma se mi nechce). Chci opensource kód, který můžu použít a který mi usnadní práci a abych pak vrátil komunitě co jsem dostal, můj kód bude taky veřejně dostupný. Nechci kód, který mi práci ještě přidělá a zrovna právničinu, která mě nezajímá a pak mi to bude diktovat, jak svůj produkt smím linkovat a distribuovat.
Navíc u vlastního kódu máš vždycky volné ruce - můžeš ho kdykoli v budoucnu přelicencovat nebo vydat duálně licencovaný nebo třeba pod deseti licencemi zároveň.Zní to hezky, ale u typického open source projektu to nemůžu uplatnit.
Cizí knihovna nemá žádné právo mi diktovat, jak mám já svůj software vydat.Neomílej tu už prosím tyhle nesmysly. Cizí knihovna ti nic nediktuje. Cizí knihovna resp. její autor ti dal nabídku - která obnáší určitá práva a povinnosti - tak ji buď přijmi nebo nepřijmi, volba je na tobě (nikdo ti nic nediktuje). Přinejhorším na tom budeš tak, jako by žádná nabídka/knihovna neexistovala (což je ostatně výchozí stav). Navíc musím znovu zopakovat: ty podmínky (pokud nabídku přijmeš) se vztahují jen na společné dílo - nikoli na tvůj původní kód - ten stále patří jen a pouze tobě a ty si s ním můžeš dělat, co chceš.
Neomílej tu už prosím tyhle nesmysly. Cizí knihovna ti nic nediktuje. Cizí knihovna resp. její autor ti dal nabídku - která obnáší určitá práva a povinnosti - tak ji buď přijmi nebo nepřijmi, volba je na tobě (nikdo ti nic nediktuje). Přinejhorším na tom budeš tak, jako by žádná nabídka/knihovna neexistovala (což je ostatně výchozí stav).No, ale o tohle přesně jde - pro narůstající procento opensource programátorů kód uvolněný pod GPL jakoby ani neexistoval, protože nestojí o rakovinu. Výsledek je jen ten, že to tříští síly a doplácí na to všichni, protože se pak duplikuje práce a je o to míň software.
Už jsem to tu psal – analýza a následný návrh (rozhraní) je netriviální práce a vede na jedinečný výsledek tvůrčí činnosti autora, který je vyjádřen v objektivně vnímatelné podobě (konkrétní soubor, konkrétní posloupnost bajtů).
Okopírovat a použít takový soubor v rozporu s jeho licencí je porušení autorského práva.
Vytvořit si vlastní obdobné rozhraní (napsání si vlastních hlavičkových souborů), které „shodou okolností“ pasuje na knihovnu/program někoho jiného, porušením autorského práva není (autorským dílem není myšlenka/postup/princip/… sám o sobě; ke stejnému/podobnému návrhu mohl dospět někdo jiný úplně nezávisle, aniž by něco kopíroval/kradl).
Zkompilováním a vytvořením celku zahrnujícího tvůj i cizí software vzniká společné dílo a musíš respektovat licence všech jeho částí.
P.S. jestli je „vytvořit si vlastní obdobné rozhraní“ obcházením licence a mělo by se považovat za porušování práva je sporné a muselo by se to řešit případ od případu… ale v praxi na tuto otázku asi stejně ani nepřijde řeč, protože lidé většinou buď a) zkopírují doslovně cizí zdroják a v rozporu s licencí začlení do svého nekompatibilně licencovaného programu nebo b) šíří zkompilovaný celek – společné dílo – v rámci nějakého hotového produktu pro koncové uživatele.
P.S. jestli je „vytvořit si vlastní obdobné rozhraní“ obcházením licence a mělo by se považovat za porušování práva je sporné a muselo by se to řešit případ od případu…Zde to vypadá, že obracíš a co jsi dříve označloval za zřejmé, najednou začání být mlhavé, nejednoznačné a případ od případu.
A podle tebe je to jak? Je to obcházení licence a mělo by to být trestné?
IMHO by to být trestné nemělo – jelikož autorské právo (na rozdíl od patentů fungujících na zcela jiném principu) by nemělo dopadat na někoho, kdo nezávisle došel ke stejnému/podobnému dílu – on nic neokopíroval a třeba ani nepřišel s daným dílem do styku (a k autorovi a jím zvolené licenci nemá žádný vztah, žádný závazek). Ale je otázka, jak by se díval konkrétní soudce na nějaký konkrétní případ – třeba by obžalovaným nevěřil, že to neokopírovali a obvinil je, že jen smazali komentář na začátku souboru případně provedli nějaké kosmetické změny (odsazení, zarovnání…) a tohle prakticky nelze dokázat (ani tak, ani tak) a to je na tom právě to sporné.
To sis vytvořil nějaký špatný dojem.
že (1) se hlavičkové soubory všeobecně a za všech okolností považují za chráněné autorské dílo
Psal jsem, že většinou to tak bude, a reagoval jsem hlavně na názory, že hlavičkové soubory nejsou autorským dílem nikdy a nejsou nijak chráněné, protože je to „pouze rozhraní“. A snad jsem nikdy nezpochybňoval, že někdy to autorské dílo být nemusí, protože je to naprosto banální a netvůrčí – psal jsem např. o rozhraních opsaných z RFCček nebo z jiných otevřených standardů. Nebo když si deklaruješ funkci plus()
, která přijímá dva číselné argumenty a vrací číselný výsledek, tak to taky autorským právem chránit nepůjde.
(2) že je za všech okolností zcela legální API v nich uvedené reprodukovat ve vlastním programu
Tady vycházím z toho, že autorské právo nechrání myšlenku nebo princip jako takové, ale autorské dílo v objektivně vnímatelné podobě. Takže když s tou objektivně vnímatelnou podobou nepřijdeš do styku, neměla by se tě týkat licence (s autorem nemáš žádný smluvní vztah) ani autorské právo. Můžeš tak třeba shodou okolností navrhnout podobné rozhraní.
Asi by se to dalo přirovnat k matematickým vzorcům – když okopíruješ (resp. použiješ stejné) matematické vzorce, věty, definice…, tak autorské právo neporušuješ. Ale kdybys doslovně okopíroval cizí knihu/skripta (tzn. konkrétní objektivně vnímatelnou podobu) v rozporu s jejich licencí, tak už by to porušení autorského práva bylo.
Když se vrátím ještě k té předchozí diskusi: psal jsem, že i hlavičkový soubor je zdroják a měl by být chráněn autorským právem jako kterékoli jiné dílo. Na to jsi oponoval (?) a vytáhl Wine a Darling, které de facto opisují cizí API. Tak jsem se snažil popsat, v čem je rozdíl a najít nějaký hypotetický případ, kdy by použijí takových (kompatibilních) hlavičkových souborů nebylo porušením autorského práva. Nicméně přepisování hlavičkových souborů, které „shodou okolností“ pasují na cizí knihovny, rozhodně není nic, co bych chtěl propagovat nebo doporučovat1 nebo o tom jen sám mluvit – byla to pouze reakce na tvůj komentář. Už jsem ti na tuhle otázku vlastně odpovídal.
Ještě k tomu obcházení copyleftu vs. Wine/Darlingu – je dost velký rozdíl v motivaci, proč se to dělá:
a) abys nemusel dodržovat copyleft a přispívat komunitě svým kódem, abys nemusel dávat svobodu uživatelům, abys využil cizí práci (copyleftový svobodný software), postavil na ní de facto složené dílo (v praxi při běhu programu se používá ten copyleftový software, ovšem v rozporu s myšlenkami copyleftu a licence)
b) abys spustil nějaký program2 v jiném prostředí, než pro které byl původně zkompilován (v praxi při běhu programu se žádný software patřící třeba Microsoftu nebo Applu nepoužívá)
a ten pak, ať už společně s knihovnou nebo samostatně šířit i když licence nebude kompatibilní s GPL.
Tohle je zcela mylný výklad mých komentářů3 – naopak píšu, že ve fázi šíření se to porušení licence definitivně projeví – viz např. #25, #51, #44:
Takže pokud jsi okopíroval a použil hlavičkový soubor v rozporu s jeho licencí a vymlouval ses na to, že je to jen rozhraní a na druhé straně může být cokoli (ne jen implementace vyžadující copyleft), tak ve chvíli, kdy to zkompiluješ a vytvoříš jeden program tvořený tvým kódem + cizí knihovnou, vyjde ta pravda definitivně najevo a ukáže se, že tu licenci porušuješ a výsledek nemůžeš distribuovat, aniž bys poskytl uživatelům všechna práva (dal zdrojáky i té své části pod kompatibilní licencí).
[1] opravdu si nemyslím, že by to byl dobrý nápad – jednak mi to přijde nemorální a v rozporu s duchem licence a jednak je to stejně na nic, protože narazíš hned v dalším kroku – ve chvíli kdy budeš chtít šířit binárky, společné dílo – tam je už porušení licence zcela zřejmé
[2] software třetí strany – nikoli té, jejíž API je „opisováno“ (a jejíž software pak spouštěn není) – a tato třetí strana (jejíž software spouštěn je) s tím typicky problém nemá nebo to naopak podporuje (jsou firmy, které šíří svůj software původně psaný pro Windows upravený/zabalený pro Wine nebo i spolupracují s jeho vývojáři)
[3] pokud jsem to někdy napsal nejasně, že to šlo pochopit takhle, chtělo by to rozporovat/opravit přímo tam, ať to nikoho nemate – ale nejsem si toho vědom
Tohle je směšné, pravděpodobně by se dal napsat skript, který by "vytvářel vlastní" hlavičky na základě něčích jiných...Už jsem to tu psal – analýza a následný návrh (rozhraní) je netriviální práce a vede na jedinečný výsledek tvůrčí činnosti autora, který je vyjádřen v objektivně vnímatelné podobě (konkrétní soubor, konkrétní posloupnost bajtů).
Okopírovat a použít takový soubor v rozporu s jeho licencí je porušení autorského práva.
Vytvořit si vlastní obdobné rozhraní (napsání si vlastních hlavičkových souborů), které „shodou okolností“ pasuje na knihovnu/program někoho jiného, porušením autorského práva není (autorským dílem není myšlenka/postup/princip/… sám o sobě; ke stejnému/podobnému návrhu mohl dospět někdo jiný úplně nezávisle, aniž by něco kopíroval/kradl).
Napsat by šel, ale co to má dokazovat?
[1] ať už do spustitelného tvaru nebo třeba do jiného jazyka (třeba Vala → Céčko)
když už takový skript spustíš, tak je to něco jako překlad1 a výsledek je odvozené díloJenže to mi nikdo nedokáže.
jj, s dokazováním je to těžké – asi by to šlo leda přes výpovědi svědků – např. kdyby bývalý zaměstnanec vypovídal, že dostal za úkol ten skript napsat a pak jím konvertovat zdrojáky.
Ještě k té spornosti (na kterou narážel i Pavlix), takový příklad: a) mít dobrovolný sex se ženou je v pořádku, o tom není sporu b) ale jestli ti soudce bude věřit, že to bylo dobrovolně, resp. které straně dá za pravdu, to může být sporné… A já tu právě celou dobu mluvím o tom a)
Ale hlavně si myslím, že se v téhle části diskuse řeší věc, která není až tak podstatná – dokud je ten program ve formě zdrojových textů, tak je celkem jedno, jestli jsi hlavičkové soubory okopíroval nebo přepsal a jestli ti to bude někdo věřit. Okopírovat soubory v rozporu s licencí není správné, ale jestli si je přepíšeš vlastními slovy nebo je tam vůbec nedáš a připojíš jen návod, kde je stáhnout, a ve tvém stromu zdrojáků nebudou a bude tam jen # include <cizi_program/rozhrani.h>
a ty se budeš vymlouvat, že cizi_program
nemusí být právě ten pod GNU GPL licencí, ale může to být jiný program, který se shodou okolností jmenuje stejně… tohle jsou fakt blbosti a nemá cenu je řešit. A ani si nemyslím, že by tě někdo ze světa svobodného softwaru hnal před soud za zveřejnění nějakých zdrojáků.
Co ale podstatné je: šíření hotového zkompilovaného programu – tady se pravda ukáže a už se nejde na nic vymlouvat – šíříš společné dílo a pokud jsou v něm části copyleftované, měl bys ten copyleft dodržovat a poskytnout pod správnou licencí i svoji část programu.
P.S. To máš stejné jako s kompilací – můžeš upravit a zkompilovat Linux a pak tvrdit, že to Linux není (a tudíž nemusíš dodržovat jeho licenci) a že je to jiný systém, který jen náhodou vypadá a chová se stejně.
BTW: jak to bylo s Wine? Vzali hlavičkové soubory od Microsoftu a okopírovali nebo prohnali nějakým skriptem? Nebo si napsali vlastní podle dokumentace (nebo nějak jinak)?
Asi někdo bude chtít říct: „nebuďme jako oni (MS)“. Ovšem překrucovat právo a výklad licence není správná cesta – správná cesta je vydat hlavičkové soubory svého programu pod nějakou necopyleftovou licencí, když chceš, aby je mohl kdokoli volně kopírovat a začleňovat do svého softwaru.
LGPL je o něco lepší, ale tam se pořád nedá staticky linkovat.GNU licence se dívají na věc z pohledu uživatele, to je celkem zásadní věc. Mít zdrojáky k softwaru a moci je studovat je sice důležité, ale je to jen jedna stránka - software obvykle máme proto, abychom ho používali - takže nestačí moci studovat zdroják, ale je potřeba mít možnost si ho i upravit* a používat upravenou verzi. A LGPL právě zajišťuje, aby tohle bylo možné. Povinnosti pro distributory, které z toho vyplývají, nejsou žádná samoúčelná buzerace - jsou to čistě praktické důvody. *) např. opravit chybu, aktualizovat, přidat novou funkčnost...
jenže viralita GPL zajišťuje, že použití knihovny pod GPL ve vlastním softwaru (tzn. pouze linkování, ne zařazení kódu) znamená, že celkově se jedná o společné dílo. LGPL je o něco lepší, ale tam se pořád nedá staticky linkovat.Neni pravda:
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
popularita GPL klesá a stále víc softwaru se vydává pod opravdu svobodnými licencemi typu MIT/BSDIMHO duvod proc je paradoxne v tom, ze uspech OSS (ktery byl ovsem primarne driv tazen GPL) zpusobuje, ze se "retaliatory clause" v GPL stava mene uzitecnou. Lide prestavaji pouzivat (krabicovy) komercni software, pokud muzou pouzit OSS. S GPL je to jako s rezistenci bakterii vuci antibiotikum. Je to silne vyhodne v prostredi, kde jsou casto antibiotika (tedy komercni software). Ale mirne nevyhodne (protoze zbytecne) v prostredi, kde jsou antibiotika jen malo. A stejne jako rezistence vuci antibiotikum u bakterii casem prirozene klesa, stejne tak klesa i pouzivani GPL s tim, jak klesa pouzivani krabicoveho komercniho software. Dalsi aspekt je, ze korporace dnes maji explicitni politiku vuci OSS, ktera se snazi vyhnout poruseni GPL. To take zpusobuje "retaliatory clause" zbytecnou - je daleko mensi obava z toho, ze nekdo kod uzavre. Zase, ta obava je obecne nizka vzhledem k tomu, ze se zivotnost OSS prokazala v praxi (ale jen diky GPL).
Funkcionalne jazyky su dobre na prehladny high-level zapis toho, co sa ma diat.Tohle mi přijde spíš jako úloha pro procedurální jazyky.
Ono je to trochu subjektivní a záleží, na co je člověk zvyklý... ale troufám si tvrdit, že většina lidí lépe pochopí nějakou tu proceduru (postup, recept) a lépe si z něj vytáhne tu myšlenku (co se mělo udělat) než u funkcionálního (byť deklarativního) kódu.Nejsem nějakej zastánce funkcionálních jazyků, ale tohle je pravda jen pro dost krátký imperativní kód. Jakmile začne těch procedur a podprocedur bejt větší množství, už se v tom snadno nevyznáš bez zdlouhavého studia. Abstrahovat to kratším funkcionálním jazykem vyšší úrovně imho vůbec není špatný nápad.
ale tohle je pravda jen pro dost krátký imperativní kód. Jakmile začne těch procedur a podprocedur bejt větší množství, už se v tom snadno nevyznáš bez zdlouhavého studia.
Příliš mnoho úrovní zanoření a skoků můžeš mít v obou paradigmatech… a u funkcionálního zase musíš (IMHO obtížněji) řešit držení stavu.
Co je tedy důvodem, že se většina softwaru píše v imperativních jazycích? Je to způsobené fakt jen tou pomalostí funkcionálních, která by dnes mohla být už překonaná (nebo ne tolik podstatná)?
We restrict ourselves to a subset of Haskell that can be automatically translated into the language of the theorem prover we use. For instance, we do not make any substantial use of laziness, make only restricted use of type classes, and we prove that all functions terminate. The details of this subset are described elsewhere