Как стать автором
Обновить

Комментарии 84

Всё, что описано в статье — это прям на любой должности программиста в большой компании, у которой свой IT отдел. Мне кажется, человеку просто надоело тратить личное время на всё это. Появились дети и приоритеты сместились в сторону семьи, поддержания здоровья и тд…
Да нифига.
Пакеты для других современных дистрибутивов, например, ArchLinux (PKGBUILD), Fedora/CentOS/RedHat (RPM SPEC), можно создать достаточно быстро, все директивы документированы и структурированы, документация подробная и понятная, с примерами. Поддерживать такие пакеты тоже несложно. Инфраструктура у этих дистрибутивов вменяемая: можно сообщить авторам пакетов о проблемах лично, или удобно и быстро создать баг для пакета. Это можно сделать с любого компьютера.

Для сборки пакета в Debian существует несколько утилит, оберток. Найти нормальные инструкции по созданию пакета сложно, полноценной и полной документации нет, всё разбросано по разным местам, написано в разное время.
Инфраструктура в Debian практически не меняется. Значительное изменение, произошедшее в последние годы — переход к salsa.debian.org (GitLab, конец 2017). Добавить сообщение в багтрекер можно только через почту, а сообщить о спаме в багтрекере можно только через веб-интерфейс.
Чтобы сообщить об ошибке в пакете, нужно (по-хорошему) создавать сообщение об ошибке с того компьютера, с которого эта ошибка наблюдается, через специальную программу, которая сформирует email-сообщение. Тот ещё квест, если у вас Debian установлен в виртуальную машину, без сети.

Когда годами ничего не меняется, неудобные инструменты не становятся удобней, плохая документация не становится лучше, это угнетает.
Я знаю эту систему только со стороны пользователя. Взгляд со стороны разработчика как-то… угнетает.

А почему так получается? Если люди признают, что неудобно — почему не становится удобно? Слишком большое комьюнити? Большая кодовая база и организаторы не хотят резких изменений? Инерция возраста большинства этого комьюнити? В чём причина, с вашей точки зрения?
вот мой любимый постер на тему оптимизации процессов =) мне кажется он все объясняет =)

Причина в отсутствии воли к изменениям у кого-то, кто всем командует.
Недавно объяснял коллеге что нужно для качественного рефакторинга — время, полномочия, видение результата и воля.
Если чего-то не хватает, то лучше не начинать.

Под волей я понимаю решимость довести дело до конца, добиться результата, несмотря на необходимость чем-то пожертвовать.
Причина в отсутствии воли к изменениям у кого-то, кто всем командует.
Всё гораздо хуже, чем вам кажется: там никто не командует. Почти все важные решения, по конституции, должны приниматься консенсусом, что приводит к затрате дикого количества времени и сил.
Да нифига.
Пакеты для других современных дистрибутивов, например, ArchLinux (PKGBUILD), Fedora/CentOS/RedHat (RPM SPEC), можно создать достаточно быстро, все директивы документированы и структурированы, документация подробная и понятная, с примерами. Поддерживать такие пакеты тоже несложно.

Вот и мне показалось, что статье не хватает сравнений с другими приблизительно похожими проектами — что из отмеченного там лучше, а что хуже.

Вообще, мне лично понравилась идея NixOS. Кажется, что это как раз логичный следующий шаг как для deb-based, так и для rpm-based дистрибутивов. А snap и подобные решения — например, как распространяется GitLab, в виде огромного пакета «всё в одном» — скорее выглядят костылями.

Пакеты для других современных дистрибутивов [...] можно создать достаточно быстро, все директивы документированы и структурированы, документация подробная и понятная, с примерами. Поддерживать такие пакеты тоже несложно. Инфраструктура у этих дистрибутивов вменяемая: можно сообщить авторам пакетов о проблемах лично, или удобно и быстро создать баг для пакета. Это можно сделать с любого компьютера.
Зашел написать примерно то же самое, но про порты/пакеты FreeBSD. :-) Портировать и пакетировать софт под неё имхо приятнее всего, на втором месте редхатовский rpm, позади (с довольно большим отрывом) — dpkg.

Справедливости ради, в прошлом с пакетами у фри были известные проблемы, но с появлением pkg(8) в 9.1 всё стало значительно лучше (read: примерно как у всех остальных).
Ну так я и не отрицаю. Но если вы из мира IT и не работаете в стартапе или какой-то компании, типа ЕПАМ, где каждый проект для нового заказчика можно стартовать с нуля, то вы столкнетесь с бюрократией, устаревшими технологиями и неудобными архитектурой, инструментами и тп. Я имею ввиду, что всё перечисленное в статье у него было и 5 лет назад. За 5 лет никуда не сдвинулось. Но понять, что оно никуда не двигается и не развивается можно и за 2 года, а разработчик там сидел 10 лет. Также, как и много других разработчиков в крупных компаниях. Поэтому, как мне кажется, причина ухода другая, описанная мной в первом комментарии. А статья — это просто попытка сдвинуть хоть как-то всё это с места, раз уже ушел.
И что хотел подчеркнуть автор написав, в начале заметки, что со встречи он уехал на велосипеде?
По-моему, в английском слово «велосипед» не используется для обозначения самопального решения давно решённой проблемы, но зато в русском переводе появляется дополнительная ирония :)

