One of the things, speaking as a nerd, that I love is open source software and code. I develop a lot of websites that need some pretty intricate abilities, and thanks to open source developers, I can do things that otherwise I’d have to hire someone to do.
The platform I build most sites on is WordPress, which is fully open source, community developed web publishing software. In addition to the core functionality, anyone with an idea and a little PHP and Java ability can create plugins that make WordPress take on extra functions. I frequently pay developers to create new plugins. But the thing is, when I pay developers to do that type of work, they are then published on the web so anyone can use them.
But there’s a downside. There are a ton of orphan projects… with WordPress, that usually shows up as plugins that don’t get updated as frequently as WordPress itself (or the plugin author gets bored and stops updating it). So one day your WordPress site works great, and the next day after you upgrade, something is broken. The only solution is to try and update the plugin yourself or pay someone else to do it. Usually it’s cost prohibitive to figure out what some other developer has spent years doing, so it’s easier just to take that feature off the site.
My blog is built on WordPress, and I use over 20 plugins to support extra functionality, some of which you may not even recognize without me pointing it out.
Ultimately it’s a tradeoff. Commercial software developers tend to be around longer, but they are also expensive and totally unresponsive to user requests, and you can’t usually customize commercial software to your specific needs.