Прежде, чем погрузиться с пучину событий 2017 г. стоит оглянуться назад и отметить важные события и тренды минувшего года. Попытка охватить все важные события мире Linux и открытого ПО одним постом была самонадеянной, так как год выдался богатый юбилеями, а некоторые из них прошли незамеченными на Хабре. Из-за этого задуманный дайджест пришлось разбить на части, этот посвящен значительным юбилеям 2016 г: Linux, Vim, KDE и Git.

25-летие Linux
25 августа 2016 г. состоялся 25-й День Рожденья Linux. В то время это было 10 тыс. строк кода и сообщение в новостную группу comp.os.minix. По ссылке Хабра-пост посвященный этому событию, где изложена история создания и развития Linux, статистика релизов и любопытные факты.

Интересно, что Linux мог бы изначально называться Freax («free», «freak» и X (Unix)). Такое название своему проекту дал сам Линус. Но Ари Лемке (Ari Lemmke), который по просьбе Линуса выложил ядро на своем FTP-сервере, назвал директорию с ядром «linux».
А ведь все начиналось с программы эмуляции терминала. Нужна была программа, с помощью которой студент Линус Торвальдс мог бы соединяться с сервером своего ВУЗ-а, получать и отправлять почту, читать новости. Как настоящий хакер, он не сильно был привязан к внешнему миру и почти все свое время уделял программированию. Когда эмулятор терминала был готов, оказалось, что нужен еще и драйвер дисковода, чтобы скачивать и закачивать файлы. Соответственно, нужен был еще и драйвер файловой системы. Затем еще и еще функции.
Я крутился как белка в колесе: программирование – сон – программирование – еда (соленые сухарики) – программирование – сон – программирование – душ (на скорую руку) – программирование. К концу работы стало ясно, что моя программа превращается в операционную систему. И я стал думать о ней не как о программе эмуляции терминала, а как об операционной системе. Этот сдвиг произошел, вероятно, в дурмане одного из затянувшихся сеансов программирования. Было это днем или ночью? Не знаю. Сижу я в своем старом халате и работаю с программой эмуляции, снабженной дополнительными функциями. А потом вдруг понимаю, что этих функций стало так много, что программа превратилась в рабочую версию операционной системы.
Linus Torvalds, «Just for fun».
Затем еще следовало написать реализацию двух сотен системных вызовов, а для этого требовалось раздобыть откуда-то документацию POSIX стандартов. Век интернета еще не наступил, и это тоже было делом нетривиальным. Вот так по принципу каши из топора стала материализовываться ОС.
Vim 25 лет
В том же 1991 г. 2-го ноября Bram Moolenaar выкатил первую стабильную версию vim после трех лет от начала работы над проектом. Ему нужен был обычный Unix vi, но на его ПК Amiga эта программа не была портирована. Свое название vim первоначально получил от слов vi imitation, то есть имитация vi. Еще спустя три года, после того, как vim 2.0 превзошел оригинал название поменялось на vi improved. В прошлом, юбилейном году вышел vim 8.0.
На сегодняшний день vim поддерживает практически все мыслимые ОС и платформы.
- AmigaOS
- Atari MiNT
- BeOS
- DOS
- Mac OS
- NextStep
- OS/2, OSF
- RISC OS
- BSD
- Linux
- SGI
- Unix (IBM AIX, HP-UX, SGI IRIX, Sun Solaris, SCO OpenServer и другие)
- VMS
- Win16 (Microsoft Windows 3.x), Win32 (Windows 4.x и Windows NT)
- Apple iOS
- Android
Когда приверженцы редактора Notepad++ спрашивают меня что умеет делать vim, я обычно отвечаю «это как Фотошоп, но для текста», и это сравнение производит должный эффект. Думаю, что не умею использовать и четверти возможностей vim, но даже этого хватает для того, чтобы тащить довольно-таки трудозатратные и сложные проекты.
На снимке последняя из 724 страниц армяно-русского словаря, который мы оцифровали с помощью vim. Возможно есть еще текстовые редакторы, в которых можно проверять орфографию по двум словарям одновременно, но мне они не известны.
:setlocal spell spelllang=hy,ru
KDE 20 лет
В KDE также год был юбилейным, проекту исполнилось 20 лет. На Хабре это событие прошло незамеченным, необходимо восполнить этот пробел.
14 октября 1996 года Matthias Ettrich объявил о создании современного и полноценного свободного графического окружения, для рядовых пользователей, а не системных администраторов, в котором все приложения и элементы интерфейса имеют одинаковое оформление и общий стиль поведения.
- KDE 1.0 был выпущен 12 июля 1998 года — первый стабильный релиз.
- KDE 2.0 вышел в свет 23 октября 2000 года.
- KDE 3.0 — релиз 3 апреля 2002 года.
- KDE 4.0 — релиз 11 января 2008 года.
- KDE Frameworks 5 — дата выпуска 7 июля 2014 г.
- KDE Plasma 5 — аналогично 7 июля 2014 года.
Судьбоносным и верным решением было использование библиотеки Qt, новинки от компании Trolltech, призванной заменить ужасный Motif. В пользу Qt сыграли качество, открытость и кросс-платформенность графического тулкита. KDE Free Qt Foundation следит за тем, чтобы Qt и впредь оставался открытым и бесплатным для разработчиков свободного ПО.
Сегодня KDE — один из крупнейших проектов с открытым кодом. По данным Open Hub:
- Свыше 21 млн. строк кода
- Свыше 1.1 млн. коммитов от > 4200 разработчиков за все время
- Почти 30 тыс. коммитов от 375 разработчиков за последние 12 месяцев.
Оригинальный KDE 1.0.
Впрочем погонять ее можно и сегодня, накануне своего юбилея разработчики KDE Restoration Project портировали KDE 1.1.2 на современные дистрибутивы Linux.
Кодовая база KDE 1 адаптирована для сборки современными компиляторами и переведена на сборочный инструментарий Cmake. Исторический код помещён в штатные git-репозитории KDE, что позволяет любому желающему собрать KDE 1, воспользовавшись репозиториями qt1, kde1-kdelibs и kde1-kdebase. Для Fedora 25 собраны установочные пакеты с KDE 1, но они пока не готовы к публикации.

