Sterowniki urządzeń komputerowych umożliwiają systemowi operacyjnemu informowanie sprzętu wewnątrz komputera i podłączonych urządzeń peryferyjnych, co ma robić.
Podobnie jak aplikacje i systemy operacyjne, te sterowniki sprzętowe mogą składać się z ogólnodostępnego kodu źródłowego ukrytego za blogami binarnymi i długiej umowy licencyjnej użytkownika końcowego.
Jakie są więc różnice między sterownikami sprzętowymi zamkniętymi i otwartymi? Co więcej, jak te różnice wpływają na Ciebie?
Co to jest sterownik sprzętu?
Istnieją sterowniki sprzętowe, które umożliwiają oprogramowanie komputera do komunikacji ze sprzętem;. Czasami są zintegrowane z systemem operacyjnym komputera. Innym razem musisz samodzielnie pobrać i zainstalować sterowniki.
Wiele sterowników dla systemu Microsoft Windows jest dostępnych do pobrania. Starsze urządzenia komputerowe często były dostarczane z płytami CD-ROM zawierającymi sterowniki umożliwiające działanie sprzętu. Sprzęt oznacza wszystko, od mikrofonu USB po kartę graficzną do gier.
W systemie Linux sterowniki często są wbudowane w system operacyjny, co ma swoje zalety i wady. W większości przypadków po podłączeniu nowego urządzenia po prostu działa. Dzieje się tak zwłaszcza w przypadku starszego sprzętu, który miał czas, aby przedostać się do jądra Linuksa. Czasami jednak, zwłaszcza w przypadku nowszych urządzeń, komputer nie rozpoznaje nowego urządzenia, a sterowniki zgodne z systemem Linux są mniej dostępne do pobrania online.
Dlaczego wiele sterowników jest zastrzeżonych
Komponent komputera lub urządzenie zewnętrzne może wydawać się produktem głównie fizycznym, ale oprogramowanie zasilające urządzenie często sprawia, że jeden produkt jest bardziej atrakcyjny niż inny. Wiele firm postrzega kod zasilający to oprogramowanie jako swoją przewagę konkurencyjną nad innymi firmami.
Zamiast udostępniać ten kod publicznie, pozwalają zobaczyć kod tylko tym, którzy nie mają firmy lub niektórych kontrahentów. Kod jest uważany za informację zastrzeżoną. Powstałe oprogramowanie jest oprogramowaniem własnościowym, znanym również jako oprogramowanie o zamkniętym kodzie źródłowym.
Konkurencja między AMD a NVIDIA jest jedną z najbardziej zaciekłych w sprzęcie komputerowym. NVIDIA od dawna ma przewagę nad rywalami i jest mniej skłonna do dostarczania sterowników sprzętowych typu open source. Kod zawarty w tych sterownikach mógłby prawdopodobnie umożliwić istniejącemu konkurentowi nadrobienie zaległości lub ułatwić nowej firmie wejście na rynek bez tworzenia kodu od zera.
Opatentowane systemy operacyjne mają własne sterowniki
Tu też trzeba zwrócić się do słonia w pokoju. Microsoft Windows to najczęściej używany komputerowy system operacyjny na świecie. Windows składa się z zamkniętego kodu źródłowego.
Sterowniki sprzętowe integrują się z systemem operacyjnym na tak niskim poziomie. Od systemu Windows 8 na komputerach z systemem Windows można uruchamiać tylko podpisane sterowniki. Oznacza to, że sterowniki muszą być certyfikowane przez Microsoft, a ponieważ system Windows jest zastrzeżony, te sterowniki również muszą być.
Być może mniej zaskakujące, że Apple certyfikuje również sterowniki na macOS. Ale na poziomie jądra macOS opiera się na różnych technologiach open source. macOS wykorzystuje również system CUPS o otwartym kodzie źródłowym do zarządzania drukarkami. Ale jeśli instalujesz sterownik, prawdopodobnie jest on zastrzeżony.
Wyjątkiem jest tutaj system operacyjny Google Chrome. Chrome OS jest technicznie zastrzeżony, ale opiera się na fundamencie typu open source. Ponieważ system operacyjny Chrome korzysta z jądra Linuksa, używa zarówno sterowników typu open source, jak i zamkniętych binarnych obiektów blob, które są dostarczane z jądrem. Ale jeśli potrzebujesz uruchomić dodatkowy sprzęt, który nie jest obsługiwany po wyjęciu z pudełka, nie do tego jest przeznaczony system operacyjny Chrome.
Jakie są potrzeby otwartych sterowników?
Oznacza to, że kwestia sterowników typu open source i sterowników o zamkniętym kodzie źródłowym w dużej mierze wpływa na użytkowników Linuksa. Tutaj preferencja jest przeciwieństwem innych systemów operacyjnych. Żadna firma nie rozwija i nie dostarcza Linuksa, więc nie ma jednej firmy, która certyfikowałaby sterowniki. Rozwój Linuksa jest rozprzestrzeniony wśród ludzi na całym świecie, niektórzy pracują jako wolontariusze, a inni jako pracownicy różnych firm. Działa lepiej dla wszystkich, gdy dostępny jest kod źródłowy sterowników.
Zalety sterowników typu open source odzwierciedlają wiele z tych zalety oprogramowania open source ogólnie.
- Łatwiejsza współpraca programowa: Wiele osób może wspólnie tworzyć oprogramowanie, gdy nie ma jednej firmy pełniącej funkcję strażnika kodu źródłowego.
- Oprogramowanie, któremu możesz zaufać: Bez dostępu do kodu źródłowego tak naprawdę nie wiesz, co robi program.
- Większa prywatność: Oprogramowanie typu open source rzadko śledzi to, co robisz, ponieważ komuś łatwo jest rozprowadzić kolejną kopię oprogramowania z usuniętym śledzeniem.
- Trwałość oprogramowania: Kiedy firma traci zainteresowanie programem lub urządzeniem, często przestaje je rozpowszechniać. Otwarty kod źródłowy umożliwia każdemu dalsze udostępnianie oprogramowania.
W systemie Linux, gdy sterownik jest oprogramowaniem typu open source, istnieje większa szansa, że wszystko po prostu zadziała. Twój sprzęt będzie prawdopodobnie zawierał mniej błędów.
Na przykład użytkownicy Linuksa mogą spodziewać się płynniejszych animacji pulpitu przy użyciu zintegrowanej grafiki Intela niż grafiki NVIDIA karty, ponieważ twórcy grafiki Linuksa nie mają dostępu do wewnętrznych funkcji układu NVIDII, aby wszystko rozpracować błędy. Dziwactwa mogą pojawić się w nieoczekiwanych miejscach, na przykład podczas zamykania laptopa, aby go uśpić. W rezultacie użytkownicy Linuksa, którzy chcą płynniejszego działania, ale potrzebują również wydajnej karty graficznej, mogą preferować AMD, firmę, która dostarcza więcej sterowników typu open source.
Gdyby Linux był szerzej używany na komputerach stacjonarnych, prawdopodobnie odczuwalibyśmy większą presję na firmy, aby wypuściły otwarte sterowniki. W systemie Linux kod open source jest bardziej przewagą konkurencyjną, funkcją, na którą wielu użytkowników przywiązuje wagę przy podejmowaniu decyzji zakupowych. Ale gdy użytkownicy Linuksa stanowią tak niewielki procent wszystkich użytkowników komputerów, pytanie, czy uczynić sterownik otwartym kodem źródłowym, prawie nigdy nie pojawia się. W systemach Windows i macOS sterownik typu open source nie będzie certyfikowany.
Open Source vs. Zastrzeżony: którego należy użyć?
Na większości komputerów nie masz wyboru. W systemach Windows i macOS twoje sterowniki są zastrzeżone. W systemie operacyjnym Chrome, niezależnie od tego, czy sterowniki są otwarte, czy zamknięte, ta wiedza jest w dużej mierze nieznana i nieistotna dla Twojego doświadczenia.
Ale jeśli używasz Linuksa, to pytanie ma znaczenie. O ile nie potrzebujesz dodatkowej mocy, jaką może zapewnić zastrzeżony sterownik, na przykład do gier, sprzęt ze sterownikami typu open source często zapewnia lepsze wrażenia. A takie sterowniki lepiej pasują do szerszego etosu i funkcjonalności, które odróżniają Linuksa od innych systemów operacyjnych.