OpenSource как он есть
От: Reset  
Дата: 02.05.20 07:05
Оценка: 5 (2)
Отличная статья про участие в разработке OpenSource проекта.

У многих совершенно неверное представление о сообществе OpenSource и участии в разработке крупных проектов. Удивительно, как вышло, что OpenSource community без всякого PR (public relations) умудрились создать себе репутацию, которая рядом не лежала с реальностью. Для многих OpenSource — нечто белое и пушистое. На словах: "участвуйте в разработке открытых проектов, мы вам поможем, расскажем, покажем, направим, присылайте Push Request'ы, мы их отрецензируем и примем"...

Ага, щас. На деле в OpenSource ты нафиг никому не нужен. Почти везде тебе никто ничего не будет рассказывать (даже если спросишь) — разбирайся сам (9 из 10 разработчиков ответят, что у них нет времени или вообще не ответят). Твой PR никому не нужен, вместо рецензии на него ты легко можешь получить кучу пурги, не имеющей к нему никакого отношения (чувак тупо не разобрался, что делает твой PR, но к чему-то придрался, потому что PR расходится с его представлениями о прекрасном), когда ты поправишь PR кто-то другой докопается еще до чего-то (или предложит все вернуть обратно). Совсем забавно, когда эти двое начнут рассказывать, что PR в принципе можно принять, но все это они делают, чтобы "сэкономить твое время" (причем, на территории СНГ лицемерие еще только развивается, а на западе оно давно на грани полнейшей шизы, когда говорят одно, а делают ровно противоположное и это противоречие очевидно). Также, есть куча умников, которые воспринимают тезис "в OpenSource тебе никто ничего не должен" таким образом, что с тобой даже разговаривать по человечески не обязаны и могут просто послать на... потому что их подход "я в проекте царь и бох, поэтому творю, что хочу" (в коммерческой разработке против этого есть тормоза — тут бывает полный беспредел). В результате, чтобы добавить свой код в OpenSource проект (далеко не с первой попытки) придется потратить довольно много усилий и большую часть не на разработку.

Разумеется, все проекты разные и правила в них разные, но обычно проще поддерживать свой форк, чем пытаться передать код в OpenSource проект (и чем крупнее проект, тем больше бюрократии). При этом у крупного бизнеса с этим никаких сложностей. У них либо ведущие разработчики на зарплате, либо они найдут к ним подход и могут, даже, добавить в проект не работающий код (а в это время твой PR в соседней ветке будут "критиковать" по любому поводу, а повод всегда найдется).

В общем, мой посыл:
Re: OpenSource как он есть
От: GarryIV  
Дата: 02.05.20 07:37
Оценка:
Здравствуйте, Reset, Вы писали:

R>Отличная статья про участие в разработке OpenSource проекта.


Офигеть, чел научился git merge делать.
WBR, Igor Evgrafov
Re[2]: OpenSource как он есть
От: Reset  
Дата: 02.05.20 07:47
Оценка:
R>>Отличная статья про участие в разработке OpenSource проекта.

GIV>Офигеть, чел научился git merge делать.


Скорее rebase, rebase -i, cherry-pick и много чего другого (ты же в курсе, да, что merge conflicts бывают и в rebase тоже).

Это у коммерсантов многие даже лиды дальше merge не продвинулись.
Отредактировано 02.05.2020 7:49 Reset . Предыдущая версия .
Re: OpenSource как он есть
От: reversecode google
Дата: 02.05.20 07:55
Оценка:
как то подавался на одну вакансию родом из мск, а попой в сфба
у них продукт опенсорс
собеседование из двух слов
ну вот у нас на гитхабе полно открытых тикетов по продукту
вы с годик поопенсорсте наш продукт на дурняк(денег платить не будем)
а через годик мы вас может быть на полную ставку в компанию возьмем
Re[3]: OpenSource как он есть
От: reversecode google
Дата: 02.05.20 07:56
Оценка:
уметь мержить это офигительно нужное знание в программировании
странно как раньше без него обходились
Re: OpenSource как он есть
От: Слава  
Дата: 02.05.20 08:13
Оценка: 3 (1) -1
Здравствуйте, Reset, Вы писали:

