When I say Free Software I mean it in the FSF terms. Free as in Free Speech, not as in Free Beer.
Why is it a good idea for programmers to use and write Free Software?
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
There are literally scores of different reasons why someone might choose to distribute Free software: that's why there are scores of different F/OSS licenses. My favorite reason for going Free is from Linus Torvalds on why he chose and sticks with GPLv2:
This goes to Eric S. Raymond's Linus's Law:
The following is an excerpt from the FSF's free software page:
I would have thought that the benefits of the Freedoms to "the programmer" were self-evident. Certainly Freedoms 0 and 1 should be. I guess Freedoms 2 and 3 assume that you might want to help your neighbor ... or have your neighbor help you. But you would need to be pretty short-sighted (or a sociopath) not to recognize the benefits of people helping each other.
The waters get a bit muddy when you start considering corporate interests. But it is pretty clear that companies can and do make money both building and using Free Software, even if your company's management doesn't "get it" yet.
I think that open source is good for programmers.
With open source a programmer can learn from the work of other programmers and have a better debugging session (e.g if the library/framework/API is open source).
The only additional benefit of free software for a programmer is the reuse of existing code, but this benefit is not actually for the programmer, but for the programmers' company.