Portál AbcLinuxu, 1. května 2025 13:59
Linux Driver Project má šéfa na plný úvazek. Rozhovor s Gregem Kroah-Hartmanem, který vede LDP zaměřený na přípravu ovladačů pro Linux i za cenu podepsání NDA.
Linux Driver Project (LDP) byl oznámen v lednu a dostalo se mu nadšeného přijetí. Od té doby se s ním však moc nedělo, protože Greg Kroah-Hartman měl dost práce se zaměstnáním i vývojem jádra. Teď však bude moci projektu věnovat mnohem více času, protože Novell, jeho zaměstnavatel, změnil jeho pracovní pozici, takže bude pracovat pouze na LDP.
Původní oznámení projektu proběhlo v rámci konference Freedom HEC a Greg ho popsal jako "trapný reklamní kousek", protože pouze zopakoval, jak standardně funguje vývojový model linuxových ovladačů: na základě hardwaru a nějakých informací pro vaše zařízení napíšeme ovladač. Přibyla však jedna novinka; s pomocí Linux Foundation bylo zařízeno, že vývojáři budou moci podepsat s výrobci hardwaru NDA, aby získali přístup k dokumentaci a dalším informacím o zařízení. NDA pro vývoj ovladačů nejsou univerzálně schvalovány, ale výrobci je často vyžadují.
Pro Linux z toho plyne několik výhod: ovladače budou všechny vydány s GPL, budou začleněny do hlavního jádra, a proto budou také k dispozici všem uživatelům Linuxu. Další svobodné operační systémy budou také moci zdrojový kód využívat pro psaní ovladačů. Greg doplnil, že to má také překvapující výhody pro nové vývojáře jádra:
Další skvělá výhoda, kterou jsem si zpočátku ani neuvědomil, je to, že tím dáváme příležitost vývojářům, kteří chtějí napsat "něco opravdového". Nejvíce reakcí na první oznámení přišlo od vývojářů, kteří chtějí pomoci. Více než 80 lidí se ozvalo, že by chtěli pomoci Linuxu, ale dosud nevěděli jak. Tento projekt jim dává možnost pro komunitu vyvinout a spravovat opravdový ovladač.
Když teď má Greg čas se LDP věnovat, založil dva mailing listy a wiki, s jejichž pomocí lze projekt sledovat. Mailing listy jsou pro dvě základní role, které mohou účastníci projektu mít: vývojáři a manažeři projektů. Manažeři projektů budou zajišťovat vývoj, starat se o to, aby měli programátoři ovladačů vše, co potřebují k práci, a zároveň budou informovat firmu, pro kterou bude ovladač vyvíjen, o průběžném stavu. Zkrátka se budou starat o jednotlivé ovladače, podobně jako se Greg bude starat o celý projekt.
Do týdne od restartu projektu už bylo k dispozici pět ovladačových projektů, včetně jednoho, který je popisován jako "pročistit a začlenit" - vhodné jako první ovladač pro někoho, kdo s vývojem linuxového jádra teprve začíná. Hlásí se i manažeři projektů. Počet dobrovolníků roste, ale Greg poznamenal, že projektu zatím chybí publicita:
Už máme přes 200 lidí, kteří se chtějí podílet jako vývojáři, takže v tomto ohledu si vedeme dobře. 25 lidí se přihlásilo o práci manažerů projektů, takže i tam to máme pokryté. Co teď potřebujeme nejvíce, je najít společnosti, které potřebují naši pomoc. Nejdůležitější je v tuto chvíli rozhlásit, že je tato služba všem firmám k dispozici.
Připravuje se již několik různých druhů projektů:
[...] audio kodeková zařízení, USB timestamp [časová značka] zařízení, VoIP zařízení, videokamery, spousta různých druhů zařízení pro získávání dat a také zakázková zařízení pro propojení sběrnic, a dokonce i celá zařízení typu system-on-a-chip [systém na čipu].
Greg má v plánu znovu kontaktovat společnosti, které se mu ozvaly od ledna, ale zapomnělo se na ně. Zároveň s rostoucím povědomím o projektu by se mělo objevit dost projektů vhodných pro všechny možné zájmy a úrovně zkušeností s vývojem. Protože jde o projekt určený k začleňování nového kódu do hlavního jádra, bude tomuto procesu vystaveno více vývojářů, což by mělo pomoci s rozšiřováním řad hackerů jádra.
Linux už teď podporuje více hardwaru než kterýkoliv jiný operační systém kdy podporoval a LDP tento náskok ještě zvýší. Těžit z toho bude Linux, vývojáři, manažeři projektů, společnosti, jejichž zařízení budou podporována, i distributoři. Někteří lidé sice s podepisováním NDA nesouhlasí, ale ovladače budou svobodné. Jakmile firmy uvidí, jak snadné je dostat do jádra kvalitní ovladače, určitě budou chtít více. A to může být jedině dobře - pro všechny systémy, nejen pro Linux.
1) Které z ovladačů, jež už bylo možné začlenit do jádra, považujete za nejdůležitější?
To je jako ptát se rodiče, které dítě má radši
2) Můžete nám říct, na jakých ovladačích teď pracujete? Nebo aspoň obecně o jaký druh hardwaru se jedná.
Na stránce http://www.linuxdriverproject.org/twiki/bin/view/Main/ProjectStatus je seznam aktuálně rozpracovaných projektů.
3) Jak kvalitní je dokumentace, kterou dostáváte od spolupracujících firem?
Velmi kvalitní.
4) A podpora?
Také velmi dobrá.
5) U jak velkého procenta projektů je vyžadována NDA, která vám zabraňuje vydat dokumentaci?
Zatím jsme měli jen jeden projekt, kde byla vyžadována NDA, ale ten v tuto chvíli stojí, protože daný hardware ještě ani není dokončen a prodáván.
6) Co si obecně myslíte o NDA? Opravdu je výrobci potřebují?
Někteří výrobci si myslí, že jsou nezbytné, takže pokud s nimi chceme pracovat, musíme jejich přání respektovat.
7) Narazili jste někdy na tak přísnou NDA, že jste ji nemohli přijmout?
Máme připravenou vlastní strukturu NDA, takže neřešíme NDA jednotlivých výrobců.
8) Spoléháte jen na zájem výrobců, nebo je také sami oslovujete?
V tuto chvíli čekáme, dokud za námi výrobci nepřijdou, ale to se brzy změní, protože se neúčastní dost výrobců na to, aby měli všichni co dělat.
9) V 2.6.23 byl začleněn UIO framework. Víte o nějakém kódu, který by ho už používal?
Kromě té jedné věci, která už je v jádře, jsem slyšel, že o použití uvažovalo několik společností, ale zatím jsem neviděl žádný kód, který by z toho vzešel.
10) Budete i nadále spravovat 'vaše' subsystémy, i když teď pracujete na plný úvazek na LDP?
Ano, moje práce na LDP by neměla nijak ovlivnit aktivity v rámci vývoje jádra.
11) Dáváte přednost programování nebo řízení? Mění se s postupem času váš náhled na tuto otázku?
Raději mám programování, ale také chci povzbudit ostatní, aby z nich byli aktivní přispěvatelé, což občas zahrnuje trochu řízení, a to mi nevadí.
12) Uvažoval jste někdy (nebo vícekrát) o tom, že byste zanechal vývoje Linuxu? Pokud ano, jaké byly hlavní důvody?
Neuvažoval.
13) Bulvár: které distro používáte na desktopu/notebooku?
Jako hlavní distro používám openSUSE, ale pořád mi tu běží pár strojů na Gentoo.
14) Vim nebo Emacs?
Samozřejmě vim :)
Programátor potrebuje napísať slobodný ovládač a potreboval by k tomu vedieť nejaké bežne nedostupné informácie. Výrobca mu ich po podpísaní NDA poskytne, ale on sa zaviaže, že ich využije len k napísaniu ovládača a neposkytne ich nikomu inému (napr. konkurencii).Ale dotyčné moduly mají být pod GPL, takže zdrojáky budou otevřené - uniká mi něco, nebo by ty informace prostě mohli vydat jen tak, protože z toho zdrojáku si je může každý při troše snahy vyčíst...?
Ale v těch zdrojácích se objeví jen zlomek informací, který jsou v dokumentaci, kterou vývojář dostane k dispozici. Důvod, proč se ovladače píšou pod NDA je totiž většinou ten, že není k dispozici žádná "programátorská" dokumentace k HW, protože se při zběsilém tempu vývoje dnešního HW prostě nestíhá psát. Vývojáří ovladačů tak velmi často píšou ovladače podle "dokumentace" tvořené VHDL/Verilog zdrojákama či schématama IP cors a jejich "low-level" dokumentací... A to jsou data/informace, který žádná firma své konkurenci neposkytne. To k čemu slouží jakej registr v chipu už ale žádný "velký tajemství" neni a proto se to klidně může objevit v opensource ovladači.
Pro Linux z toho plyne několik výhod: ovladače budou všechny vydány s GPL, budou začleněny do hlavního jádra, a proto budou také k dispozici všem uživatelům Linuxu. Další svobodné operační systémy budou také moci zdrojový kód využívat pro psaní ovladačů.
Samozřejmě, že je nebudou moci použít. Proč? Protože né všechny operační systémy jsou pod nakažlivou GPL licencí.
Jak postupovat v tomto případě ?Napsat si to vlastnoručně
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.