R>При этом у крупного бизнеса с этим никаких сложностей. У них либо ведущие разработчики на зарплате, либо они найдут к ним подход и могут, даже, добавить в проект не работающий код (а в это время твой PR в соседней ветке будут "критиковать" по любому поводу, а повод всегда найдется).


Главная и основная цель существования Open Source — это уничтожение малого бизнеса в айти (кто помнит watcom c compiler?), защита крупного бизнеса от опасности, что мелкий их потеснит, уничтожение самого рынка для малого бизнеса и снижение затрат для крупного бизнеса — так бы они были вынуждены поддерживать свои собственные компиляторы, платить специалистам по компиляторам, а не индусам за фронтенд, а сейчас у них есть общий gcc и специалистов нужно меньше.
Re[2]: OpenSource как он есть
От: reversecode google
Дата: 02.05.20 08:16
Оценка: +1
у ваткома была узкая ниша прибитая гвоздями к досу, который он сильно расширял по ресурсам
дос умер и вместе с ним ватком
Re: Adam Sitnik - My awesome journey with Open Source
От: Qbit86 Кипр
Дата: 02.05.20 09:55
Оценка:
Здравствуйте, Reset, Вы писали:

R>Отличная статья про участие в разработке OpenSource проекта.


И исходная статья, и этот топик однобоко рассматривают open source с точки зрения стороннего контрибьютора — но не со стороны мейнтейнера.
На последнюю тему могу предложить доклад Адама Ситника (там ближе к концу раздел «The bad part of being the maintainer»).

https://www.youtube.com/watch?v=2HSPKyAyuik

(Это выступление 2017 года, но я вижу в поисковой выдаче есть ещё новая версия UCP2019.)
Глаза у меня добрые, но рубашка — смирительная!
Re: OpenSource как он есть
От: Muxa  
Дата: 02.05.20 09:55
Оценка: +1
R>Отличная статья про участие в разработке OpenSource проекта.

ты ее хоть начал читать-то?

Опыт, описанный в этой статье — сугубо личный, причем характерный именно для продукта Apache Cloudstack.

Re: OpenSource как он есть
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 02.05.20 10:48
Оценка: 18 (4) +2
Здравствуйте, Reset, Вы писали:

Opensource, как и всё что долго живёт, прошло и проходит несколько существенно разных этапов.

Первый — когда ранний FSF Столлмана делал gcc и комплекты юзерских утилит, он просто реализовывал открыто то, что реально стоило уже ничего, но никто пока не решился сделать открытую версию — но вместо этого фирмы, полные некомпетентных разработчиков, продавали дерьмовые продукты за тонны нефти. Один gcc убил десятки коммерческих компиляторов — просто потому, что они стали тупо бессмысленны, и выживали те, что реально начали превосходить по качеству.
Но бо́льшая часть продуктов спокойно могла быть сделана одним человеком без напряга, часто в свободное время, и делалась (примеров масса — gcc ранний, groff, почти весь софт Internet вроде почтовиков...) Для передовых продуктов это 80-е и часть 90-х.

(Реально можно ещё считать нулевой — когда не оформилась схема продажи софта, потому что он был неотъемлем от железа — но это было ad-hoc и без идеологии. Поэтому его пропустим.)

Второй — это когда поднялась сложность и началась потребность работать командами и вкладывать существенные деньги в развитие, для анализа подходов, сбора требований, оптимизации и повышения производительности. Примеры — Linux, FreeBSD, apache, nginx. Для флагманских продуктов это 90-е и 2000-е. Уже в начале этого пути собралась полноценная экосистема, которая спокойно бы выжила и была способна обслужить потребителей всех видов, если бы весь прочий софт мистически исчез — как минимум на 1995 это было бы тяжёлый вой, на 2000 просто вой, но ничего фатального для прогресса не случилось бы.

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

