Урок #2. О Linux, GNU и проблемах с программами

Что такое Linux? Думаю, ответ на этот вопрос вам известен и вы не задумываясь скажете, что это операционная система. Так-то оно так, но не совсем…

Linux — это ядро операционной системы, то есть это своеобразный мотор, вокруг которого строится операционная система и который движет всеми процессами в ней.

Если рассматривать ядро, то можно сказать, что оно само по себе бесполезно для конечного пользователя, также как и двигатель сам по себе бесполезен, если его изъять из автомобиля.

Можно провести еще одну параллель с двигателем внутреннего сгорания. Также как и двигатель имеет один и тот же принцип работы, но используется десятками автомобильных компаний в своих разработках, так и ядро Linux было заимствовано программистами десятков стран, для создания своих операционных систем.

Именно поэтому операционных систем основанных на ядре Linux тысячи! А более-менее известных несколько сотен!

Linux в отличии от Windows не имеет какого-то одного головного центра, который руководит разработкой. Практически вся разработка лежит в руках энтузиастов. Кто-то разрабатывает свою операционную систему чисто из альтруистках побуждений, кто-то имеет спонсоров, которые вносят свой финансовый вклад в развитие того или иного дистрибутива.

Кстати, стоит сразу внести это понятие, если кто-то не знает.

Дистрибутив — это установочный файл или файлы какой-либо программы. Дистрибутив создан таким образом, чтобы программа корректно установилась на вашем компьютере с учетом всех его особенностей. То есть говоря о дистрибутиве операционной системы я имею в виду некоторую программу, которая позволяет установить операционную систему на любой компьютер, учитывая все особенности именно этого компьютера, чем обеспечится наиболее оптимальная работа операционной системы после ее установки.

Итак, в отличии от Windows, исходный код практически любого дистрибутива Linux является открытым. Это означает что любой программист может вносить в него исправления или дополнения.

Также в состав разных дистрибутивов могут входить разные программы. Это означает, что установив операционную систему на компьютер вы сразу получите некоторых набор программ, и он будет отличаться в зависимости от дистрибутива.

Ну и скажу пару слов о проекте GNU, который внес особый вклад в развитие операционной системы LINUX. Целью этого проекта было создание свободной полноценной операционной системы и свободного программного обеспечения. Разработка производилась на основе операционной системы UNIX, которая была очень популярна в 80-е года прошлого века. К слову сказать, UNIX стала прародителем не только Linux, но и операционной системы Mac OS, которая устанавливается на компьютеры Apple. Ну а достаточно популярная в настоящее время операционная система Android, базируется на ядре Linux.

В общем, не углубляясь в исторические детали скажу, что ядро Linux совместно с разработками проекта GNU превратилось в полноценную операционную систему, которой и посвящен данный курс. Поэтому логичнее называть операционную систему не просто LINUX, а GNU/LINUX, что вы можете достаточно часто видеть на различных сайтах или в других источниках, посвященных Линукс.

GNU/LINUX

Есть еще один нюанс, который с одной стороны никак не касается нас, как обычных пользователей, но с другой стороны я хочу о нем упомянуть, чтобы показать откуда появляются некоторые проблемы у пользователей Linux.

Итак, в рамках проекта GNU возникла свободная лицензия GPL, то есть это некоторый документ, описывающий правила создания и распространения программ. Этой лицензией пользуется множество программистов и данная лицензия дает полную свободу пользователям и разработчикам. Согласно лицензии GPL любой человек может разрабатывать программы и распространять их как бесплатно, так и за деньги, НО В ОБЯЗАТЕЛЬНОМ порядке все программы и компоненты должны иметь открытый исходный код, то есть любой другой программист может посмотреть как эта программа была написана.

Само собой такой нюанс не нравится многим разработчикам, которые желали бы скрыть свои ноу-хау. Именно поэтому имеются некоторые проблемы с программами под Linux и вы не сможете найти такие программы, как, например, Photoshop или Microsoft Office под Linux. Эти программы являются коммерческими продуктами с закрытым исходным кодом и они вряд ли когда-нибудь официально станут доступными пользователям Linux.

Также у пользователей периодически возникают проблемы с драйверами для некоторых устройств и все по той же причине. Производители устройств, стремясь скрыть какие-то свои разработки от конкурентов, просто не выпускают драйвера под Linux. Но эти проблемы обычно решаются энтузиастами, которые создают или модернизируют драйвера самостоятельно, а потом делятся ими со всеми желающими.

Ну и в заключении хочу сказать о бесплатности Linux.

Многие считают, что Linux полностью бесплатна, что вроде бы как заложено в саму ее лицензию. Это не так. Под «свободностью» понимается не бесплатность, а свобода действий! Так как все исходные коды, как самой операционной системы, так и программ под нее написанных, являются открытыми, то любой программист может брать их за основу, для создания своих собственных разработок.

Именно это, а не что-то другое лежит в основе Линукса и именно это объясняет такое разнообразие ее дистрибутивов, число которых исчисляется тысячами. При желании каждый может создать свой личный дистрибутив и распространять его хоть за деньги, хоть бесплатно… 


Безусловно, большинство программ и дистрибутивов Linux являются бесплатными, но есть и платные разработки, поэтому говорить что Linux является по умолчанию бесплатной операционной системой не совсем корректно.

На этом у меня все, а в следующий раз я расскажу о дистрибутивах Linux и мы выберем один из них для себя.