When you write software for programmers, you typically are writing it for "ego" or "cred" rather than for money. The money will come when you write software for normal people, either in the form of actual payment, or in the form of recommendations for jobs (contracting or full-time). Therefore, as an author, you are compensated. Just not with money. (What's better compensation for your weekend project: $10 now, or a $10,000 raise tomorrow? That's why programmers advertise themselves instead of monetize their "products".)