Проблемы, описанные вами, происходят из нескольких факторов:
1. Ниш, где бы подошёл подход первого этапа, уже нет (как обычно, любое обобщение считать правильным на 95-99%, включая это). Новые ниши могут быть открыты только коллективами. Старые все покрыты как проприетарщиной, так и opensource. Прорывы-исключения редки.
2. Человеческие коллективы страдают от общеизвестных человеческих проблем, но в отсутствие работающей регуляции усиливаются — а если у продукта координация страдает, то это становится очень хорошо видимым.

R>Ага, щас. На деле в OpenSource ты нафиг никому не нужен. Почти везде тебе никто ничего не будет рассказывать (даже если спросишь) — разбирайся сам (9 из 10 разработчиков ответят, что у них нет времени или вообще не ответят). Твой PR никому не нужен, вместо рецензии на него ты легко можешь получить кучу пурги, не имеющей к нему никакого отношения (чувак тупо не разобрался, что делает твой PR, но к чему-то придрался, потому что PR расходится с его представлениями о прекрасном), когда ты поправишь PR кто-то другой докопается еще до чего-то (или предложит все вернуть обратно). Совсем забавно, когда эти двое начнут рассказывать, что PR в принципе можно принять, но все это они делают, чтобы "сэкономить твое время" (причем, на территории СНГ лицемерие еще только развивается, а на западе оно давно на грани полнейшей шизы, когда говорят одно, а делают ровно противоположное и это противоречие очевидно). Также, есть куча умников, которые воспринимают тезис "в OpenSource тебе никто ничего не должен" таким образом, что с тобой даже разговаривать по человечески не обязаны и могут просто послать на... потому что их подход "я в проекте царь и бох, поэтому творю, что хочу" (в коммерческой разработке против этого есть тормоза — тут бывает полный беспредел). В результате, чтобы добавить свой код в OpenSource проект (далеко не с первой попытки) придется потратить довольно много усилий и большую часть не на разработку.


Про "в коммерческой разработке против этого есть тормоза" — рассказывайте тем, кто поверит в эти сказки. Многолетнее наплевательство на жалобы клиентов потому, что не смогли убедить пня в руководстве, или до верха просто не дошли плачи — это норма. Только в случае opensource вы можете хотя бы форкнуть. А с проприетарщиной и этой возможности нет.

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

R>Разумеется, все проекты разные и правила в них разные, но обычно проще поддерживать свой форк, чем пытаться передать код в OpenSource проект (и чем крупнее проект, тем больше бюрократии).


Бюрократия необходима для защиты от юридического хакерства захватчиков, а не сама по себе.

R> При этом у крупного бизнеса с этим никаких сложностей. У них либо ведущие разработчики на зарплате, либо они найдут к ним подход и могут, даже, добавить в проект не работающий код (а в это время твой PR в соседней ветке будут "критиковать" по любому поводу, а повод всегда найдется).


Агащазз. Если твоё предложение идёт вразрез с общим подходом — будет то же самое.

R>* OpenSource далеко не такой белый и пушистый, как многим кажется, и нужно воспринимать его более реалистично.


Реалистично надо воспринимать всегда. Но подход идёт миру в целом на пользу.

R> Участие в разработке OpenSource проектов полезно, как для повышения технических навыков, так и для мировоззрения (в смысле более реалистично начинаешь смотреть на вещи, различаешь слова и реальность).


Да. Это лучше, чем цинизм, которого наберёшься при работе на крупного частного диверсанта.
The God is real, unless declared integer.
Re[3]: OpenSource как он есть
От: GarryIV  
Дата: 02.05.20 21:14
Оценка: +3
Здравствуйте, Reset, Вы писали:

GIV>>Офигеть, чел научился git merge делать.


R>Скорее rebase, rebase -i, cherry-pick и много чего другого (ты же в курсе, да, что merge conflicts бывают и в rebase тоже).