KDE 2.0 пока никто не портировал, но можно на нее полюбоваться со старым Mandrake Linux 8.0.
$ qemu-system-i386 -M pc-0.10 -m 2048 -boot order=ad,menu=on -drive file=mandrake8.qcow2 -usb -net nic,model=rtl8139 -netdev user,id=slirp -vga cirrus -cdrom mandrake-8.0-i386.isoKDE 2 на Mandrake Linux 8.0

KDE 3.5 на Qt 3 до сих пор вполне популярен среди пользователей и продолжает развиваться в рамках проекта Trinity, LiveCD можно брать отсюда.
KDE 4 на мой взгляд трудно назвать ошеломительным успехом. Четверку выкатывали сырой и наспех, многие пользователи испытывали болевые ощущения от радикальной смены дизайна и нестабильности графического окружения. Linus Torvalds в панике бежал с KDE 4 на GNOME, где впрочем также не задержался.

Будучи довольно долгое время верным адептом KDE, я на четверке столкнулся с таким количеством глюков, что мне пришлось временно наспех создать собственную базу знаний. Часто возникала необходимость удалить БД akonadi, чтобы KMail не падал с ошибкой, как на рисунке.
[user@localhost ~]$ aconadictl stop
[user@localhost ~]$ rm -rf $HOME/.local/share/akonadi/?
[user@localhost ~]$ aconadictl startСледует однако признать, что KDE 4.14 уже была довольно стабильным и комфортным для работы десктоп-окружением, а новые глюки перестали пополнять мою базу знаний в Г+.
KDE 5.8 Neon.
KDE Plasma 5 использует платформу KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES для рендеринга с задействованием аппаратного ускорения, не меняя при этом привычные пользователю принципы взаимодействия и логику интерфейса.
Завершен переход всех компонентов Plasma 5 на QML и технологию QtQuick 2. Новый Qt 5 обеспечивает более гладкий вывод графики, используя возможности OpenGL с задействованием средств ускорения графических операций на стороне GPU, что позволило снизить нагрузку на центральный процессор. Для систем не поддерживающих OpenGL предусмотрен режим программного рендеринга.
Новая редакция оконного менеджера Plasma 5 KWin, избавлена от жесткой привязки к X11 и может работать как с традиционным X-сервером, так и с дисплейным сервером Wayland. Полноценную поддержку Wayland обещают к следующему выпуску. На Mir забили пока не ориентируются.
Из прочих изменений Plasma 5 стоит отметить унификацию, чистку и оптимизацию интерфейса, новую, более контрастную тему оформления Breeze и новый шрифт Oxygen. Улучшена поддержка high-DPI экранов, а оболочка стандартизирована для разных типов устройств (рабочих станций, устройств с сенсорными экранами и медиацентров) с возможностью переключения режимов на лету, без перезапуска.
Git 10 лет
7 апреля 2016 г. Git исполнилось 10 лет, это второе крупное начинание Линуса, тесно связанное с первым. Git появился на свет из-за необходимости найти замену проприетарному BitKeeper, к которому уже все привыкли, но который дальше уже нельзя было использовать.
Какое-то время все шло вроде бы неплохо, BitKeeper значительно облегчил жизнь разработчикам. Им не надо было больше заботиться о том, кто имеет права на какие изменение, каждый из них мог работать в своей ветке древа исходников, возможность распределенных слияний исходного кода давала значительную экономию усилий для всех. Подспудно, назревал кризис, который и привел к созданию Git.