В английском используется для этого слово "wheel" ("колесо").

«Reinvent the wheel» — да, но я не видел, чтобы использовалось в этом смысле как отдельное слово, в духе «Deploy is done by some ugly wheel written in bash». Так можно?
Не знаю… я не эксперт в английском, просто знал про выражение «to reinvent a wheel».
Мне кажется, вы в данном случае имеете в виду не велосипед, а костыль. Велосипед — не обязательно плохо, это просто применение чего-то самодельного вместо уже придуманного и проверенного.
Зато уже есть такой формат:
Wheel — это современный формат распространения пакетов в Python среде, который пришел на замену eggs.
Возможно, что он ездит на велосипеде?
Или что он побыл один — но это уже, что называется, навеяло.

Я кстати из оригинала статьи не понял — имелся в виду все таки велосипед или мотоцикл, тут надо бы провести исследование расстояния между местом проживания автора и Цюрихом

Я когда-то собирал deb-пакетики для некоторых задач, и это было не слишком удобно. Куча тулзов, которые нужно применять строго в определённой последовательности, чтобы получить на выходе собранный по фен-шую пакет. Я, конечно, с помощью гугла и какой-то там матери нашёл нужную последовательность шагов и запихнул в скрипт, но мне больно думать, как мучаются парни, которым нужно во всём этом хорошо разбираться и активно использовать.

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

Когда это когда-то было? Потому что даже тогда, когда эта последовательность была в самом деле важна, на интернете (в т.ч. в официальной документации) была куча примеров. Теперь же, когда эта последовательность делается автоматически через dh, важно только знать, в какой конфиг что написать. Как правило, для пакетов, у которых апстрим нормальный, debian/rules может выглядеть так:


#!/usr/bin/make -f

%:
    dh $@

Это когда-то было в 2014 году.


Насколько я помню, как минимум для начала надо было сказать dch -i и написать changelog в специальном формате. Ну и rules там были похитрее чем dh $@.

Это статью должны прочитать все производители "отечественных ОС", участвующих в импортозамещении!


КВИНТЭССЕ́НЦИЯ:


Хотя выше я описал ряд конкретных недостатков, последний гвоздь в крышку гроба — это отсутствие позитивного прогноза на будущее.
Наверное, пора кому-то форкнуть Debian. Но не добавлять свистоперделок, а поднять просто хорошую инфраструктуру.
А разве мало поделок на ее основе? Полноценный форк мало кто сможет вывезти, судя по описанным сложностям…
НЛО прилетело и опубликовало эту надпись здесь
Да это понятно. Но форки обычно кучу всего меняют, добавляют новый UI, стараются как можно быстрее собирать пакеты и так далее. Но нет такого же стабильного, но не через одно место организованного форка :)
НЛО прилетело и опубликовало эту надпись здесь
А не он форсил systemd в среде debian?
Михаэль положительно относится к systemd, но при чём тут systemd? Речь об инфраструктуре проекта, а не о компонентах дистрибутива.

А что там у Ubuntu?
Есть вебинтерфейс для багов
Есть ppa где можно создавать репозитории
Может стоит присмотреться разработчикам Debian?

Ubuntu собирается из Debian Unstable, без него она просто не сможет существовать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
А у вас была необходимость собирать пакеты «правильно и канонично»? (Под этим я имею ввиду когда пишется debian/rules а потом все собирается при помощи dpkg-buildpackage -us -uc)

Просто, если делать это для внутренних нужд, то шаблон control.in, куда подставляются нужны значения версий, posints/postrm скрипты если нужны, директория с деревом файлом + fakeroot dpkg-deb --build и готовый пакет. Вроде совсем небольно. Можно еще fpm использовать, но если нет необходимости собирать пакеты под другие дистрибутивы, то какого-то особого преимущества он имхо не даст.

А если совсем «для себя», то можно checkinstall использовать.
НЛО прилетело и опубликовало эту надпись здесь
Мануалы самого debian были или частично неверными, или частично устаревшими.
А разве это не везде так?
НЛО прилетело и опубликовало эту надпись здесь
Верю.
Про какую-то другую программу или пакет (не помню, что это было) я в её документации читал, что она развивается так быстро, что свежей и полной документации не будет никогда.

Пожалуйста, не занимайтесь переводами.


