Linux Fest 2013: Stavropol

Фестиваль посвящен свободной операционной системы Linux и
продвижению программного обеспечения с открытым иходным кодом

Только здесь:

Вы получаете уникальную возможность узнать о Linux из первых рук.

Вы можете познакомиться с разработчиками компонентов операционной системы

Линукс Фест - не просто мероприятие!

Данный фестиваль это первая ступень к полному вливанию в сообщество линуксоидов.

Что дают открытые системы?

Прежде всего, знание о них даёт великолепный шанс получить
превосходную работу.

Познакомьтесь с профессионалами

Только здесь самая высокая плотность мозгов на квадратный метр.
Привет headhunter!

Интервью с разработчиками KolibriOS

ГлавнаяДистрибутивыKolibriOSИнтервью с разработчиками

На днях Олегу Анлевину (Unlevin) довелось пообщаться с Кириллом Липатовым. Кирилл - прикладной программист проекта KolibriOS.
Работает он давно и всем было бы интересно узнать о проекте KolibriOS со слов программиста.
Так же комментарий дает Дмитрий Переверзев - администратор проекта.

Unlevin:

Как давно ты в проекте?

Кирилл Липатов:

Ох. :) Лет 7, наверное. Первое сообщение на форуме было 25 января 2007, в 14:39. То есть уже 6 лет, но слежу дольше... Некоторые следили лет 5, потом только подключались к разработке.
Если коротко, я пришёл в проект, так как сделал иконку для эмулятора KlbrInWin. Тогда это было моё хобби, и сейчас - тоже. Автор программы не ответил на письмо, которое я ему послал, и я пришёл на форум, чтоб написать ему.
Я обновил большинство иконок в дистрибутиве, потом начал изучать программирование, именно брагодаря Колибри. Си + ASM.
Недавно я ещё сделал с одним парнем новый официальный сайт Колибри, потому что старый был очень печален. Меня затянул веб-дизайн, и я начал изучать РHP. Когда я полез в вебдизайн и прочее, я понял, что нужно Колибри продвигать в массы через соцсети. И вот, пожалуйста - у нас своя группа Вконтакте и на Фейсбуке!
Только что мы обсуждали с Димой замену баннера на сайте. Хотим установить баннер, агитирующий людей вступать в нашу группу Вконтакте для русскоязычной версии сайта, Фейсбук для англоязычной.  У нас много и других идей, жаль в сутках всего 24 часа.
Итак, на данный момент это:
- баннер
- весёлые картинки в группе, ака демотиваторы, кроме новостей для привлечения внимания
- сделать обзор Колибри, качественный, что было сделано в последний раз после выпуска последнего дистрибутива (3 года назад)
- этот новый обзор опубликовать на различных ресурсах
Это мои с Димой цели.

Unlevin:

Вот очень простой народный вопрос, но интересно узнать твое мнение:
А KolibriOS - зачем вообще она? Это экспериментальная ОС, или все же в будущем она найдет себе массовое применение в той или иной сфере? К примеру, можно ли использовать её во встраиваемой технике?

Кирилл Липатов:

