The counter-question: why they SHOULD give the source code? I don't know much english folklore but in russian language there's a well known proverb. I don't know how to do literaly translation but the direct translation will sound like this:
With the thankfulness you won't eat fully.
How do programmers earn money to not to die from hunger? Probably they sell their knowledge by writing code.
How do musicians earn money to not to die from hunger? Probably they do recodings, performances and tours.
The only difference is the appetite. One category of people does things for good, the other - for money, the third - for fun.
But all of them want eat, everyday.
Also that's why I don't publish source code for my project. Because I spend a lot of time for writing plugins that bless good to others. But for about the year of existence of the project I've collected only $150 donations and published source code for only one plugin (all as promised on the official site). This fact gives reason to think about the future release model. Probably the best way would be to port the source code to Windows and MacOS platform and sell licenses for them still keeping the linux distribution free for use.
Yes, Free software is good. But Free does not mean that the time spent for writing this software shouldn't be paid.
I have worked for a software company and I wrote code for money. I had the highest salary in my family. But I wasn't happy about that. Proprietary software is an injustice and I couldn't ignore the fact that I was a part of the problem. I've tried to compensate for it by donating to Free Software Foundation, but it wasn't enough. In the end, I quit.We who benefit from software can easily forget that someone creating so-called 'free' software
comes at the (high) price of the author's limited waking hours, that could be spent with family, friends,
or in paid occupations. It is a balancing act for someone who loves to code, and loves to share,
but needs to buy life's necessities. Coding is difficult, a coder must be a linguist, a mathematician,
an engineer, an artist, a scientist in one or more disciplines, and expert in how the implemented code
behaves in the end-users world.
Now I have only 250$/month but my conscience is clear. I can spend time writing free software and make this world a tiny bit better. I would love to write free software for money but there are not a lot of people who are willing to pay on this conditions.