I've often wondered amidst all this angst and heartburning debates over FOSS, licensing, software patents, political and technological debates which tend to split development projects and create negativity whether the issue is really about Freedom. Because the concept of Freedom can be a little confusing as different people tend to evaluate it on different planes.
In a majority of cases, I believe that the last thing a developer who's newly venturing into FOSS thinks about is the implications of releasing software as FOSS. This may sound strange to many of us and indeed counter-intuitive. But I certainly think that peer approval and recognition plays a huge role when people initially release software as FOSS. It's a heady mix - people see your app, download it, use it and you get a high out of the praise and recognition in the community. Everything goes smoothly until one day the developer finds that somebody else has released a fork out of a disagreement arising either out of technical or non-technical grounds. Suddenly the world's not perfect any more.
Then the developer suddenly wakes up to reality and finds out that he can no longer reclaim his work as his own. Suddenly the developer realizes that somebody else has snatched away all those long hours of work put into developing that application. He is no longer in control of who uses, modifies and releases the code and leads to huge splits and debates within the development community.
Why am I saying all this? Because ultimately all this affects us as end users.
For believe it or not, I am certainly one guy who doesn't think software comes easy. There's no magic factory anywhere which churns out code to produce those wonderful applications we use every day. Developing even a trivial desktop calculator is an involved process. Many end users fail to appreciate this fact. Ultimately nothing is free in life and we all pay the price of it in one form or the other. For developers I think the lesson is to carefully consider the implications of licensing, particularly in huge projects. It's also most important that people respect territories and boundaries which arise more out of the human element rather than a purely technological one. After all, we're all human beings and we all think and act like human beings.
A developer is no different and he's the one who's put in all the hard work into making life comfortable for the users. And it's a fact that not all developers are made the same. Some developers possess skills which are quite rare and irreplaceable, particularly when it comes to systems and OS development. They can command top salaries in major corporations and yet there are a good bunch of guys who release their entire life work for the benefit of humanity.
One way or the other, we are all indebted to these people and there's always a price to pay - physical, mental, emotional or moral. That is the karma of FOSS and of life.