Для переводчика, как и для программиста, очень важно понимать, что он пишет. У вас, к сожалению, это понимание отсутствует. Вы переводите механически, не понимая смысла получившейся фразы на русском языке. В итоге переводимое предложение полностью теряет всякий смысл, как например "Я ценю то, что каждый проект отличается". Если у вас не возникает вопросов к этому предложению, то пожалуйста, не занимайтесь переводами.

Мой традиционный вопрос — на какой дистрибутив стоит перебегать, если даже Дебиан сдулся?
Ой не знаю, этот дистрибутив сделан с нуля, и ему всего несколько годиков. Насколько он надёжен по сравнению с Дебианом? Сколько процентов пользователей линукса его используют? Сторонние пропертарные софтины вроде скайпа или тимвьюера под ним тестируются производителями и реально работают? Есть ли отзывчивое комьюнити? Поддержка кодировок реально работает или сделана «на отвали»? И ещё сотня аналогичных вопросов к дистрибутивам-новичкам.
Rhel/centos если не напрягает замороженный на 5 лет код.
opensuse вроде тоже пока живет.
Ubuntu чтото при обновлении ломатся часто стал.

Оттуда не то что мейнтейнер, оттуда недавно основатель ушёл  : )                         /s

НЛО прилетело и опубликовало эту надпись здесь
Вести рейтинги. А линуксовое комьюнити даже не может собрать реальную статистику популярности по дистрибутивам…
отсутствие телеметрии — чуть-ли не главный плюс линуксоводов ;)
а при ее отсутствии, достаточно сложно собрать статистику, да…
Вот ведь проблема-то. Ну опрос что-ли провели бы. А user-agent смотреть не пробовали, хотя бы на том же Хабре?
Вы серьезно предлагаете на все серваки поставить юай, открыть им доступ в инет, и всем дружно зайти на хабр? )))
И даже не считая серверы (ну, вот, допустим, нас интересуют только физические юзеры), лазящие по инету. Причем юзеры, которые НЕ меняли информацию юзер агента и НЕ скрывали ее.
Смотрим на на предмет что там в том том агенте бывает:
* Linux x86_64
* Windows NT 6.1; Win64
* Macintosh; Intel Mac OS X
* iPhone; CPU iPhone OS 10_3_1 like Mac OS X


Судя по примерам, единственный случай когда вы достаточно четко сможете понять что за система у пользователя — это мобильный сафари (вообще-то, вроде, андроиды тоже пишут довольно подробно, но их миллионы, за всех сказать нельзя). Остальные ограничиваются битностью и семейством.
НЛО прилетело и опубликовало эту надпись здесь
Хм…
Если посмотреть на тему статьи — нет, я не призываю оставаться исключительно в ее рамках. Разработчик Дебиана — вполне действенный фидбек для повышения собственной самооценки. Я полагаю, в жизни довольно немного фидбеков такого уровня.
НЛО прилетело и опубликовало эту надпись здесь
я не могу проголосовать рублем или рейтингом за...
Это правда.
Но насколько я понимаю (я не являюсь ни разработчиком опенсурса, ни вообще разработчиком, это вводит определенные коррективы для моего понимания), разработчиками опенсурса становятся по очень разным причинам, и немалую роль в этом списке причин играет то, что здесь можно делать продукт «для себя», а не для унылого менеджера на унылой работе. Эрго, когда кто-то пытается (в глазах разработчика) заместить виртуальную вакансию унылого менеджера и влиять на решения — он может столкнуться с серьезным сопротивлением. Даже если, повторюсь, все это происходит исключительно в глазах разработчика.

Я сталкивался с таким явлением в некоммерческих организациях, и не сказал бы, что это был вдохновляющий опыт.
НЛО прилетело и опубликовало эту надпись здесь
Любопытная идея, кстати: по крайней мере мне нравится. Такой целевой донат на фичу.

Хотя конечно, разработчик, готовый за 200 долларов и разобраться в программе, и код доработать вызывает некоторый трепет в помыслах…
Зря.
Во-первых — все еще есть страны, где 200 долларов это нормально, для фичи которую не надо делать годами )
во-вторых — есть люди, которые могут что-то сделать просто потому что могут. И немного денег на пиво в качестве дополнительной стимуляции что б чуток улучшить прогу который ты сам пользуешься (а собственно, в дебри гитхаба, именно за тем и лезут, что б пофиксить что-то что не нравится, или скопировать себе что нравится) — им будут просто приятны.
А вот в-третьих — эти кадры из пункта 2, очень часто обламываются что-то делать, из-за всех выше по теме перечисленных причин ) А если к этим причинам, еще добавится геморой в виде общения с налоговой на тему дополнительных доходов…
все еще есть страны, где 200 долларов это нормально, для фичи которую не надо делать годами )
Именно.
Как я уже отметил, я не разработчик, но шуточки про индусский код мимо меня не прошли.

