В FOSS'е процесс создания софта куда интереснее!1. Озаботиться какой-то пустяковой проблемой. Почти не гугля решить, что для этого надо написать программу. "Жаркую. Зимнюю. Твою". Самую лучшую, с блэкджеком и т.д. Отважно сесть за дело, отодвинув в сторону домашку и курсач.
2. Выбрать язык, про который сам месяц назад узнал и даже успел изучить пару операторов и один хакерский метод.
3. Сваять самый бестолковый прототип на замеси хардкода, костылей и вермишели. Лучше, если это будет "не под винду". Не забыть заюзать тот самый хакерский метод, сопроводив комментарием-смайлом "Дарт Вэйдер, колющий орехи правой стороной рта". Опубликовать на гитхабе (git - это же святой Линус писал, вы чо, ребзя!).
4. В процессе публикации, случайно наткнуться на целый раздел программ, в котором твою проблему давно решили десятью разными способами, включая генерацию виртуальной машины на опкодах МК-61 из ЛИСПовых шаблонов через парсер на Рефале.
5. Сильно удивиться, взвыть, презрительно посмотреть на проделанную работу. Обнаружить в руках клок чьих-то волос.
6. Скачать чужие поделия. Вернуть глаза с затылка на место: "Ну кто так пишет?!". С очень большим уважением снова взглянуть на свой код. Выпрямить грудь, принять яги, вальяжно поболтать с отцом. Кстати, клок был его - он просто спал рядом.
7. С удвоенным усердием начать улучшать программу. Застопориться на выборе библиотеки для конфигов, месяц читать умные форумы, вконец зас*ать мозги советами горе-интыпрайзников, скачать 50-мегабайтную библиотеку для хранения единственной опции "MaximizeWindow=true".
8. Обнаружить, что очередная фича требует переписывания всего кода. Снова недоверчиво взглянуть на исходники, предусмотрительно отодвинувшись от отца.
9. Забросить проект, опоздать с курсовой, обозвать декана, сходить в армию, жениться, откопать старый проект.
10. Напиться.
Примерно как-то так. :)