Хороший вопрос, частый, и мало кто знает на него ответ. Но я отвечу максимально широко.
Несомненными преимуществами KolibriOS перед многими другими операционными системами на дискете являются:
высокое быстродействие, возможность обращения к внешним дисковым накопителям и сохранения результатов работы, настраиваемый и приятный интерфейс, открытость исходных текстов. Ее можно рекомендовать программистам, желающим попробовать свои силы в создании ОС или изучении ассемблера.
В случае, если Windows перестанет загружаться, KolibriOS поможет скопировать важные данные с разделов NTFS (EXT 2/3 или FAT) на другой раздел, при этом время загрузки у неё около 5 секунд, а скорость копирования на 6-8% выше, чем у Windows.
Наличие эмулятора Денди и DOS, плюс набор интересных игр могут привлечь внимание детей, обучающихся использованию компьютера.
Вместе с тем Колибри достаточно функциональна и может использоваться для замены Windows в ряде задач.
Одна из американских компаний уже несколько лет использует MenuetOS и KolibriOS на своих компьютерах,
в России же KolibriOS используется на производстве. Израильская компания "Green Gadgets Ltd" планировала продавать ультрадешёвые компьютеры с Колибри на борту. Часть разработчиков получила гаджеты компании для адаптации системы под них,
написания драйверов. Однако спустя год у компании начались какие-то проблемы, и Колибри полетела дальше...
Этот абрац кратко:

  1. Колибри для восстановления данных после падения системы
  2. Колибри для маломощных дешёвых компов, как в случае с "Green Gadgets Ltd" - тогда это был мощных толчок развитию Колибри, основатель этой компании по прежнему с нами, он основал группу в Фейсбуке
  3. Колибри управляла, и вероятно, до сих пор управляет каким-то борошномельным котлом на предприятии в Украине [http://board.kolibrios.org/viewtopic.php?f=25&t=897] (по пункту 3 - Колибри показала меньшее энергопотребление и большую стабильность, чем винда, про скорость молчу)
    Я продолжу.
  4. Возможно использование Колибри как сервера - она сейчас уже может работать как сервер (тут лучше распросить Диму, он это пробовал), но если наш друг-бельгиец закончит новый сетевой стек - это будет... Нет слов, что это будет.
  5. Вообще, Колибри задумывалась как десктопная система изначально. У нас уже есть видеоплеер, драйверы для звука - можно смотреть фильмы и видео, а если бы ещё и современный браузер + поддержку популярных сетевых карт... ВИДЕО+МУЗЫКА+ИНТЕРНЕТ - это 80% действий обычного пользователя. 
  6. Встроенные решения. Колибри-А используется в системах технического зрения и в биосенсорах (для молекулярной биологии).

А еще - для тестирования и наладки нового железа. Наш разработчик art_zh писал: "Ни одна другая ОСРВ для моих приложений не подходила, пришлось пилить свою. Работа окупилась уже раз 20, и еще окупится стократно. Единственное о чем я очень жалею - что не узнал об этом проекте на три года пораньше". Сам art_zh сейчас уже работает не над Колибри-А, а над новым проектом Колибри-Б, и занимается этим очень серьезно.

Дмитрий Переверзев:

Действительно, для Колибри есть веб-серверы, но это не приоритетная задача. Проблему "десяти тысяч соединений" мы пока что не решили, и в ближайшем времени решать вряд ли будем. Новый сетевой стек сулит большие перспективы, потому что уже сейчас он совместим с сокетами Unix, а в будущем, вероятно, добавится эмуляция сокетов Windows. Это может упростить разработку и портирование сетевых приложений многократно.
Что касается Колибри-А и Колибри-Б, то на решения, использованные в данных системах, даже получены патенты. Колибри-А заточена под определенные чипы AMD, а Колибри-Б - это не только система, но и специализированное "железо" для неё.

Unlevin:

А что у вас с пакетами программ? Трудно ли писать ПО для повседневного использования?

Кирилл Липатов:

У нас нет понятия пакетов. У нас есть дистрибутив размером 1,44 Мб, в который входит порядка 180 программ,
и дополнительный пак программ (он есть на сайте). В дополнительном паке в основном портированные тяжеловесы. Всё это - 90% софта Колибри. Писать программы не сложно, я не писал их под другие ОС, только когда-то давно баловался Делфи - ещё в школе. Проблема в том, что система пропагандирует ассемблер. Он куда сложнее для разработки, чем Си, на котором можно тоже легко писать под Колибри.

Unlevin:

Какое окружение используешь?

Кирилл Липатов:

Windows, но в проекте используют и GNU/Linux. Это не очень важно.

Дмитрий Переверзев:

Компилировать программы для Колибри можно в любой из двух систем; ядро и основные программы можно скомпилировать из самой Колибри. Поэтому программы, которыми пользуются программисты, действительно не очень важны. Например, один наш разработчик постоянно пользуется Колибри как основной системой.
А вот на сервере автосборок без GNU/Linux мы бы действительно вряд ли обошлись. Каждый коммит в репозиторий вызывает автоматическую компиляцию проекта, а затем - автоматическую сборку образов дискет и LiveCD для русского, английского, итальянского языков и ветки проекта new stack. Чтобы компилировать все программы, приходится держать на сервере целый зоопарк различных компиляторов и ассемблеров. После сборки дистрибутивов сервер автосборки обновляет ссылки на официальном сайте. На всё это, как правило, сервер тратит не больше нескольких минут.

Unlevin:

C++ Builder используешь?

Кирилл Липатов:

Вот это сложный момент, и ты будешь в шоке, но я использую уже много лет не разрабатываемый компилятор С-- Сфинкс.
Он генерирует неоптимальный код, но так сложилось исторически. Я редактировал программы на MSVC++ и на GCC, но уже привык к С--, который все уже ненавидят в проекте. Однако, мои программы на нем отлично работают и мало весят.
После разработки моей последней программы с Димой, я тоже начал ненавидеть С--: большой и достаточно сложный проект, и тут уже компилятор начал выкаблучиваться. Все библиотеки для С-- я написал с нуля, а для нормальных Си-компиляторов есть две библиотеки: портированная libc и newlibc.
С первой получаются небольшие программы, но были замечены глюки, ведь ей уже много лет. Newlibc - молодая, ошибок змечено не было, однако из под неё выходят "программы-кабаны". Ещё есть порт tinyc, о нём, да и о всех библиотеках подробнее расскажет Дима.
Моё увлечение - дизайн, юзабилити и менеджмент/маркетинг. Писать программы я начал потому, что рабочих рук в проекте не хватало. Я не считаю себя хорошим программистом, однако за последний год я серьёзно вырос. Многие вещи объяснил мне Дима. Он умный парень и давно работает в проекте.

Дмитрий Переверзев:

Newlib - это актуальная разработка RedHat, а libc - порт довольно старого проекта DJGPP. Соответственно, использовать newlib перспективнее. Однако, для кода для libc несколько больше.

Unlevin:

Высокая отказоустойчивость, пониженное потребление электроэнергии системой. KolibriOS можно использовать в сетевом администрировании. Я надеюсь что в KolibriOS сетевые инструменты намного улучшились по сравнению с MenuetOS?

Кирилл Липатов:

В транке они пока что примерно на том же уровне, а вот в ветви new_stack - совсем другое дело!

Unlevin:

Проект MenuetOS все еще живой, или вы всё же вытеснили его своим KolibriOS, и теперь вы доминируете?

Кирилл Липатов:

MenuetOS - это 32х разрядная ОС, проект мёртв, и ему на смену пришёл Menuet64. Menuet64 - система своеобразная, что важно - написана с нуля, и в ней учтены некоторые ошибки Menuet32. Но для запуска и комфортной работы нужно 768 Мб памяти. Колибри требуется 8 для запуска, а 32 Мб вполне хватит для комфортной работы.
У MenuetOS есть один важный плюс - браузер, однако, чтобы запустить интернеты, нужно нехило пошаманить. Paint у них неплохой, а в целом KolibriOS дрюкает MenuetOS по полной :)

