Aktuální vydání

celé číslo

07

2020

Řízení distribučních soustav a chytrá města

Měření a monitorování prostředí v budovách a venkovním prostředí

celé číslo

Zlatá střední cesta: distribuce GPL od výrobce hardwaru

Pro toho, kdo chce ve svých zařízeních používat operační systémy Linux a software z ka­tegorie Open Source, existují dvě cesty. První je koupit komerční distribuci Linuxu s kom­pletní 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 alter­nativu: 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 šíře­nou 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 zdro­jových programů, které mohou být libovolně přizpůsobeny tak, aby vyhovovaly požadav­kům zadání a mohly se stát součástí jimi vy­ví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 technic­kou 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 ve­stavných mikropočítačových desek už si soft­ware Open Source odbyl svou premiéru, a to v podobě softwarového rozhraní EFI (Exten­sible Firmware Interface), jež jako násled­ní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 softwa­rový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 zname­ná, že na takovýto úkon musí být položka v rozpočtu vývojových prací. Náklady na in­dividuá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í investi­ce rozpustila. Při zákaznickém přizpůsobo­vání softwaru distribuovaného podle GPL je v každém případě třeba zvážit, zda vliv vývo­jový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 ko­merč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. Na­příklad společnost Kontron podporuje všech­ny 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 kou­pit, existuje v prostředí softwaru Open Sour­ce ještě třetí cesta: distribuce dodaná výrob­cem 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 Dis­tribution 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 fir­my 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 vel­mi dobrým výkonem na procesorových des­ká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 pro­cesorové desky, distribuovaný podle podmí­nek GPL. To znamená, že společnost Kon­tron 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 poplat­ků 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 poskyt­nuty celé komunitě. Příklady za mnohé mo­hou 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 In­terface; sourceforge.net) nebo práce na pro­jektu Flash-ROM (coreboot.org). A jak Kon­tron kontinuálně využívá nové komponenty Open Source pro své desky a systémy, čas­to 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ývo­jáři výrobců mikroprocesorů, např. s firma­mi 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 ča­sově 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ýrob­ce zařízení, který chce takovou aplikaci pou­žít, soustředí primárně na vývoj vlastní uži­vatelské aplikace, musí zaručit, že bude moci dlouhodobě dodávat instalace softwaru podle podmínek GPL. Možnou alternativou je spo­lehnout se na distribuci softwaru GPL od do­davatele 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čo­vat. 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 nemu­sí platit za každou dílčí úpravu a vylepšení.
 
Cílem firmy Kontron ovšem není konku­rovat „profesionálním“ distribucím Linuxu a RTOS. Je to čistě jen alternativa, kterou je možné nabídnout pro mnohé případy využi­tí vestavných systémů. V žádném případě ale taková distribuce nemá plný rozsah funkcí, které má komerční distribuce. Přístup spo­leč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ů hard­waru. Těm to zase přináší možnost efektivněji a dlouhodoběji zabezpečovat údržbu dodáva­ných systémů. Distribuce softwaru výrobcem hardwaru může ulehčit také implementaci hotového softwarového systému do zaříze­ní, např. tím, že správa licencí podle GPL je velmi jednoduchá: stačí dbát na stanovená pravidla této licence, žádné licenční poplat­ky 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 vi­rem GPL“, tzn. že musí být také poskytová­na s licencí GPL. Pro zákazníka, který uve­denou 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é li­cence 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 aplika­cích a přitom ochránit svoje duševní vlastnictví spojené s vývojem uživa­telské 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 sys­témech Open Source virtualizace umožňuje, aby komerční operační systém (např. Win­dows) běžel jako host ve virtuálním stro­ji. 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í pro­střednictvím virtuální sítě.
 
Společnost Kontron vykonala v této oblasti velký kus výzkumné a vývojové práce a chys­tá 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 Distribu­tion 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ě nedosta­ne 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 ma­nuálech k softwaru,
  • každý softwarový balíček, který obsahu­je 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é spe­cifické výhody a naopak i svá omeze­ní. 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ý podpo­ruje 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 grafic­kým hardwarem. Ovšem i v této oblasti se děje ledacos nového. Například firma In­tel 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ře­tí, jestliže nechcete pracovat se softwarem Open Source, nabízejí se i jiné alternativy.“
Norbert Hauser,

viceprezident pro marketing, Kontron AG