Драйверите на компютърни устройства са това, което позволява на вашата операционна система да казва на хардуера във вашия компютър и периферните устройства, които сте включили, какво да прави.
Подобно на приложенията и операционните системи, тези хардуерни драйвери могат да се състоят от открито достъпен изходен код, скрит зад двоични блогове и дългосрочно лицензионно споразумение с краен потребител.
И така, какви са разликите между затворени и отворени хардуерни драйвери? Освен това, как ви влияят тези различия?
Какво е хардуерен драйвер?
Съществуват хардуерни драйвери, за да активирате вашия софтуер на компютъра за комуникация с хардуера. Понякога те идват интегрирани с операционната система на вашия компютър. Друг път трябва да изтеглите и инсталирате драйверите сами.
Много драйвери за Microsoft Windows са достъпни за изтегляне. По-старите компютърни устройства често се доставят с CD-ROM дискове, които включват драйвери, за да накарат хардуера ви да работи. Хардуер означава всичко от USB микрофон до графична карта за игри.
В Linux драйверите често идват вградени в операционната система, което идва със своите плюсове и минуси. През повечето време, когато включите ново устройство, то просто работи. Това важи особено за по-стария хардуер, който е имал време да си пробие път в ядрото на Linux. Но понякога, особено при по-новите устройства, компютърът ви няма да разпознае новото устройство и е по-малко вероятно драйверите, съвместими с Linux, да бъдат достъпни за изтегляне онлайн.
Защо много драйвери са собствени
Компютърен компонент или външно устройство може да изглежда като предимно физически продукт, но софтуерът, захранващ устройството, често прави един продукт по-завладяващ от друг. Много фирми разглеждат кода, захранващ този софтуер, като свое конкурентно предимство пред други компании.
Вместо да направят този код публично достъпен, те позволяват само на тези без компанията или определени изпълнители да видят кода. Кодът се счита за частна информация. Полученият софтуер е собствен софтуер, известен също като софтуер с затворен код.
Конкуренцията между AMD и NVIDIA е една от най-ожесточените в компютърния хардуер. NVIDIA отдавна има предимство пред конкурентите и е по-малко склонна да предоставя хардуерни драйвери с отворен код. Кодът в тези драйвери може да даде възможност на съществуващ конкурент да настигне или да улесни нова компания да навлезе в полето, без да разработва код от нулата.
Собствените операционни системи имат собствени драйвери
Тук също има нужда да се обърнете към слона в стаята. Microsoft Windows е най-широко използваната настолна операционна система в света. Windows се състои от затворен изходен код.
Хардуерните драйвери се интегрират с операционната система на толкова ниско ниво. След Windows 8 компютрите с Windows могат да изпълняват само подписани драйвери. Това означава, че драйверите трябва да бъдат сертифицирани от Microsoft и тъй като Windows е собственост, тези драйвери също трябва да бъдат.
Може би по-малко изненадващо е, че Apple също така сертифицира драйвери на macOS. Но на ниво ядро, macOS се основава на различни технологии с отворен код. macOS също използва системата CUPS с отворен код за управление на принтери. Но ако инсталирате драйвер, той вероятно е собствен.
Chrome OS на Google е малко изключение тук. Chrome OS е технически собственост, но е изградена върху основа с отворен код. Тъй като Chrome OS използва ядрото на Linux, то използва както драйверите с отворен код, така и затворените двоични блобове, които се доставят с ядрото. Но ако трябва да стартирате допълнителен хардуер, който не се поддържа от кутията, всъщност не е предназначена Chrome OS.
Каква е нуждата от отворени драйвери?
Това означава, че въпросът за драйверите с отворен код срещу затворен код засяга до голяма степен потребителите на Linux. Тук предпочитанието е обратното на другите настолни операционни системи. Никоя компания не разработва и доставя Linux, така че няма компания, която да сертифицира драйвери. Разработката на Linux е разпространена сред хора по целия свят, някои работят като доброволци, а други като служители за различни компании. Работи по-добре за всички, когато е наличен изходният код за драйвери.
Предимствата на драйверите с отворен код отразяват много от тях предимствата на софтуера с отворен код общо взето.
- По-лесно софтуерно сътрудничество: Много хора могат да разработват софтуер заедно, когато няма една компания, която да служи като вратар на изходния код.
- Софтуер, на който можете да се доверите: Без достъп до изходния код, вие всъщност не знаете какво прави дадена програма.
- По-голяма поверителност: Рядко се случва софтуерът с отворен код да проследява какво правите, тъй като е лесно някой да преразпространи друго копие на софтуера с премахнато проследяване.
- Трайност на софтуера: Когато една компания загуби интерес към програма или устройство, те често спират да ги разпространяват. Отвореният код позволява на всеки друг да продължи да предоставя софтуера.
В Linux, когато драйверът е с отворен код, има по-голям шанс всичко просто да работи. Вашият хардуер също вероятно ще съдържа по-малко грешки.
Например, потребителите на Linux могат да очакват по-плавни анимации на работния плот, използвайки интегрирана от Intel графика, отколкото графика на NVIDIA карта, тъй като разработчиците на графики за Linux нямат достъп до вътрешната работа на чипа NVIDIA, за да изработят всички бъгове. Странностите могат да се появят на неочаквани места, като например при затваряне на лаптоп, за да го поставите в режим на заспиване. В резултат на това потребителите на Linux, които искат по-плавно изживяване, но също така се нуждаят от мощна графична карта, може да предпочетат AMD, компания, която предоставя повече драйвери с отворен код.
Ако Linux беше по-широко използван на настолни компютри, вероятно ще видите по-голям натиск върху компаниите да пуснат отворени драйвери. В Linux кодът с отворен код е по-скоро конкурентно предимство, функция, на която много потребители придават тежест, когато вземат решенията си за покупка. Но тъй като потребителите на Linux представляват толкова малък процент от общите потребители на компютри, въпросът дали да се направи драйвер с отворен код почти никога не възниква. В Windows и macOS драйверът с отворен код няма да бъде сертифициран.
Отворен код срещу Собственост: Кое трябва да използвате?
На повечето компютри нямате избор. В Windows и macOS вашите драйвери са собствени. В Chrome OS, независимо дали драйверите ви са отворени или затворени, това знание е до голяма степен неизвестно и без значение за вашия опит.
Но ако използвате Linux, тогава този въпрос е от значение. Освен ако не се нуждаете от допълнителната мощност, която може да осигури собствен драйвер, като например за игри, хардуерът с драйвери с отворен код често осигурява по-добро изживяване. И такива драйвери са по-добре в съответствие с по-широкия дух и функционалност, които отличават Linux от другите операционни системи.