LINUX.ORG.RU

История изменений

Исправление quiet_readonly, (текущая версия) :

И поэтому многие из разработчиков Gentoo поддерживают пакеты(а в некоторых случаях еще и являются апстримом для этих пакетов), которые используют в работе(flameeyes - libav, vapier - uclibc и т.д.), за которую получают деньги.

Удивляет как раз то, что «многие»×«некоторые»=«очень малое число» ментейнеров пакетов вхожи в апстрим этих же пакетов. В гуглплее это 100%, в аппсторе это 100%, среди платных приложений убунты 100% их издателей являются и разработчиками. Для энтерпрайзного, продаваемого по старинке или заказанного госучреждением софта ещё могут нанять поддержку в другой стране из числа местных (фирма из нашего города имеет такой филиал суппортеров в США), но и они могут тесно пообщаться с ответственными за код.

В мелких дистрибутивах это только очень малое число ментейнеров. Дистрибутивов много, пакетная система у каждого своя. В результате пользователь имеет несвежие пакеты (с дырами безопасности, которые редхет закрыла ещё 2 года назад, и не в роллинг-релизе, а в RHEL). И те немногие развели бюрократию и с помощью выдуманной небезопасности статических библиотек сохраняют статус кво: то есть и пользователи думают, что дистрибутив нормальный и не хуже убунты, и разработчики не принимают ни один пакет, которым сами не пользуются, и делать различия между пакетными менеджерами прозрачными для разрабочика никто не хочет.

Пока я как программист не могу зарелизить программу, не зная ничего о внутренностях cmake, багах сочетания статической компиляции и dlopen, проблемах ABI и менеджерах пакетов 20 дистров - до тех пор генте полагается смерть в муках, а единственным дистром можно считать убунту, под всё остальное писать за большие деньги поверх обычной платы. А вот когда все ПМы будут работать через package kit и appstream, когда разработчик будет подключать пакеты из package kit вместо библиотек прямо в GUI, не зная даже что он использует pkg-config, вот тогда пусть кукарекают, что выбор - это хорошо.

А теперь случай из моей личной практики. Предложили нам написать маленькую серверную утилиту на C++ под нужды заказчика. Не сказали, что на сервере - обрезанная гента с отсутствием половины библиотек, иначе мы бы сразу подняли цену втрое.

Написали, работает отлично, на целевом сервере не запускается. Конечно, ведь поставить ещё 1-2 недостающих .so-шки это абсолютная угроза безопасности (в переводе на русский это хоть и маловероятная, но тем не менее перспектива лишней работы на стороне заказчика). В итоге мы перед выбором - либо полустатика, либо вообще ничего, и разумеется никакого улучшения в плане безопасности. Разумеется, в сети мануалов по созданию расово неверной полустатики кот наплакал. А в довершение всего пришлось поневоле сменить несколько машин с разным числом бит в указателях (на целевой - 32, хотя нам сперва сказали что 64). Каждый раз заново чинил скрипты.

Потом меня это задрало, я послал заказчика в пешее (а ПМ передал это заказчику в вежливой и необидной форме), и ВНЕЗАПНО оказалось, что собрать исходники для них не так уж и сложно. Конечно, себе-то препятствия чинить не обязательно, плюс я (опять же поневоле) написал подробный howto.

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

Исправление quiet_readonly, :

И поэтому многие из разработчиков Gentoo поддерживают пакеты(а в некоторых случаях еще и являются апстримом для этих пакетов), которые используют в работе(flameeyes - libav, vapier - uclibc и т.д.), за которую получают деньги.

Удивляет как раз то, что «многие»×«некоторые»=«очень малое число» ментейнеров пакетов вхожи в апстрим этих же пакетов. В гуглплее это 100%, в аппсторе это 100%, среди платных приложений убунты 100% их издателей являются и разработчиками. Для энтерпрайзного, продаваемого по старинке или заказанного госучреждением софта ещё могут нанять поддержку в другой стране из числа местных (фирма из нашего города имеет такой филиал суппортеров в США), но и они могут тесно пообщаться с ответственными за код.

В мелких дистрибутивах это только очень малое число ментейнеров. Дистрибутивов много, пакетная система у каждого своя. В результате пользователь имеет несвежие пакеты (с дырами безопасности, которые редхет закрыла ещё 2 года назад, и не в роллинг-релизе, а в RHEL). И те немногие развели бюрократию и с помощью выдуманной небезопасности статических библиотек сохраняют статус кво: то есть и пользователи думают, что дистрибутив нормальный и не хуже убунты, и разработчики не принимают ни один пакет, которым сами не пользуются, и делать различия между пакетными менеджерами прозрачными для разрабочика никто не хочет.

Пока я как программист не могу зарелизить программу, не зная ничего о внутренностях cmake, багах сочетания статической компиляции и dlopen, проблемах ABI и менеджерах пакетов 20 дистров - до тех пор генте полагается смерть в муках, а единственным дистром можно считать убунту, под всё остальное писать за большие деньги поверх обычной платы. А вот когда все ПМы будут работать через package kit и appstream, когда разработчик будет подключать пакеты из package kit вместо библиотек прямо в GUI, не зная даже что он использует pkg-config, вот тогда пусть кукарекают, что выбор - это хорошо.

А теперь случай из моей личной практики. Предложили нам написать маленькую серверную утилиту на C++ под нужды заказчика. Не сказали, что на сервере - обрезанная гента с отсутствием половины библиотек, иначе мы бы сразу подняли цену втрое.

Написали, работает отлично, на целевом сервере не запускается. Конечно, ведь поставить ещё 1-2 недостающих .so-шки это абсолютная угроза безопасности (в переводе на русский это хоть и маловероятная, но тем не менее перспектива лишней работы на стороне заказчика). В итоге мы перед выбором - либо полустатика, либо вообще ничего, и разумеется никакого улучшения в плане безопасности. Разумеется, в сети мануалов по созданию расово неверной полустатики кот наплакал. А в довершение всего пришлось поневоле сменить несколько машин с разным числом бит в указателях (на целевой - 32, хотя нам сперва сказали что 64). Каждый раз заново чинил скрипты.

Потом меня это задрало, я послал заказчика в пешее (а ПМ передал это заказчику в вежливой и необидной форме), и ВНЕЗАПНО оказалось, что собрать исходники для них не так уж и сложно. Конечно, себе-то препятствия чинить не обязательно.

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

Исходная версия quiet_readonly, :

И поэтому многие из разработчиков Gentoo поддерживают пакеты(а в некоторых случаях еще и являются апстримом для этих пакетов), которые используют в работе(flameeyes - libav, vapier - uclibc и т.д.), за которую получают деньги.

Удивляет как раз то, что «многие»×«некоторые»=«очень малое число» ментейнеров пакетов вхожи в апстрим этих же пакетов. В гуглплее это 100%, в аппсторе это 100%, среди платных приложений убунты 100% их издателей являются и разработчиками. Для энтерпрайзного, продаваемого по старинке или заказанного госучреждением софта ещё могут нанять поддержку в другой стране из числа местных (фирма из нашего города имеет такой филиал суппортеров в США), но и они могут тесно пообщаться с ответственными за код.

В мелких дистрибутивах это только очень малое число ментейнеров. Дистрибутивов много, пакетная система у каждого своя. В результате пользователь имеет несвежие пакеты (с дырами безопасности, которые редхет закрыла ещё 2 года назад, и не в роллинг-релизе, а в RHEL). И те немногие развели бюрократию и с помощью выдуманной небезопасности статических библиотек сохраняют статус кво: то есть и пользователи думают, что дистрибутив нормальный и не хуже убунты, и разработчики не принимают ни один пакет, которым сами не пользуются, и делать различия между пакетными менеджерами прозрачными для разрабочика никто не хочет.

Пока я как программист не могу зарелизить программу, не зная ничего о внутренностях cmake, багах сочетания статической компиляции и dlopen, проблемах ABI и менеджерах пакетов 20 дистров - до тех пор генте полагается смерть в муках, а единственным дистром можно считать убунту, под всё остальное писать за большие деньги поверх обычной платы. А вот когда все ПМы будут работать через package kit и appstream, когда разработчик будет подключать пакеты из package kit вместо библиотек прямо в GUI, не зная даже что он использует pkg-config, вот тогда пусть кукарекают, что выбор - это хорошо.

А теперь случай из моей личной практики. Предложили нам написать маленькую серверную утилиту на C++ под нужды заказчика. Не сказали, что на сервере - обрезанная гента с отсутствием половины библиотек, иначе мы бы сразу подняли цену втрое.

Написали, работает отлично, на целевом сервере не запускается. Конечно, ведь поставить ещё 1-2 недостающих .so-шки это абсолютная угроза безопасности (в переводе на русский это хоть и маловероятная, но тем не менее перспектива лишней работы на стороне заказчика). В итоге мы перед выбором - либо полустатика, либо вообще ничего, и разумеется никакого улучшения в плане безопасности. Разумеется, в сети мануалов по созданию расово неверной полустатики кот наплакал. А в довершение всего пришлось по неволе сменить несколько машин с разным числом бит в указателях (на целевой - 32, хотя нам сперва сказали что 64). Каждый раз заново чинил скрипты.

Потом меня это задрало, я послал заказчика в пешее (а ПМ передал это заказчику в вежливой и необидной форме), и ВНЕЗАПНО оказалось, что собрать исходники для них не так уж и сложно. Конечно, себе-то препятствия чинить не обязательно.

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