Článek ve formátu PDF je možné stáhnout
zde.
Pro toho, kdo chce ve svých zařízeních používat operační systémy Linux a software z kategorie Open Source, existují dvě cesty. První je koupit komerční distribuci Linuxu s kompletní technickou podporou, avšak ta není zadarmo, a druhá je pustit se do vlastních zákaznických úprav softwaru šířeného prostřednictvím všeobecné veřejné licence (GPL – General Public License) – ale to je zase časově náročná varianta s nejistým výsledkem. Někteří výrobci hardwaru, a mezi nimi i firma Kontron, proto nabízejí ještě jinou alternativu: kromě sady BSP (Board Support Package), který podporuje operační systémy podléhající komerčním licenčním podmínkám, nabízejí i vlastní distribuci Linuxu šířenou podle podmínek GPL a přizpůsobenou „na míru“ potřebám automatizační techniky.
Software Open Source, tedy software s otevřeným kódem vyhovující podmínkám OSI (Open Source Initiative), je pro vývojáře na první pohled bohatým územím oplývajícím nespočetným množstvím modulů a zdrojových programů, které mohou být libovolně přizpůsobeny tak, aby vyhovovaly požadavkům zadání a mohly se stát součástí jimi vyvíjené softwarové aplikace. Software Open Source bývá často považován za software, který je zadarmo. To není tak úplně pravda. Je sice bez licenčních poplatků, ale zahrnou-li se do jeho ceny i náklady na vývoj a technickou podporu, zadarmo není.
Pojem Open Source je pro mnohé spojen s operačním systémem Linux, avšak software Open Source lze využít i v jiných operačních systémech. Dokonce i v oblasti firmwaru vestavných mikropočítačových desek už si software Open Source odbyl svou premiéru, a to v podobě softwarového rozhraní EFI (Extensible Firmware Interface), jež jako následník systému BIOS plní úlohu prostředníka mezi vlastním firmwarem desky a operačním systémem.
Použít software Open Source jako levnou alternativu ke komerčně dodávaným softwarovým produktům je lákavé. Jenže je v tom háček. Ve většině případů je třeba zdrojový kód určitým způsobem upravit, a to znamená, že na takovýto úkon musí být položka v rozpočtu vývojových prací. Náklady na individuální přizpůsobení operačního systému Open Source se vyplatí jen tehdy, počítá-li se s výrobou velkého množství jednotek, aby se v jejich prodejní ceně počáteční investice rozpustila. Při zákaznickém přizpůsobování softwaru distribuovaného podle GPL je v každém případě třeba zvážit, zda vliv vývojových prací na cenu jednotky je úměrný výhodám plného přístupu ke zdrojovému kódu a jeho neomezené dostupnosti. Zákazníkům, kteří se soustřeďují jen na vývoj softwarové aplikace bez toho, že by se chtěli sami starat o stabilitu a funkčnost linuxového prostředí na pozadí aplikace, je možné doporučit komerční distribuci Linuxu, kde je o to postaráno, a k níž se poskytuje i nezbytná technická podpora. Mimo jiné tím lze dosáhnout kratší doby potřebné k uvedení výrobku na trh. Například společnost Kontron podporuje všechny distribuce Linuxu, které jsou významné pro vestavné systémy, včetně distribucí WindRiver Linux, Redhat Enterprise nebo SUSE Linux Enterprise.
Ke dvěma variantám, vyvinout nebo koupit, existuje v prostředí softwaru Open Source ještě třetí cesta: distribuce dodaná výrobcem hardwaru.
Například Kontron nabízí vlastní distribuci Embedded Linux Distribution, sestavenou výhradně z modulů Open Source (obr. 1). Může být použita pro podporovaný hardware a je bez licenčních poplatků. Embedded Linux Distribution je k dispozici např. pro průmyslová PC na lištu DIN ThinkIO-Duo (obr. 2) nebo pro desky s procesory PowerPC, ARM nebo XScale. Je založena na jádru OSADL Linux, které umožňuje systému pracovat v reálném čase, a obsahuje souborový systém Linux, kompilátor Cross Compiler Toolchain, ovladače a knihovny specifické pro hardware od firmy Kontron, další užitečné nástroje a obsáhlé uživatelské příručky. K tomu Kontron navíc nabízí podporu pro virtualizaci ze zdrojů Open Source, jako např. virtualizační systém KVM//Qemu (virtualizační stroj KVM, Kernel-based Virtual Machine, s emulátorem Qemu) s velmi dobrým výkonem na procesorových deskách Intel Core2 Duo. Nabídku z oblasti Open Source doplňují např. nástroje pro updatování systému BIOS a další firmware pro procesorové desky, distribuovaný podle podmínek GPL. To znamená, že společnost Kontron může svým zákazníkům dodat stále se rozšiřující počet technických zařízení, která jsou zcela osvobozena od licenčních poplatků za software.
Aby mohla společnost Kontron toto vše nabídnout, musela vynaložit velký kus práce. Její výsledky jsou podle zásad GPL poskytnuty celé komunitě. Příklady za mnohé mohou být nástroj pro sledování chodu systému System Monitor MAX6650 pro linuxové jádro (kernel.org), nástroj pro správu rozhraní IPMI (Intelligent Platform Management Interface; sourceforge.net) nebo práce na projektu Flash-ROM (coreboot.org). A jak Kontron kontinuálně využívá nové komponenty Open Source pro své desky a systémy, často objeví v ovladačích nebo implementacích jádra chyby, opraví je a informace o tom předá přímo výrobcům mikroprocesorů. To znamená, že má intenzivní styky s vývojáři výrobců mikroprocesorů, např. s firmami Intel, AMD, Freescale, Silicon Motion nebo Hilscher.
Vývoj uživatelských aplikací založených na Open Source nemusí být levná záležitost, naopak, projekty vedené z vlastní iniciativy výrobce zařízení mohou být nákladné a časově náročné. Ti, kdo chtějí používat svůj vlastní dedikovaný software, by o tom měli pečlivě přemýšlet. I když se koncový výrobce zařízení, který chce takovou aplikaci použít, soustředí primárně na vývoj vlastní uživatelské aplikace, musí zaručit, že bude moci dlouhodobě dodávat instalace softwaru podle podmínek GPL. Možnou alternativou je spolehnout se na distribuci softwaru GPL od dodavatele hardwaru. Proto Kontron, výrobce hardwaru pro vestavné počítače, pokračuje v podpoře softwaru Open Source, a ujišťuje své zákazníky, že bude v jeho vývoji pokračovat. Každá nová aplikace, vyvinutá podle požadavků konkrétního zákazníka, přináší nová řešení problémů, z nichž mohou těžit i další zákazníci a členové komunity Open Source. Na základním vývoji se tak podílí značný počet zákazníků, přičemž žádný z nich nemusí platit za každou dílčí úpravu a vylepšení.
Cílem firmy Kontron ovšem není konkurovat „profesionálním“ distribucím Linuxu a RTOS. Je to čistě jen alternativa, kterou je možné nabídnout pro mnohé případy využití vestavných systémů. V žádném případě ale taková distribuce nemá plný rozsah funkcí, které má komerční distribuce. Přístup společnosti Kontron však ukazuje způsob, jak software Open Source přiblížit zákazníkům z řad OEM prostřednictvím dodavatelů hardwaru. Těm to zase přináší možnost efektivněji a dlouhodoběji zabezpečovat údržbu dodávaných systémů. Distribuce softwaru výrobcem hardwaru může ulehčit také implementaci hotového softwarového systému do zařízení, např. tím, že správa licencí podle GPL je velmi jednoduchá: stačí dbát na stanovená pravidla této licence, žádné licenční poplatky se neplatí.
Jaká jsou tato pravidla a může jejich dodržování být problémem? Uveďme příklad: Výrobce hardwaru poskytne zákazníkovi k desce sadu BSP s licencí GPL, zákazník BSP použije jako součást vlastní uživatelské aplikace, což podle tzv. virového efektu způsobí, že i tato uživatelská aplikace je „infikována virem GPL“, tzn. že musí být také poskytována s licencí GPL. Pro zákazníka, který uvedenou skutečnost nezná a dodavatel hardwaru jej neinformoval o omezujících podmínkách použití BSP s GPL, to může být katastrofa, zvláště když už je zařízení uvedeno na trh.
Pro to, aby společnost Kontron ochránila zákazníky před porušením pravidel volné licence GPL, které může být sdružením Free Software Foundation penalizováno, jsou její softwarové sady BSP přístupné např. na LGPL (
Lesser GPL; více na
www.gnu.org). LPGL umožňuje vývojovým inženýrům použít zmíněné balíčky ve svých aplikacích a přitom ochránit svoje duševní vlastnictví spojené s vývojem uživatelské aplikace. Společnost Kontron kromě toho informuje své zákazníky včas o úskalích spojených s používáním softwaru Open Source a nabízí jim, v mnoha případech ve spolupráci s OSADL, řešení, jak se tomuto úskalí vyhnout.
Na trhu se začíná uplatňovat nová metoda, jak oddělit software Open Source od komerčního uživatelského softwaru: virtualizace. V operačních systémech Open Source virtualizace umožňuje, aby komerční operační systém (např. Windows) běžel jako host ve virtuálním stroji. V tomto hostovaném operačním systému pak může být spuštěno jakékoliv množství aplikačních programů. Systém Open Source a hostovaný systém spolu komunikují prostřednictvím virtuální sítě.
Společnost Kontron vykonala v této oblasti velký kus výzkumné a vývojové práce a chystá takové řešení s Open Source Linux BSP pro svoje průmyslové počítače ThinkIO-Duo.
Claus Gindhart,
vedoucí skupiny Linux Development Team,
Kontron Modular Computers
Obr. 1. Distribuce Embedded Linux Distribution od firmy Kontron
Obr. 2. Linux v akci: průmyslový počítač ThinkIO-Duo v rozváděči
Obr. 3. Konfigurace systému pomocí BSP
Podmínky, které je třeba dodržet u BSP Open Source
Pro to, aby dodavatel sad BSP zajistil, že se zákazník v žádném případě nedostane do konfliktu s podmínkami GPL, musí všechny BSP respektovat tyto body:
- použití softwarových modulů Open Source musí být uvedeno ve všech manuálech k softwaru,
- každý softwarový balíček, který obsahuje softwarové moduly Open Source, musí být dodáván s kompletním a dostupným zdrojovým kódem,
- v hlavičkách zdrojových programů musí být uvedeno, že jde o software Open Source,
- všechny modifikace, vylepšení a opravné balíčky v softwaru Open Source musí být dostupné všem členům komunity a musí splňovat podmínky Open Source Coding Conventions.
Jak si vybrat
„Každý operační systém má své specifické výhody a naopak i svá omezení. V případě systémů Windows, Linux a RTOS jsou to tyto: Za prvé, jestliže jste odkázáni na dodávku nejmodernějších komponent od dodavatele, který podporuje téměř výhradně Windows, a je-li pro vás důležitá doba uvedení výrobku na trh, je správnou volbu zůstat ve světě Windows. Tak je tomu např. s nejnovějším grafickým hardwarem. Ovšem i v této oblasti se děje ledacos nového. Například firma Intel u procesorů Intel Atom postavila Linux na stejnou úroveň s Windows. Za druhé, pokud jde o vlastnosti reálného času, Linux nedokáže všechno to, co nabízejí systémy RTOS, např. VxWorks. A nakonec za třetí, jestliže nechcete pracovat se softwarem Open Source, nabízejí se i jiné alternativy.“
Norbert Hauser,
viceprezident pro marketing, Kontron AG