Unlevin:

Тема безопасности актуальна для KolibriOS, или все же акцент на стабильность?

Кирилл Липатов:

Ядерщики говорят, что завалить Колибри можно, у нас мало уделяется внимания кривому софту.
Мне моими программами не удавалось ни разу. А вообще кривым софтом можно завалить любую систему. Про безопасность нужно спрашивать ядерщиков, я прикладной программист. Хе-Хе. Под Колибри когда-то был вирус :)

Дмитрий Переверзев:

Основные потенциальные уязвимости системы известны, как считают наши ядерщики, и их едва ли можно эксплуатировать без доступа к сети Интернет. В будущем проблема станет более актуальной, и ей, без сомнения, займутся серьезно. К слову, все уязвимости достались нам в наследство от MenuetOS.

Unlevin:

KolibriOS 8 - новая версия, которая только выйдет?

Кирилл Липатов:

Не факт, что это будет восемь, и неизвесно, когда выйдет, но выйдет - я гарантирую это.
С выходом дистрибутива ситуация вообще интересная. Просто нет лидера, который бы взял, собрал и сказал: "он будет такой, и всё". Это главная проблема, я считаю. Есть и другая. Когда-то решили, что в новом дистрибутиве должна быть однозначно поддержка usb-стека.

Unlevin:

