Alexander Danilov wrote:
Я недавно сам стал "коммерческим" программистом, и я в шоке. В шоке от того, какого качества программа, которую мне приходится дописывать, в шоке от качества сторонних компонентов, написанных в другой "коммерческой" конторе. Ятаким "программистам" не доверю даже улицу подметать. И одной из причин такого отвратительного качества кода я считаю закрытость продуктов, разработчики не в курсе ЧТО они написали, и со стороны им об этом тоже никто сказать не может. А так всё вроде нормально, интерфейс более-менее ничего, программа кажется делает то , что надо. Кто бы проверил.
Ну вы же со своей стороны видите, и можете сказать об этом. Они не в курсе, потому что им не хватает квалификации. Нужно отслеживать и увольнять таких людей. Причиной этого является плохое образование исполнителей, а не бизнес-модель. Закрытие исходников лишь помогает скрывать это от посторонних. Тем не менее, если программа не выполняет некие функции, требующиеся заказчику, то он ее и не купит, а в "свободных" программах изначально никто не дает никакой гарантии. Дорабатывать их придется тоже за деньги.
Еще раз: открытые (или закрытые) исходные тексты не гарантируют качества кода. Утверждение о том, что программы с открытыми исходными текстами по определению более качественны -- это признак фанатизма. Есть масса примеров хороших closed source программ, ставших образцами для подражания в open source. Вспомните тот же BitKeeper, distributed VCS, по образу и подобию которой были созданы Git, Mercurial и прочие.Я и не утверждал, что открытые программы лучше, я утверждаю, что закрытые надо открывать, чтобы улучшить качество.
С тех пор как программирование перестало быть научной деятельностью и стало частью бизнеса, исчез и обязательный контроль качества посредством анонимного рецензирования. Можно придумать нечто похожее и для программирования, но это никому не нужно, поскольку такая услуга увеличит стоимость продукта, а в условиях рыночной экономики необходимо продавать продукт по цене, ниже чем у конкурентов.
Сам факт открытия исходников не приведет к их улучшению. Чтобы это произошло, надо чтобы данный исходный текст заинтересовал человека более профессионального, чем разработчики продукта. Никто не обещает, что это точно произойдет, как с рецензируемой научной статьей, существует лишь некая вероятность. Ни в closed, ни в open source нет механизма, заставляющего обеспечивать необходимое качество. По большей части все зависит от самих исполнителей.