R>Это у коммерсантов многие даже лиды дальше merge не продвинулись.


Это только говорит о том, что процессы в компании работают как надо. А вот если на проекте все мастера черри-пика и разрешения конфликтов то тут как раз повод задуматься.
WBR, Igor Evgrafov
Re[2]: OpenSource как он есть
От: Mamut Швеция http://dmitriid.com
Дата: 02.05.20 21:18
Оценка: 1 (1) +1 -1 :)
N>Про "в коммерческой разработке против этого есть тормоза" — рассказывайте тем, кто поверит в эти сказки. Многолетнее наплевательство на жалобы клиентов потому, что не смогли убедить пня в руководстве, или до верха просто не дошли плачи — это норма. Только в случае opensource вы можете хотя бы форкнуть.

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

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

Самый наглядный пример, от которого мы страдаем (на самом деле не страдаем) уже год — Google Dataflow, который построен на Apache Beam. Официально поддерживаемая версия — Java 8, поддержка которой закончилась год тому назад. Стоит ли говорить, что Java 11, которая LTS, выпущена в сентябре 2018, а поддержка ее — до сих пор находится на Roadmap'е и пока даже близко не видно, когда она будет реализована. Я вот прям вижу, как наша компания с 80 разработчиками все бросает, форкает этот проект и следующие два года пилит поддержку Java 11. А потом, видать, пытается свой форк протолкнуть в Гугл.


dmitriid.comGitHubLinkedIn
Re[3]: OpenSource как он есть
От: GarryIV  
Дата: 02.05.20 22:23
Оценка:
Здравствуйте, Mamut, Вы писали:


N>>Про "в коммерческой разработке против этого есть тормоза" — рассказывайте тем, кто поверит в эти сказки. Многолетнее наплевательство на жалобы клиентов потому, что не смогли убедить пня в руководстве, или до верха просто не дошли плачи — это норма. Только в случае opensource вы можете хотя бы форкнуть.


M>Не понимаю, как люди говорят про одни сказки, и тут же начинают рассказывать другие. Причем прямо в тексте про сложность проектов и необходимости команд для работы над ними. Много ли мало-мальски сложных опенсорсов проектов действительно хоть кем-то форкнуты (и дальше развиваются). Доли процента.


Одно дело форкнуть и развивать другое дело форкнуть и пофиксить баг. Я так делал (тоже апачевский проект). Параллельно отправил патч, когда его залили и срелизили (через год) я удалил форк.
Этот год мы жили с форком, я туда пару раз смержил обновления (CVE всякие в основном). Для фикса CVE тоже форкал бывало и затыкал, но там майнтейнеры сами нормальный фикс вскоре выпускали без моего участия.
WBR, Igor Evgrafov
Re: OpenSource как он есть
От: Cyberax Марс  
Дата: 03.05.20 01:35
Оценка:
Здравствуйте, Reset, Вы писали:

R>Ага, щас. На деле в OpenSource ты нафиг никому не нужен.

В данном хабре речь идёт о софте, который разрабатывается консорциумом компаний. Его пишут разработчики, которым платят зарплату и у которых есть сроки и планы. Так как там участвует куча компаний, то и появилась соответствующая бюрократия.
Sapienti sat!
Re[3]: OpenSource как он есть
От: sergey2b ЮАР  
Дата: 03.05.20 01:52
Оценка:
Здравствуйте, reversecode, Вы писали:

R>у ваткома была узкая ниша прибитая гвоздями к досу, который он сильно расширял по ресурсам

R>дос умер и вместе с ним ватком

что не так было с Borland C++
Re[2]: OpenSource как он есть
От: Reset  
Дата: 03.05.20 06:46
Оценка:
R>>Отличная статья про участие в разработке OpenSource проекта.

M>ты ее хоть начал читать-то?

M>

Опыт, описанный в этой статье — сугубо личный, причем характерный именно для продукта Apache Cloudstack.


