⌨ Labor omnia vincit ☮

Why do you use GNU/Linux?

Posted in GNU/Linux by anaumov on 23.09.2010

Достаточно часто можно увидеть темы на форуме или в багзилле, как новички GNU/Linux оскорбляют его разработчиков. Не понимают, как работает та или иная его часть, не могут с этим разобраться, и в итоге виноватыми оказываются программисты. В этом они чем-то напоминают Script kiddie, которые так же умееют/желают лишь использовать готовые продукты. Как это работает их не интересует.

Зачем использовать Open Source при отсутствии интереса к принципу работы тех программ, которые используешь, лично мне не понятно. Но это, грубо говоря, и не мое дело. GNU/Linux доступен всем. Вот только под “доступен всем” подразумевается, что каждый может его использовать (свобода распростанения), а не “подойдет и понравится каждому”. Казлось бы “так о чем собственно разговор?”, а разговор о том, что сегодя все больше и больше тех, которые решили попробовать GNU/Linux, им он не понравился… НО они продолжают его использовать! И при этом продолжают ругать и обвинять разработчиков в его неюзабельности.

GNU/Linux не дла всех. Да, это мое личное мнение. Я считаю, что надо обладать все же хоть каким-то энтузиазмом, чтобы изучать эту операционную систему. А без изучения научиться в ней работать нельзя. Да, в принципе, ни в чем нельзя хорошо разобраться, не изучая это… Кто-то возразит, что мол в другой ОС все настраивается в два клика и работает нехуже, но я говорю именно о понимании принципов работы того, что мы настраиваем. Списать домашнее задание или скопировать чужой код программы тоже можно быстрее, чем сделать/написать его самому (и работать это будет нехуже).

Вот небольшой пример, который показывает с какими проблемами приходится сталкиваться пользователям GNU/Linux “нового поколения”. Автор проблемы (использует Gentoo) собирает плазма-апплет networkmanagement. Вот что выдает make install:

[ 25%] Building CXX object applet/CMakeFiles/plasma_applet_networkmanagement.dir/networkmanager.o
/root/networkmanagement/applet/networkmanager.cpp:33:31:
error: QGraphicsBlurEffect: Нет такого файла или каталога
/root/networkmanagement/applet/networkmanager.cpp:
In constructor ‘NetworkManagerApplet::NetworkManagerApplet(QObject*, const QVariantList&)’:
/root/networkmanagement/applet/networkmanager.cpp:83:
ошибка: ‘class QTimeLine’ has no member named ‘setEasingCurve’
/root/networkmanagement/applet/networkmanager.cpp:83:
ошибка: ‘QEasingCurve’ не был декларирован
/root/networkmanagement/applet/networkmanager.cpp:93:
ошибка: ‘ActiveStatus’ не является элементом ‘Plasma’
/root/networkmanagement/applet/networkmanager.cpp:93:
ошибка: нет декларации ‘setStatus’ в этой области видимости
make[2]: *** [applet/CMakeFiles/plasma_applet_networkmanagement.dir/networkmanager.o] Ошибка 1
make[1]: *** [applet/CMakeFiles/plasma_applet_networkmanagement.dir/all] Ошибка 2
make: *** [all] Ошибка 2

Собрать проект не получается. Вывод естественно не проанализирован и, я думаю, даже не прочитан вообще.

А что там можно увидеть? А увидеть можно буквально вот что:

 "/root/networkmanagement/applet/networkmanager.cpp:33:31:
error: QGraphicsBlurEffect: Нет такого файла или каталога".

Хм…🙂

Если у вас нет исходников этого проекта, то я вам скажу, что в 33 строчке файла networkmanager.cpp есть есть что-то типа #include <QGraphicsEffect>. Если спросить гугл, то он ответит, что это один из классов Qt, который был добавлен в библиотеку начиная с версии 4.6. Первая же ссылка в гугле ведет на страницу с таким текстом:

The QGraphicsBlurEffect class provides a blur effect.
#include QGraphicsEffect
Inherits QGraphicsEffect.
This class was introduced in Qt 4.6.

Думаю, что этого должно быть достаточно, чтобы проверить какая версия Qt установленна в системе и… убедиться, что не 4.6. Это не сложно. Я ни в коем случае не хочу сказать, что кто-то глуп или что-то в этом роде, нет! Просто мне не понятно – зачем устанавливать себе GNU/Linux, да еще дистрибутив Gentoo, если тупо не видно сообщения компилятора?

Мне кажется есть лишь две группы пользователей, которым подойдет GNU/Linux. Первая – это люди пожилого возвраста, которые до этого не пользовались никакой другой системой (у них нет сравнения), у которых нет пароля root и которые никогда не полезут что-то сами настраивать. Работает браузер – я могу читать свою почту, могу читать новости, могу печатать, потому что мне настоили GNU/Linux для работы с принтером и т.д. Что-то сложнее, что-то глубже – мне этого не надо.

И вторая группа – энтузиасты, geeks, хакеры, и возможно даже фрики. Другими словами, все те, кому тесно в закрытых операционных системах, кому мало просто использовать ту или иную программу, кому хочется ее изменить, разобрать, посмотреть как она работает. Безусловно это требует подготовки, это требует некоторого энтузиазма.

Сейчас у нас есть несколько багов с X.Org. Некотороые из них достаточно серьезные. Несколько ошибок это не самое страшное, намного большей проблемой тут является тот факт, что этим нескольким багам уже по 10 лет. Каждый опытный пользователь GNU/Linux знает решение, но ошибки тянуться из года в год, конца и края им не видно. Думаете через год-два не будет никаких проблем с X? И не надо никого оскорблять. Вас никто не заставляет использовать эту систему, верно?

Или вот другой пример – релиз четвертого KDE состоялся 2 года назад, но до юзабельного состояния его довели только сейчас. Первые версии были на столько сырые, что большинство пользователи просто остались на KDE3 (сегодня очень больше KDE3-сообщество, которые так до сих пор и продолжают использовать KDE3, несмотря на то, что репозитории поддерживаются все хуже и хуже). Однако были и те, кто продолжал использовать новый KDE, и не просто использовать, но отлавливать и исправлять ошибки. Собственно благодаря именно этим людям сегодняшний KDE4 и обязан своей лучшей стабильностью, чем его первые версии. Опять же вопрос – стал бы самый обычный пользователь делать это?

GNU/Linux не для всех. Лишь те, кто готов изучать, читать, познавать, разбираться и эксперементировать… любят и понимают философию этой системы, любят и понимают GNU/Linux. Это ОЧЕНЬ узкий круг людей.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: