Software development is a unique process with many different motivations, communities, and products that have changed our world in just about every way. While many software projects do take the normal structure of a for-profit company, there are others that simply see software that is needed for the larger community, and they have the ability to create it.