А с чего ты решил, что мой пост — пересказ той статьи?
Re[4]: OpenSource как он есть
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 03.05.20 06:50
Оценка: -2
Здравствуйте, sergey2b, Вы писали:

S>Здравствуйте, reversecode, Вы писали:


R>>у ваткома была узкая ниша прибитая гвоздями к досу, который он сильно расширял по ресурсам

R>>дос умер и вместе с ним ватком

S>что не так было с Borland C++


С ним было все не так

Под занавес (я именно про Borland C++, а не BCB), он превратился в лютый ужоснах.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: OpenSource как он есть
От: Reset  
Дата: 03.05.20 06:56
Оценка:
GIV> А вот если на проекте все мастера черри-пика и разрешения конфликтов то тут как раз повод задуматься.

В случае Open Source проекта — владение cherry-pick объективная необходимость (и я это утверждаю без какого-либо негатива). Когда ты один из основных разработчиков в Open Source проекте — у тебя нет сложностей добавить туда любой код (на самом деле у тебя одна сложность — недостаток времени, ибо такие люди впахивают по 160 часов в неделю и могут делать десятки коммитов в день). А если ты обычный контрибьютор — твой PR может пролежать пару месяцев пока до него дойдут проверяющие и тут либо ты проявишь чудеса rebase -i и cherry-pick (потому что HEAD ушел далеко вперед, а PR не rebase'ится на HEAD), либо твой PR не будут даже проверять (потому что он никому не нужен). У коммерсантов такие фокусы не нужны — там по-другому устроены процессы.
Отредактировано 03.05.2020 7:16 Reset . Предыдущая версия .
Re[2]: OpenSource как он есть
От: Reset  
Дата: 03.05.20 07:07
Оценка:
R>>Ага, щас. На деле в OpenSource ты нафиг никому не нужен.
C>В данном хабре речь идёт о софте, который разрабатывается консорциумом компаний. Его пишут разработчики, которым платят зарплату и у которых есть сроки и планы. Так как там участвует куча компаний, то и появилась соответствующая бюрократия.

В данном проекте одни причины для бюрократии, в другом — другие, но в результате в сколько-нибудь крупном Open Source проекте бюрократия — скорее правило, чем исключение.

P.S. Для меня бюрократия — это неоправданные сложности. Если у админов/мейнтейнеров в Open Source проектах не хватает времени и тот же login для sso тебе создают неделю или требуют что-то подписать по понятной причине — это не имеет отношения к бюрократии. А вот когда чувак с синдромом вахтера начинает придираться и требовать от тебя чего-то неразумного — вот это напрягает и после очередной итерации вызывает вопрос: "А зачем мне все это нужно, если есть способы попроще?"
Re[5]: OpenSource как он есть
От: GarryIV  
Дата: 03.05.20 07:16
Оценка:
Здравствуйте, Reset, Вы писали:

GIV>> А вот если на проекте все мастера черри-пика и разрешения конфликтов то тут как раз повод задуматься.


R>В случае Open Source проекта — владение cherry-pick объективная необходимость (и я это утверждаю без какого-либо негатива). Когда ты один из основных разработчиков в Open Source проекте — у тебя нет сложностей добавить туда любой код (на самом деле у тебя одна сложность — недостаток времени, ибо такие люди впахивают по 160 часов в неделю и могут делать десятки коммитов в день). А если ты обычный контрибьютор — твой PR может пролежать пару месяцев пока до него дойдут проверяющие и тут либо ты проявишь чудеса rebase -i и cherry-pick (потому что HEAD ушел далеко вперед), либо твой PR не будут даже проверять (потому что он никому не нужен). У коммерсантов такие фокусы не нужны — там по-другому устроены процессы.


Именно это я и имел ввиду. Такое и у комерсов бывает если делать по бранчу на кастомера, пилить ему уникальные фичи и еще как-то что-то из baseline тащить.
WBR, Igor Evgrafov
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.