Without even knowing, my Mum understands how Open Source works perfectly.
My Mother loves plants and flowers, and loves to make them grow and flourish. As well as her love for plants she loves to share the love and freely gives away cuttings or whole plants she's grown.
Walking back home today she noticed a dying flower in a neglected flower bed of a government building. She broke off the head of a flower that had dried up, and seemed dead, yet was about to seed. With this cutting in hand. Mum will be able to grow fresh new plants, keep some and give many away to appreciative new homes.
Coding for Open Source software works almost exactly like this. Grow some code, keep it and give it away at the same time.
By exposing your code to other people who appreciate it you benefit in many ways.
By getting advice on how to make it grow or improve, by allowing it to be seen and assessed, and also as insurance so that if it ever appeared to die, someone could take the 'dried up' project, allow it to seed and grow fresh new projects from it.
All that really needed to understand Open Source is:
1) Empathy for your fellow man
2) Some skill
3) a Generous heart
That's about it.
So as you can see, this kind of this is nothing new. It's just that Microsoft and some others would like you to believe that it's unnatural.
What a shame they have so little empathy, skill and generosity.