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

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

Почему не используете гитхаб?

Чтоб не контрибьютили, очевидно. Такая же беда с OpenJDK :( Мейлинг листы в 2016м == ~0 новых контрибьютеров извне.


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

Мне кажется заниматься PostgreSQL, не работая над ним фулл тайм, вряд ли кто-то станет. Это попросту очень затратное по времени занятие. Так что «новая кровь» в лице тех кто не осилил послать git diff по почте не особо поможет. А может и навредит.

Ну хз, вот например RethinkDB вполне имеет внешних контрибьюторов, Rust, Kotlin, и тд всё это сложные, большие проекты, но благодаря тому, что процесс контрибьюции всем известен и понятен он происходит.


А то, что это контрибуция в PostgreSQL затратное по времени занятие скорее всего говорит о слабой документации и автоматизации процессов.

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

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

github — это вообще не явление, github — это сторонняя компания, мне кажется это одна из причин по которой не ведется разработка таких проектов как linux/kernel, freebsd или PostgreSQL на github.

Как мне кажется, это очень мудрое решение. Разработка такого крупного проекта не должна зависеть от новых блестящих SaaS, время от времени меняющих интерфейс на новый, типа улучшенный и более удобный. Алсо GitHub пару раз в год стабильно лежит. С репозиторием PostgreSQL на моей памяти такого ни разу не случалось.
Спасибо, очень интересно описали внутреннюю кухню разработки для Postgres «по правилам». Postgres — это, конечно, целое явление в мире ОпенСорс.
Тонкий момент, на который налетают все начинающие контрибьюторы в PostgreSQL без исключения — если вы внесли изменение в .h файл, не забудьте прогнать make clean.

Увы, это имеет место не только в разработке для Postgres. Поправить одну строчку в .h, и ждать полчаса на сборку всего пакета.
И еще, хотелось бы услышать ваше мнение о ветке Postgres для 1С, насколько это соответствует стандартам разработки в мире Postgres.
Ну справедливости ради PostgreSQL даже с флагами оптимизации на моем стареньком ноутбуке собирается за пару минут с нуля.

Сборка PostgreSQL заточенная для 1C, насколько я знаю, никаким стандартам разработки в мире PostgreSQL не противоречит.

Я в Neovim добавил автоматическую генерацию деклараций функций, теперь любое изменение в файле вроде eval.c вызывает пересборку практически всего. Абсолютно не вижу как этого можно избежать, имея на руках только информацию о том, изменился ли файл и какой файл зависит от какого. Вот если бы система сборки видела более конкретные связи (к примеру, файл x.c использует функции foo() и bar() из y.h, но их сигнатуры не изменились ⇒ пересобирать x.c не нужно; аналогично с типами, константами, макросами), то таких пересборок избежать было бы можно.

Может прогнать релиз через препроцессор и уже выходные файлы препроцессора анализировать на изменения. История файлов .h вероятно самая долгоживущая в программировании, и все, что только можно подумать про них, уже где-то когда-то была сделана.
Может у Вас есть время и желание проверить PostgreSQL с помощью PVS-Studio?

«Если анализатором PVS-Studio заинтересуется кто-то из разработчиков проекта PostgreSQL, мы готовы предоставить им на время регистрационный ключ. Прошу написать их нам в поддержку.»

https://habrahabr.ru/company/pvs-studio/blog/207148/
Я как-то проверял, версией PVS-Studio для Windows еще. Послал пару патчей, один был про бинарный сдвиг на отрицательное число, второй не помню. Можете поискать патчи от меня по git log, их там не много.

Сейчас жду бету для Linux. Если дадут, буду регулярно прогонять ею.
Вот бы ещё подобную статью но про Qt…
Согласен, я бы сам с радостью почитал такие статьи про другие проекты.

Могу написать такую же про FreeBSD, если она будет кому-то интересна. У меня есть пара контрибьюшенов в дерево портов + я временами репорчу минорные баги в ядре.
Обязательно напишите, эта тема очень интересная.
Можно пример вашей работы по репорту ошибок?
Понял. Пересекались в сети и общались. Моя работа на bugzilla тоже есть, но афишировать не желаю.
Интернет — большая деревня :)
Не могли бы Вы написать подробнее, как делать code review?

Где увидеть еще не принятые патчи и куда писать свой code review?
На коммитфесте ищем патчи имеющие состояние Needs Review и с пустым полем reviewer. Можно при желании стать ревьювером к задачи у которой уже есть ревьювер, это не возброняется. Но становится ревьювером к задаче которая waiting for committer довольно бессмысленно.

Ревьювим. Находим соответствующий тред. Пишем туда что-то в таком стиле. Только здесь конкретно я нафакапил, так как поломал тред (надеюсь что сегодня его починю). Просто написать письмо с правильным subject, чтобы оно попало в тред, недостаточно, нужно в письме проставить правильный заголовок In-Reply-To. Или просто следить за тредом с самого начала.

В первом приближении как-то так.
Есть один пользователь Arch Linux.

У нас 3 пользователя Arch Linux и 2 пользователя Gentoo Linux (включая меня). Ubuntu всё меньше и меньше.

у нас еще 3 пользователя fedora, в том числе был и майнтейнер fedora, а сейчас штатный сотрудник Red Hat.

Я тут подсчитал — пользователей FreeBSD на самом деле тоже трое (один скрывается и держит фряху только дома). Не приврешь — красиво не расскажешь :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий