| Dílo #25194 |
| Autor: | Danny |
| Datum publikace: | 31.03.2006 18:42 |
| Počet návštěv: | 814 |
| Počet názorů: | 12 |
| Hodnocení: | 3 |
| Prolog |
| Rozhodl jsem se psát o problému ze světa počítačů, který je relativně důležitý. Budu se snažit používat co nejméně odborných termínů, aby text pochopilo co nejvíce lidí - snad se mi to povede. |
|
| Otevřená náruč versus zamčené vězení |
Většina z vás asi ví, co je to na počítači soubor. Zjednodušeně řečeno je to jeden dokument: jeden kus textu, obrázek, zvuková nahrávka či třeba uložená pozice v počítačové hře. Soubor má své jméno a je uložený někde na pevném disku, CDčku či jiném médiu. Je možné jej posílat a kopírovat z jednoho počítače na druhý, čili od jednoho člověka či programu (třeba toho, který jej vytvořil) k jinému člověku či programu (který jej chce třeba přečíst čili upravit). Až doposud jsem neřekl nic nového.
Podstatná, klíčová věc, kterou se budu snažit vysvětlit je jak takový soubor vypadá uvnitř, čili jak jej vnímá počítač nebo (přesněji) programy na počítači spuštěné.
Slovo "počítač" je odvozeno od slova "počítat". Nebojte se, žádnou složitou matematiku na vás nevytasím, pouze se zmíním o číslech: soubor je uložen jako množství čísel. Můžeme si jej představit jako proud malých celých čísel od nuly do 255.
O těchto číslech je známo jejich (konečný) počet, přesné pořadí a jméno, pod kterým se na ně budeme odkazovat - to je vše.
Malý příklad: máme soubor "pokus.txt" a v něm na jednom řádku napsáno "ahoj" (bez uvozovek). Pro počítač a programy je jeho obsahem proud čísel "97 104 111 106 13 10".
"97" je "a", "104" je "h", "111" je "o", "106" je "j" a "13" a "10" těsně za sebou znamenají "konec řádku".
Jak a kdo určuje, které číslo odpovídá kterému písmenu? A co v případě složitějších souborů, jako jsou obrázky, hudba či animace? Jak je vykouzlit z proudu čísílek?
Odpověď je překvapivá - je věcí každého programu, jakým způsobem čísla přečte či zapíše.
Zde přicházíme ke klíčovému pojmu, který musím v našem povídání definovat. Je to pojem formát souboru. Formát je právě onen předpis, který určuje, co čísla znamenají. V našem příkladu ze souborem "ahoj" byl použit formát zvaný "čistý text" nebo anglicky "plain text". Tento formát je v podstatě jednoduchý, jednomu číslu odpovídá jeden znak a několik čísel je rezervováno jako značky konce řádku či souboru. Pro hudbu, animace, obrázky či složitější texty (sestavené z různých typů písma atd.) se používají daleko komplikovanější formáty. Pokud program zná formát, dokáže soubor přečíst či vytvořit.
Jak program pozná, v jakém formátu soubor je? Existuje několik způsobů, všechny jsou v podstatě věcí dohody. Jedna taková dohoda například říká, že na konci jména souboru je přípona, čili tečka a za ní několik málo písmen určujících formát souboru: tak můžeme vidět, že například soubory "pokus.txt" a "dopis.txt" jsou čistý text, soubor "fotka.jpg" je obrázek, "krajina.jpg" rovněž obrázek stejného formátu, "neco.pcx" taky obrázek, jiného formátu... většinou to bývají tři písmena která jsou zkratkou pro něco, co souviselo se vznikem či funkcí daného formátu... Existují i jiné způsoby jak určit formát, ale nebudu je pro jednoduchost uvádět.
Až doposud bylo všechno v pořádku - ale nyní přichází zásadní kámen úrazu: Pokud program zná formát, dokáže soubor přečíst či vytvořit. "Znát formát" však znamená "znát přesně způsob, specifikaci, klíč, jakým čísílkům přiřadit význam, obsah". Totiž, a hlavně, ne u všech formátů je tato specifikace veřejně známa. Pokud program neví které číslo co znamená (je to utajeno), nemá jak odkrýt, co v souboru vlastně je. Formáty podle toho dělíme na otevřené - je veřejně známa specifikace a uzavřené specifikace známa není.
Hypotetický příklad, na kterém je vidět hlavní problém celé věci: máme dva programy, pojmenujeme je pro ilustraci "Hodný" a "Zlý". Oba slouží například ke kreslení obrázků. Program "Hodný" umí (synonyma: podporuje, zná) tři formáty: PCX, JPG a PNG. Program "Zlý" umí čtyři formáty PCX, JPG, PNG a ZLY.
Formáty PCX, JPG a PNG jsou otevřené - čili je veřejně známo, jak jsou data uložena a jak je číst/zapisovat. Editor "Zlý" však navíc používá formát ZLY, který vymysleli tvůrci tohoto programu a jeho specifikaci utajují.
Také si představme, že program "Zlý" je udělán tak, že pokud uživatel zadá, že chce uložit soubor, uloží se právě ve formátu "ZLY" - a pokud chce uživatel uložit soubor třeba jako PNG, musí složitě klikat přes tři menu a možná ani neví, že to jde.
Jdeme dál: předpokládejme, že máme skupinu uživatelů používající program "Zlý" a posílají si mezi sebou obrázky - zdá se jim, že je všechno v pořádku. Objeví se uživatel programu "Hodný" a chce se s nimi také bavit: uživatelé mu pošlou například soubor "MocDobryObraz.zly" . Uživatel programu "Hodný" se snaží obrázek otevřít - což se mu nepodaří, protože program "Hodný" vidí - jako všechny programy - pouze čísílka a bez specifikace formátu ZLY nedokáže určit, co znamenají. Uživatel "Hodného" programu napíše tedy tvůrcům programu něco ve stylu " Váš program Hodný je moc super, ale nedokázal otevřít soubor MocDobryObraz.zly . Mohli byste to opravit?" Tvůrci programu "Hodný" však nevědí, jak je specifikován formát ZLY protože tvůrci programu "Zlý" to tají a tím pádem našemu uživateli nemohou pomoci.
Všimněte si: navenek (pro normální uživatele) to vypadá, že je to program "Hodný", který nefunguje, zlobí, je neschopný... protože nedokáže otevřít soubor. Je to ale "vina" programu "Zlý", protože napsal data "tajným" způsobem, který nikdo jiný neumí přečíst.
Pokud náš uživatel chce otevřít soubor s uzavřeným formátem ZLY, je tedy nucen program "Zlý" a jedině právě ten si koupit - a tím jeho autoři vydělají! Pokud by se jim například podařilo rozšířit program "Zlý" mezi větší množství lidí, ten zbytek by byl "diskriminován" nemožností otevřít spoustu obrázků...
Uzavřených formátů je bohužel velké množství. Vytvářejí je zejména komerční programy některých velkých firem, které mají většinový podíl na trhu: nutí ten zbytek, aby používal jejich programy a třeba i jejich hardware či jiné technologie. Jde o velké zlo, které se však obtížně vysvětluje netechnickým, "obyčejným" uživatelům, kteří se diví "co máte proti systému XY" - vidíte, kolik jsem musel popsat odstavců, abych to vysvětlil.
Pokud se uzavřené formáty příliš rozšíří, bude to znamenat větší "ždímání" peněz z uživatelů: mimo souborů se může jednat třeba o způsobu připojení k síti: představte si, že pokud byste si nekoupili např. drahý prohlížeč XY, viděli byste z Internetu třeba jen polovinu stránek... zatím tomu tak není, protože Internet je v podstatě postaven na otevřených řešeních.
Takže - snad jste pochopili o co se jedná. Záměrně jsem nepoužíval konkrétní jména existujících programů a firem, aby článek nezaváněl reklamou či antireklamou. Tož tak. |
|
Počet úprav: 1, naposledy upravil(a) 'Danny', 31.03.2006 18:45.
| Názory čtenářů |
31.03.2006 19:35
Hana
|
tož děkuju, Danny - konečně jsem pochopila něco z toho mně dosud utajeného vnitřního světa mého počítače...  |
31.03.2006 21:54
Repulsion
|
Sorry, Danny, ale to je hrozný blábol, co jsi napsal. Některé programy prostě musí používat vlastní formát, který podporuje specifické funkce programu. Pokud ZLY, jak píšeš, podporuje i otevřené formáty, je to v pořádku. A ještě jsem neviděl program, kde by se muselo klikat "přes tři menu" Většinou stačí zvolit "Save As" nebo "Export". |
31.03.2006 22:50
Satanas
|
Mno: nebyl bych tak ukvapený jako rep, akorát mi chybí alespoň příklad zlých formátů ... a další věc je že alespoň podle mého názoru specifikace vnitřní struktury souboru nelze tajit - prostě se jedná skoro vždy o poměrně snadno rozluštitelný nebo dohledatelný systém ukládání dat, takže je chybou výrobce dobrých programů že nepodporují otevírání zlých... ale že bych vlastně kdy slyšel o neznámém a utajovaném způsobu ukládání? spíš si občas musíš koupit práva ... ale to už se spíš týká freeware, shareware a opensource |
01.04.2006 11:53
stanislav
|
Tak nevim, jestli se mám přiklonit k Dannymu nebo Repulsionovi, protože tomu prd rozumím. ale Dannyho text se mi zdá jako laikovi velmi přesvědčivý... ovšem to nevylučuje Repulsionovy argumenty, že... ale tipuji, protože je to napsáno kupodivu srozumitelně, což u PC maniaků je pomalu zázrak... hehe |
01.04.2006 12:15
Hana
|
stanislav napsal(a): Tak nevim, jestli se mám přiklonit k Dannymu nebo Repulsionovi, protože tomu prd rozumím. ale Dannyho text se mi zdá jako laikovi velmi přesvědčivý... ovšem to nevylučuje Repulsionovy argumenty, že... ale tipuji, protože je to napsáno kupodivu srozumitelně, což u PC maniaků je pomalu zázrak... hehe vidím, že jsme na tom opravdu stejně, co se PC týká...  |
01.04.2006 13:31
Danny
|
Repulsion: Na vlastním formátu podporujícím specifické funkce programu není vůbec nic špatného, pokud jej veřejně popíšeš.
abych mluvil konkrétně (Satanas): dlouhou dobu bylo velkým problémem otevřít jinde než v MS Office soubory DOC XLS a podobné. Vyslechl jsem spoustu nasraných uživatelů non-MS systémů, kterým lidi posílali spousty DOCů a oni je museli nějak konvertovat. Nyní je Open Office relativně přijatelným řešením, ale ani tak není nikdy 100% jisté, že se soubor přečte správně. Mám pocit že autoři OO řešili import DOCů zpětným inženýrstvím, ale to nevím jistě.
dále třeba video DVD: regiony a podobně - to se muselo řešit hackingem apod. - taky kodeky si musíš kupovat, nyní to snad řeší mplayer...
taky jsem slyšel že síťování ve Vistě bude děláno tak, aby fungovalo dobře pouze s jinýma Wokňousama, ale to může být mýtus
abych se nestrefoval pouze do MaloMěkkých: drobné změny v protokolu ICQ vyřadily na čas nejvíce používané alternativní klienty (Miranda...) zřejmě šlo o tah připoutat lidi k originálnímu ICQ kde je reklama...
btw: jasně, save as, export ... ale když se "běžnému, ryzímu" uživateli pokusíš vysvětlit žes to neotevřel a musí soubor exportovat, není jisté zda ti porozumí. |
01.04.2006 14:09
Repulsion
|
Docy by asi veřejně popsané být měly. Ale u některých aplikací není otevřenost žádoucí jak z hlediska výrobce softwaru tak z hlediska uživatele. Je celá řada špičkových profesionálních aplikací, kde se výrobci přirozeně chrání, aby z jejich soubory nemohly v původní podobě pracovat jiné aplikace. Je to ovšem také v zájmu uživatele, který očekává, že když takový soubor v dané aplikaci otevře, bude přesně odpovídat požadovaným kritériím a všechno v něm bude fungovat, jak má. To se prostě u otevřených formátů nedá zajistit. Nedávno jsem překládl materiál o pdf - což je velice otevřený formát. Jenomže jeho otevřenost způsobuje to, že když předá dejme tomu nakladatelství pdf soubor tiskárně, ten často neodpovídá standardům, které daná tiskárna používá. Proto byl zaveden tzv. certifikovaný pdf formát, který zajišťuje kompatibilitu, ale samozřejmě částečně na úkor otevřenosti - vlastní podstata a práce s pdf se nemění, ale abys mohl využívat té certifikovanosti, potřebuješ na to software.
A v některých případech se ani otevřenost nedá dost dobře a efektivně zajistit - tam kde se formát významně mění s novou verzí programu. Než by na to ostatní výrobci zareagovali, bude na trhu zase nová verze, takže to nemá smysl. |
01.04.2006 14:30
Satanas
|
JJ, danny, máš pravdu že si třeba microsofti ten doc zadržují, a že se k tomu OO nejspíš dopitvali (říká se to) zpětným inženýrstvím ...
ale jde asi o to že to není až tak žhavý problém, protože alespoň doufám v případě jakékoli krize tu máme armádu hackerů a crackerů s filosofií všechno je freeware, zakažte prodej aplikací... no a ti nám vždycky nějaká ta vrátka získají ... ač ne legálně ... ale kdo z nás si vlastně kdy koupil jakou aplikaci (omlouvám se bláznům)
já bych se zas tak nebál, nějakýho rozšíření zavřených formátů... ono bude vždycky víc těch co si radši udělají otevřenej frívér, než aby nakupovali po tunach drahý balíčky microsoft :) a u internetu myslím že se není moc čeho bát
krom multimedií, která se už dají poměrně dobře ochránit od stažení...
|
01.04.2006 20:21
Humble
|
Skutečně se to řeší zpětným inženýrstvím. Jeden z programátorů texťáku Klasik kdysi líčil, kterak dělali importní filtr pro soubory .doc. Zkusili ve Wordu něco krátkého napsat a uložit, uložený soubor rozpitvali, zkusili napsat něco jiného, zase to rozpitvali atd. Na otázku, jak tímhle způsobem můžou garantovat 100% kompatibilitu s Wordem, odpověděl, že samozřejmě nic garantovat nemohou. Ale uživatelé možnost importu z Wordu mít musí, bez toho by byl program neprodejný, a že to nenačte úplně všechno, o tom se prostě nemluví.
Bez řádné dokumentace běžných formátů se tedy vynakládá obrovská spousta zbytečné (a pěkně otravné) práce s pochybným výsledkem.
Satanas napsal(a): ... ale kdo z nás si vlastně kdy koupil jakou aplikaci (omlouvám se bláznům) Asi jsem blázen :o)
|
01.04.2006 20:45
Satanas
|
No ale stále by se to všechno dalo místo obsáhlýho článku shrnout slovy microsoft a podobní zmetci mají ještě stále dost drzosti nezveřejňovat specifikace tolik používaných formátů :) Zkrátka spíš zkus napsat něco trochu jinýho možná návod, nebo recenzi ... ale těžko říct pokud sis to jen chtěl procvičit... nebo pokud jsi chtěl rozpitvat právě tenhle problém ... každopádně jsi nakousl dost spornou věc, kde nelze nic moc vyřešit...
každopádně musí být hrozná sranda pitvat DOC :) z toho by mi asi pracky upadly a mozek se vykouřil :) |
01.04.2006 20:54
Satanas
|
* tip za styl přednesu pro nezasvěcené, páč myslím že si to po téhle stránce zasloužíš - důkazem budiž hana, stanislav a mnozí další, kteří položili život jako mnoho mužů jeho generace, předčasně. V Tvé moudrosti, pane, sis ho vzal. Jako sis vzal mnoho jiných kluků v Khe Sanh, v Lan Doc, a na kopci 364. Tito mladíci dali své životy. Stejně jako Donny. Donny který miloval bowling. |
02.04.2006 14:32
Albireo
|
Tragedie je, že centrální úřady si prostě poroučejí, že výkazy či jiné soubory jim každý musí posílat v maloměkkých uzavřených formátech. A že Microsoft prostě pošle českou policii, aby udělala nájezd na firmu, která se odváží prodávat počítače s linuxem místo Windows - a policie ve firmě zabaví počítače včetně těch, které tam mají zákazníci na opravu. |
Přidat názor ...nápověda k hodnocení  |
(Pro přidání názoru je třeba se přihlásit)
|