Прежде, чем погрузиться с пучину событий 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 объявил о создании современного и полноценного свободного графического окружения, для рядовых пользователей, а не системных администраторов, в котором все приложения и элементы интерфейса имеют одинаковое оформление и общий стиль поведения.



Судьбоносным и верным решением было использование библиотеки 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.iso

KDE 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.




Использованные материалы


Поделиться с друзьями
-->

Комментарии (20)


  1. http3
    12.01.2017 22:23
    -2

    Еще спустя три года, после того, как vim 2.0 превзошел оригинал название поменялось на vi improved.

    На данный момент на CentOS 7 vi и vim — одно и то же. :)

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

    Как по мне, унылые у Линуксов интерфейсы. Также, как унылые в Винде, кроме классического. :)


    1. temujin
      12.01.2017 22:27

      И на остальных Linux дистрибутивах vi и vim это одно и то же. А насчет интерфейса — на Ubuntu доводилось работать?


      1. aso
        13.01.2017 09:53

        И на остальных Linux дистрибутивах vi и vim это одно и то же.


        На Арче нет, к примеру.


        1. temujin
          13.01.2017 10:07

          Поясните, пожалуйста. На Арче команда vi не определена — только vim?


          1. aso
            13.01.2017 10:56

            На Арче поведение vi отличается от vim.
            И vi выглядит заметно грустнее.
            (В Арчбанге «из коробки» ставится именно vi.)


          1. chukov
            13.01.2017 10:58

            Vi входет в группу пакетов base, которую пользователь практически всегда ставит. Никто не мещает вам поставить пакет vim. Удалить пакет vi и сделать ссылку с vi на vim


          1. scientistnik
            13.01.2017 19:40

            Нет. Есть команда vi, а есть vim. Это две разные команды, которые приводят к запуску разных программ.


            1. temujin
              13.01.2017 21:15

              А vi какой, не GNU?


      1. http3
        13.01.2017 10:49

        Да.
        Именно на Ubuntu.
        А разве есть особая разница? :)


    1. lieff
      12.01.2017 22:36

      В лине есть классический виндовый интерфейс, как и 100500 других, какие конкретно унылые?
      Вот например NEMO-UX от корейской команды:


    1. geher
      12.01.2017 22:39

      Для линукса была когда-то WM, почти полностью повторяющая классический интерфейс Windows 98. Запамятовал название, вроде входила в пакетную базу AltLinux, если не путаю (или это был ASP).
      Впрочем, унылость "междумордия" — штука субъективная. По мне так KDE вполне себе "нескучный".


      1. lieff
        12.01.2017 22:50
        +4

        И 98 есть и XP, все есть.

        Скрин
        image


      1. rgaliull
        13.01.2017 13:11

        такого внешнего вида можно было достичь на базе iceWm


        1. temujin
          14.01.2017 12:34

          А с какой темой?


          1. lieff
            14.01.2017 12:39
            +1

            Под разными менеджерами тема называлась Luna или в названии содержалось Luna с модификациями. Уж не знаю почему, видимо кто-то сделал и потом пошло-поехало.


          1. rgaliull
            14.01.2017 23:07

            LunaXP как сказал lief


    1. myxo
      13.01.2017 07:54
      +5

      Ctrl+Alt+F1 и будет вам классический интерфейс. Или вы о каком классическом интерфейсе говорите?


      1. splav_asv
        13.01.2017 22:13

        На правах зануды: как минимум в Arch ничего не произойдет. Графика на 1 виртуальном терминале по умолчанию.


  1. Power
    14.01.2017 06:54

    25 августа 1991 г. состоялся 25-й День Рожденья Linux.

    Может, всё-таки 25 августа 2016 года?


    1. temujin
      15.01.2017 12:56

      Спасибо, уже исправлено.