Ang software ay binuo ng parehong mga indibidwal na mahilig at empleyado ng mga komersyal na kumpanya. Lumilikha sila ng mga programa para sa mga personal na computer, mobile phone, at iba pang mga aparato na naglalaman ng mga microprocessor.
Panuto
Hakbang 1
Ang klasiko modelo ng pagbuo ng software ay ganito. Ang programa ay nilikha ng mga empleyado ng isang kumpanya, habang ang mga source code ay hindi lumalabas sa samahan. Ang resulta ng pagtitipon ay ibinebenta sa mga gumagamit. Hindi bihira para sa isang application na mag-save ng mga file sa mga format na hindi suportado ng nakikipagkumpitensya na mga produkto ng software. Kung ang pag-unlad ng application ay tumigil, ang mga gumagamit ay kailangang mag-alala tungkol sa muling pag-save ng mga resulta ng kanilang trabaho sa mga file ng iba pang mga format.
Hakbang 2
Kahit na ang pagmamay-ari ng mga kumpanya ng software ay madalas na gumagawa ng libre sa ilan sa kanilang mga produkto. Sa parehong oras, maaari silang kumita mula sa pagpapakita ng mga ad, pagpapatupad ng iba pang mga bayad na programa, pati na rin ang pagpapakilala ng mga karagdagang bayad na serbisyo. Halimbawa, sa isang application para sa IP telephony, ang mga tawag mula sa computer patungo sa computer ay maaaring libre, ngunit magbabayad ka para sa isang tawag mula sa computer papunta sa telepono. Ang mga developer ng browser ay maaaring ma-sponsor ng advertising ng PPC kapag gumagamit ng mga search engine.
Hakbang 3
Ang mga nag-iisang programmer ay karaniwang lumilikha ng maliliit na aplikasyon at kagamitan. Maaari silang sarado o bukas na mapagkukunan, bayad o libre (sa anumang kumbinasyon). Maliit ang laki, ang mga nasabing programa at kagamitan ay maaaring makipagkumpitensya sa mga malalaking pakete na dinisenyo para sa parehong layunin.
Hakbang 4
Ang isang taong mahilig ay hindi maaaring magsulat ng isang malaking programa, ngunit maaari siyang lumikha ng isang proyekto sa Sourceforge, Google Code, Microsoft CodePlex o katulad. Pagkatapos nito, ang isang walang limitasyong bilang ng mga amateur programmer ay maaaring gumana nang magkasama sa code. Karamihan sa kanila ay nakikibahagi sa programa bilang isang libangan sa kanilang libreng oras mula sa kanilang pangunahing gawain.
Hakbang 5
Kapag natagpuan ang isang mahusay na kalidad na bukas na mapagkukunan ng proyekto, ang pamamahala ng isang komersyal na kompanya ay maaaring suportahan ito. Pagkatapos nito, ang programa ay mananatiling bukas pa rin, ngunit hindi lamang ang mga mahilig, kundi pati na rin ang mga propesyonal na programmer na nagtatrabaho sa kumpanya ang magbabago dito. Ang kumpanya naman ay maaaring magsimulang magbenta ng mga aparato sa hardware na nagpapatakbo ng program na ito, o masimulan ang pagsasanay sa mga gumagamit na makipagtulungan dito para sa isang bayad.