As a developer, what makes you decide to get involved in a project? Is it the financial benefit after accomplishing the project? In term of commercial project, this might be true because executing project is another means to make a living, hence financial income is reasonable outcome. However, in non-commercial projects which are usually open source and the project takers are not paid on monthly basis, paid on a little sum of money, or even unpaid at all, it’s apparently unreasonable to lean on immediate financial benefit such that it’s practical to draw conclusion that the involvement is based on other motive.
There are various reasons why somebody decides to chime in a non-commercial project. While the list of specific reasons may bubble up, I summarize that it’s mainly personal interest. Spending significant time in an activity without tangible profit while there is clear acknowledgement that the time slot is convertible into tangible profit, it’s not logical to take such decision, given that there are options to go through and choices are freely made. Thus, there has to be illogical reason to make it logical and it comes from personal interest, emotional binding, a part of human nature, that can not be simply formulated into a set of theorems.