С огромным интересом зачитываю данную дисскусию. В настоящий момент наблюдаю два подхода -
1) Западный
ПО платное и за лицензии надо платить. ПО производится промышленным методом ( по правильной методологии и проходит lifecycle ). Раздается не бесплатно, но цена ПО вполне обоснована с точки зрения коммерческого предприятия
2) Российский
ПО условно бесплатое - т.е. если есть возможность не платить - "пиратим" без зазрения совести. В случае отсутствия нужного ПО (или соотношение деньги для взлома/ (нужное кол-во лиц-ий * цену лицензии) >1 ) разрабатывается ПО "на коленке". При определенной достижении определенной сложности ПО ( ну скажем >10Кстрок) тестирование в "домашних" условиях без пром. подхода не дает результатов. И поэтому появляются ошибки. Если люди готовых за них платить - отлично. Для маленьких продуктов, которые заключаются в выведении пары графиков и 3-х кнопок.
Вот - например приколы которые случаются с наколенниками 1) Переход на зиму-лету
2) Конец памяти 3) Отображение на нестандартном шрифте dpi >125 4) Работа в "безопасном режиме" 5) Работа не под админом с жестко ограниченными правами когда на каждое открытие дескриптора нужно получить права 6) Работа от win95 до Vista 7) Контроль версий библиотек проставленных в системе.
Это то что я "навскидку сказал" подумав 10 секунд. Реально если программисты катают карандаш - это ерунда какая та. Так обычно не бывает