Инструкция
1
Классическая модель разработки программного обеспечения выглядит следующим образом. Программа создается сотрудниками одной компании, при этом ее исходные коды не выходят за пределы организации. Результат компиляции продается пользователям. Приложение нередко сохраняет файлы в форматах, которые не поддерживаются конкурирующими программными продуктами. Если разработка приложения прекращается, пользователям приходится заботиться о пересохранении результатов своего труда в файлы других форматов.
2
Даже компании, занимающиеся разработкой закрытого программного обеспечения, нередко делают некоторые из своих продуктов бесплатными. Они могут получать при этом прибыль за счет показа рекламы, реализации других, платных программ, а также введения дополнительных платных услуг. Например, в приложении для IP-телефонии могут быть бесплатными звонки с компьютера на компьютер, а за звонок с компьютера на телефон придется заплатить. Разработчики браузеров могут спонсироваться за счет контекстной рекламы при пользовании поисковыми системами.
3
Программистами-одиночками обычно создаются небольшие приложения и утилиты. Они могут быть как с закрытым, так и с открытым исходным кодом, как платными, так и бесплатными (в любых сочетаниях). Имея небольшие размеры, такие программы и утилиты порой способны конкурировать с крупными пакетами, предназначенными для тех же целей.
4
Написать крупную программу одному энтузиасту не под силу, но он может создать проект на сайте Sourceforge, Google Code, Microsoft CodePlex или аналогичным. После этого работать над кодом сообща сможет неограниченное количество программистов-любителей. Большинство из них занимается программированием в качестве хобби в свободное от основной работы время.
5
Обнаружив качественный проект с открытым исходным кодом, руководство коммерческой фирмы может поддержать его. После этого программа по-прежнему будет оставаться открытой, но вносить в нее изменения будут не только энтузиасты, но и работающие в компании профессиональные программисты. Фирма, в свою очередь, может начать продажи аппаратных устройств, работающей под управлением этой программы, либо начать обучать пользователей работе с ней за плату.