http3
На данный момент на CentOS 7 vi и vim — одно и то же. :)
Как по мне, унылые у Линуксов интерфейсы. Также, как унылые в Винде, кроме классического. :)
temujin
И на остальных Linux дистрибутивах
viиvimэто одно и то же. А насчет интерфейса — на Ubuntu доводилось работать?aso
На Арче нет, к примеру.
temujin
Поясните, пожалуйста. На Арче команда
viне определена — толькоvim?aso
На Арче поведение vi отличается от vim.
И vi выглядит заметно грустнее.
(В Арчбанге «из коробки» ставится именно vi.)
chukov
Vi входет в группу пакетов base, которую пользователь практически всегда ставит. Никто не мещает вам поставить пакет vim. Удалить пакет vi и сделать ссылку с vi на vim
scientistnik
Нет. Есть команда vi, а есть vim. Это две разные команды, которые приводят к запуску разных программ.
temujin
А
viкакой, не GNU?http3
Да.
Именно на Ubuntu.
А разве есть особая разница? :)
lieff
В лине есть классический виндовый интерфейс, как и 100500 других, какие конкретно унылые?
Вот например NEMO-UX от корейской команды:
geher
Для линукса была когда-то WM, почти полностью повторяющая классический интерфейс Windows 98. Запамятовал название, вроде входила в пакетную базу AltLinux, если не путаю (или это был ASP).
Впрочем, унылость "междумордия" — штука субъективная. По мне так KDE вполне себе "нескучный".
lieff
И 98 есть и XP, все есть.
rgaliull
такого внешнего вида можно было достичь на базе iceWm
temujin
А с какой темой?
lieff
Под разными менеджерами тема называлась Luna или в названии содержалось Luna с модификациями. Уж не знаю почему, видимо кто-то сделал и потом пошло-поехало.
rgaliull
LunaXP как сказал lief
myxo
Ctrl+Alt+F1 и будет вам классический интерфейс. Или вы о каком классическом интерфейсе говорите?
splav_asv
На правах зануды: как минимум в Arch ничего не произойдет. Графика на 1 виртуальном терминале по умолчанию.
Power
Может, всё-таки 25 августа 2016 года?
temujin
Спасибо, уже исправлено.