Ты имеешь в виду, что нет такого лидера, как, например, в сообществе Debian (в данный момент Стефано Закироли), который официально объявляет о новостях и курирует весь проект?

Кирилл Липатов:

Да. Когда-то это был основатель Колибри Mario, потом diamond, сейчас такого нет. И никто не хочет им быть. Вот и проблема. Я не могу быть им, так как не компетентен в "ядреных" вопросах, и вообще, я плохой программист, а такой человек должен быть ГУРУ в асме. Сейчас единственная девушка в проекте - CleverMouse - "пилит" USB-стек, и продвижение есть. 
Я уважаю ее, она сейчас, можно сказать, неформальный лидер. Иногда мне кажтся, что она знает все технологии и языки программирования. Ах, вот ещё что: для Mario, diamond, CleverMouse ассемблер - не просто язык. Это религия.

Комментарий по USB от CleverMouse:

Известные проблемы с USB:
  • всё ещё не поддерживается usb2 как класс;
  • следствие 1: некоторые устройства могут быть не видны в принципе, потому что их забирает себе BIOS; в качестве workaround можно попробовать
  • динамическое подключение и/или отключение всех usb-related опций BIOSа, либо можно подождать поддержки;
  • следствие 2: если устройство опознано, общение с ним будет идти на скорости usb1;
  • код для UHCI не обрабатывает дисконнекты, так что в случае UHCI созданные диски будут продолжать висеть и после отключения флешки; с OHCI этой проблемы быть не должно;
  • драйвер использует SCSI-команды, в которых номер сектора ограничен 32 битами; с usb-дисками размером >2T будут проблемы. Это я считаю некритичным, так что в обозримом будущем ничего делать не собираюсь.

Я обновила ядро и драйвер флешек: синхронизация с транком, небольшие фиксы в драйвере,
финальные фиксы в OHCI. На очереди EHCI.

 

Unlevin:

Поддержку NTFS вы не полностью смогли реализовать?

Кирилл Липатов:

Нет, только чтение и без шифрования, зато на асме. Кстати, есть и ext2/3/4

Unlevin:

В реализации поддержки NTFS у вас такие же проблемы как у разработчиков ReactOS? Закрытый код, возможные проблемы с нарушением авторских прав?

Кирилл Липатов:

Колибри может грузится с NTFS раздела и читать с него же (кроме зашифрованного), не хватает функциональности, в остальном с кодом вроде всё нормально. Как отдельный драйвер, можно было бы портировать, но... сколько он весит?

Дмитрий Переверзев:

Когда-то давно, когда поддержка чтения NTFS только появилось, разгорелся спор. Что лучше: дать пользователям экспериментальный доступ на запись NTFS, с возможностью потерять все данные с диска, или же не давать доступа на запись вообще, во избежание неприятностей? Остановились, как я понимаю, на втором.

Unlevin:

Кто работает над оформлением, стилистикой, внешним видом системы?

Дмитрий Переверзев:

Над оформлением работают все. у нас сотни скинов, к выходу дистра рисуют новый, новые обои, голосуют.

Unlevin:

Что входит в оформление? Каков размер?

Дмитрий Переверзев:

Оформление?
1) Шрифты. Системные шрифты - их два - занимают около 4 килобайт
2) Скин - как правило, он занимает от 300 байт до 2 килобайт Он хранит в себе изображения для заголовка и кнопок заголовка в активном и неактивном состоянии, а так же цветовую схему и параметр "плоские/объемные кнопки"
3)Обои - в ночной сборке их генерирует программа Palitra
4) Иконки - в ночной сборке это iconsrp.png, весом около 20 килобайт. В официальной это gif'ка весом около 40 кб вроде
5) В ночной сборке можно настраивать цвета и внешний вид панели без перекомпиляции, файл PANEL.INI занимает около килобайта.

Unlevin:

В Колибри можно серфить интернет? Как там браузер? его не закончили?

Кирилл Липатов:

Есть. В транке + отдельная ветвь с новым стеком. Еще есть почтовый клиент, текстовый браузер, http-качалка, IRC-клиент.

Дмитрий Переверзев:

Поддерживается около двух десятков тегов, и даже немного CSS.
Блочная верстка не поддерживается. Картинки пока только с диска читает, с интернета еще не научилось грузить, хотя осталось немного.
Поля ввода и кнопки не работают - тоже немного осталось. HTTPS не поддерживается. JS тоже. Добавить кнопки и картинки из инета - и будет как на мобильнике
bash можно читать. Автор браузера - Leency :)

Unlevin:

В KolibriOS есть мультимедийное ПО?

Кирилл Липатов:

Дмитрий Переверзев:

У нас есть миди-плеер MIDAMP, и у нас есть плеер AC97SND, который умеет воспроизводить WAV и MP3 на карты SoundBlaster, AC'97, High Definity - то есть большинство карт
И еще плеер FPlay умеет в mp3, если в них есть дополнительные данные.
В 0.7.7.0 поддерживались только SB16 и AC97, сейчас на 40 звуковых больше.
Fplay не было. Fplay последние полгода поддерживает аппаратное декодирование видео.
Есть версия размером меньше 400 килобайт с поддержкой основных форматов - divx, mkv, mp4
Еще у нас KIV - просмотрщик картинок - прокачался.
Поддерживает теперь не только GIF, BMP, PNG, JPG, но и TIFF, ICO, XCF и еще всякие разные, а так же можно масштабировать, поворачивать, и все такое. Плюс теперь есть ImgF, модуль для эффектов на картинки - сепия там.

Unlevin:

До 1.0 далековато, или это не имеет никакого значения?

 

Кирилл Липатов:

Вспомните Firefox 1.0, 1.1, 1.x, 2.0, 2.1, 2.2, 2.2.x, 3.0, 4.0, ... 16.0
Внезапно. Цифры не показатель ничего. Просто так принято :)
Однако, звучала идея просто раз в полгода объявлять ночную сборку релизом, и это здравая идея, ИМХО. Но нет лидера, который бы сказал: "да будет так!", и тюлени бы мирно склонили головы.

Unlevin:

Как много фирм или организаций поддерживает ваше сообщество и сам проект KolibriOS?

Кирилл Липатов:

Фирма (Green Gadgets) является распространителем Thin Clients / Nettops в Израиле. Они покупали какие-то компы или железо, и перепродавали. На них стояла Windows, и грузилась очень долго, работала медленно, а Колибри летала - вот они и захотели сотрудничать. И всё. Проблема в том, что мы - скорее локальное exUSSR сообщество, хотя и известны во всё мире.

Unlevin:

Кажется, вам реально не хватает маркетинга и продвижения операционной системы.

Кирилл Липатов:

Угу.

Unlevin:

Вы не участвуете в каких-либо конкурсах, выставках?

Кирилл Липатов:

Было дело. Мы как-то не особо об этом заботились, проект был очень замкнутым (спасибо создателю).
Основатель покинул проект по личным обстоятельства, личным причинам, и сейчас начинается новый виток развития системы.
Только в последнее время проект становится более открытым, социальным, юзабельным и няшным.

Unlevin:

Это вам в плюс. Это способствует продвижению и развитию.
Будет что-то новое в этом году? Новые идеи и повороты?

Кирилл Липатов:

Будет новое, всё зависит от нас!

Окей, какие цели дальше:
- больше открытости и социальности
- USB и Network
- лучше организация и координация
- хороший софт
- попытки покорения новых рынков, например, встроенного оборудования

Unlevin:

Чтож... 2 часа для меня прошли как мгновение. Столько нового узнал о проекте от вас. Спасибо вам за такую интересую беседу. Это было полезно. Удачи!

В интервью участвовали непосредственные разработчики KolibriOS Кирилл Липатов  и Дмитрий Переверзев.

Беседу провел Oleg Unlevin.

Cайт проекта http://kolibrios.org/ru/

Специально для Ставропольской группы пользователей Линукс и stavimlinux.ru. Спасибо за внимание!