This essay/rant is based on an email
Free Sofware: No Strings Attached
There is no express or implied obligation for a free software user (whether IBM, Red Hat or Granny Lucy) to contribute back to the authors or to the community. The development model works fine without that obligation.
Giving the impression that such an obligation exists will dissuade potential users. For example, there was a recent message to network-managers to the effect that USU networks shouldn't use free software because USU wasn't contributing back 1.
Free software works fine without the obligation. Those who are capable of writing more software and fixing bugs will always do so, as much as they can, as long as there are itches to be scratched. The itch is the motivation, and it is far more effective than the expectations of some vague community.
Those who aren't programmers will continue to find bugs, and report them. It's in their own interests to do so; it's more likely the bugs will be fixed. They'll also continue to help others learn what they've learned (documentation, how-tos, mailing list help); that's also in their own interests. More users means more eyes to find bugs, more hands to fix bugs, more developers to develop, and more reciprocal help.
So, the free software model does not need to obligate its users to contribute back in any way. The contribution comes as a result of the usage 2, and in proportion with the usage 3, as will surely happen with Red Hat. So more users necessarily leads to more contribution, and more development. A perception of obligation, however, leads to fewer users. Thus, it will actually slow the development of our favorite Free Software projects if an obligation is perceived to exist.
1 USU does contribute to Free Software; the FSLC receives a decent amount of support from the school, especially the computer science and BIS departments. Also, several of the network staff regularly contribute to mailing lists, post tips, and write utilities. But that's beside the point here--USU should be as welcome to use Free Software if those contributions couldn't be made.
2Contrast this with proprietary software, where contribution must come before the usage.
3 For example, companies or other entities who use free software solutions on a large scale will be much more inclined to fund or aid development on projects they use.