Впрочем, с моей стороны это тоже была попытка пошутить. Если неудачная — приношу извинения.
Для того контингента который вы имели ввиду, 200 уе, это месячный доход. Если точнее — то это высокий месячный доход.
Но остановятся они на пункте — как войти в гитхаб, так что все норм )
Вы меня утешили :)
НЛО прилетело и опубликовало эту надпись здесь

Есть уже такой: BountySource. Как раз то что тут обсуждается:


  • есть список фич
  • за них можно голосовать рублём
  • можно добавить свою фичу
  • кто смог и сделал — получает плюшки

А может и не один (нужно отфильтровать по тегу donation).

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Разве проблема версионирования всякого инфрастуктурного софта(БД, веб сервер etc.) не решается Докером?

А вобще, вопрос по прежнему весьма холиварный, и даже никаких причин слезать с Дебиана пока не вижу. Я в поисках самого удобного дистрибутива остановился на Manjaro. Пол года сидел с KDE, уже пару месяцев с XFCE(Так и не решил какой DE выбрать, Cinnamon из Минта кстати тоже классная вещь).
Путь был Debian => Kubuntu => Mint => Manjaro, с параллельной пробой elementaryOS. В принципе проблемы(шрифты, драйвера) возникали только в Debian, у всех остальных дистрибутивов с этим всё сразу было отлично. Manjaro выбрал за Rolling Release(и ещё возможность юзать систему во время установки: ))
НЛО прилетело и опубликовало эту надпись здесь
А он разве сдулся? Тут как раз пишут, что такое положение у разработчиков уже давно, но существует же проект все эти годы. Думаю, если вы не пакетируете пакеты, то проще всего оставить как есть.
Gentoo :)
Вы серьёзно?

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

Я поставил Manjaro, он на основе Arch, сильно недоволен. Везде какие-то глючки по-мелочи, кодировка кое-где поломана, после апдейта не даёт делать некоторые вещи без перезагрузки, ну совсем как Microsoft. Add/remove software поломался через неделю, pacman работает. Проблемы с регулировкой яркости и громкости.

Я то здесь причём?) Манжаро и арч — это разные дистрибутивы. Первый для тех, кто хочет нажать две кнопки и получить полностью рабочий десктоп, при этом не желает ни в чём разбираться самостоятельно. Лично я не имею к таким людям и такой идее никакого отношения. Второй дистрибутив для тех, кто не видит ничего страшного в необходимости почитать мануал по установке ОС через несколько команд в консоли, в число которых входит разбивка разделов, копирование файлов, настройка загрузчика и небольшая настройка конфигурации запуска ядра линуха. Далее предполагается всё также открывать вики-страницы и изучать инструкции по установке и настройке того графического окружения, которым вы любите пользоваться. В общем, это совершенно отличные дистрибутивы и идеологии. Я лишь один раз настроил себе всё в арч линухе, и с тех пор просто живу с ним и обновляю свою ОС на самые последние версии пакетов. Пока что у меня не было ни одной ситуации, когда что-то просто вдруг взяло и перестало работать. И я вполне допускаю, что если вы сядете и постараетесь разобраться именно с арчем, а не с каким-то другим дистрибутивом с отличной идеологией — то у вас может случиться примерно такая же история.

Извините, но это как с жигулями — если можно не настраивать карбюратор и антикорить, а сразу ездить, то выбор в пользу иномарки очевиден.

Ну тогда вам на вин10 или макос ведь. Проблем нет, выбирайте, я не против. Но меня лично привлекает то, что я описал)

Ну почему? Линукс, но надёжный и работающий из коробки. Если Убунту научатся не увеличивать число багов с каждым релизом, а уменьшать, то будет счастье.
Не получится. Ubuntu, как и все остальные дистрибутивы, создаются из частей, которые делаются без особого плана — потому проблемы на стыках неизбежны и решать их, по большому счёту, некому. Кроме, собственно, пользователя.

То есть если не хочется ни в чём разбираться, а хочется просто пользоваться, то остаются только Android и ChromeOS — а это, как бы, уже совсем-совсем другая история.
Теперь понятно, почему докер взорвал рынок — запаковать в докер большого ума не надо, в отличие от запаковки в deb/rpm. Продолжаем наблюдение за развитием технологий…
Скорее не ума, а геморроя… Если один способ быстрый и удобный, а второй медленный, нкудобный, да ещё и требует, чтобы я как следует потратил время в поисках документации, то что же я выберу?
Вендоринг — решение проблемы до тех пор, пока вендоринг не становится проблемой.
20 лет назад я пытался уйти с маздая на линух.
Поковырял его годик — решил что сыроват, подожду.
Прошло 20 лет — пожалуй все еще сыроват, посижу ка пока еще на Win NT ver X.X
Зарегистрируйтесь на Хабре , чтобы оставить комментарий