Во-вторых если вы уберете тестеров, то программисты от этого лучше программить не будут и крутые тестеры из них из ниоткуда не возьмутся. Не говоря уж о том, что желание заниматься тестированием как можно меньше побороть очень трудно.
Крутые тестеры — это какие? Те, которые по внесенным изменениям сами определяют что нужно в тесты добавить, что убрать, что изменить? Не верю, что такие бывают. Если тестер это умеет, то он уже не тестер, а тоже программер и использовать его только в таком качестве — непроизводительно транжирить его возможности. Не, фаза тестирования в жизни продукта конечно же нужна, но иметь на это отдельных людей, я считаю необязательно. Грубо говоря, чем долго и муторно им объяснять, что и как надо тестировать, легче это проделать самому. Ну а насчет того, что программера это делать не заставишь, то это уже зависит от программера и того, кто заставляет
Хороший код тоже не всякого заставишь писать.
Еще мы забыли специалистов по юзабилити. Этим программистам точно лучше не заниматься.
Тут Вы совершенно правы. Пользовательский интерфейс (оконный) должны дизайнить совершенно посторонние от программирования люди. Когда за это беруться программисты, результат как правило получается хуже некуда. Ну да, в этом случае в команде разработчиков должен быть дизайнер. Но при этом именно в команде, а не сам по себе.
Free pascal compiler (примерно 3700 багов closed/100 багов resolved (не знаю есть ли разница), пользователями предложено 2 патча)
Я не очень разобрался в их bagtracker'е, но тыкая наугад в репорты, сразу наткнулся (буквально третья и пятая проба):
http://bugs.freepascal.org/view.php?id=11856http://bugs.freepascal.org/view.php?id=12467Явно сторонние люди присылают патчи, не к самому компайлеру, а основной сопутствующей библиотеке (FCL) и их принимают. Так что все в порядке, никакой аномалии не видно. А то, что не шлют патчи к самому компайлеру, можно объяснить его экзотичностью. Ведь в отличие от GNU/Pascal FPC реализует Борландовский диалект Паскаля и очень может быть, что он сам есть единственный серьезный продукт написанный на этом диалекте
При таких обстоятельствах несложно собрать всех серьезных программистов, заинтересованных в его развитии, в команде разработчиков и все правки становятся «внутренними».
jedit (примерно 3000 багов closed, 177 патчей принято от пользователей/разработчиков).
Это вполне характерная статистика такого рода продуктов. Основной поток багрепортов конечно же идет без патчей, поскольку комьюнити этого продукта составляют начинающие программеры и просто любители. Лично я не знаю, что бы меня сподвигло использовать его вместо vim
Если вы распространяете приложение/драйвер, то у пользователей-то может не быть исправленного вами ядра/компилятора.
Ну естественно. Конечно же предполагать, что ядро обладает нужными свойствами у широкого потребителя можно только после того, как изменение внесено в маинстрим, попало в стабильную ветку и после этого вышли большинство дистрибутивов с ним.
Поэтому хотя исправить ошибку может быть и очень познавательно, но в хорошем приложении ее надо обходить, чтобы им могло пользоваться существенно большее число пользователей.
Очень сильно зависит от деталей. Во-первых, обход может сопровождаться большими дефектами в работе. Скажем, если я использую 'epoll', то теоретическое присутствие в мире систем с ядром <2.6.8, в которых он еще не реализован, не является поводом писать для них workaround на 'poll', поскольку в таком случае продукт не будет обладать заявленными характеристиками, а это гораздо важнее. Но к счастью, в линуксовом мире принято обновлять систему с выходом нового соответствующего дистрибутива. Например, в случае с Ubuntu, это каждые полгода. А <2.6.8 — это ядро трехлетней давности и его потенциальное наличие можно не учитывать.
Во-вторых, неприятность может быть напрямую не связана с вызовом какой-то функции ядра из приложения, а быть дефектом механизма, который действует сам по себе. Упомянутая мной правка как раз была такая. Она была связана с mm и никак не могла быть обойдена в приложении.
Хотя, я слышал, что линуксоиды не любят с этим заморачиваться - подумаешь пользователю ради 10 килобайтовой программы придется скачать несколько гигабайт обновлений и пересобрать ядро...
Вы излишне утрируете. Package с ядром это всего-то 18 мегабайт, а пересобирать его уже давно никто никого не заставляет.