Writing code that goes into proprietary software is like writing a book which can read only your editor. Programming (at least in some areas) is like art, you want the world to see your code, what you've done there. Give me a name of one famous programmer. I bet he is writing free and open source software.
"famous" != "great". For every famous programmer who cares about recognition and does open-source stuff to get her name out there, there's a great programmer who cares more about getting paid to do awesome things, and isn't particularly concerned with public recognition. There are thousands of astoundingly good programmers who you have never heard of, and many of them are working on closed-source projects.
Rich Hickey[0], in addition to making open source software[1], also produces closed source software[2]. Similarly, Joel Spolsky[3] is involved in a fairly high profile[4] closed source project. That's just off the top of my head.
I was under the impression that we admire Joel Spolsky for his management and essay writing skills. Have we seen any of the code he's written directly so we can judge his coding prowess?
Yes, Larry Page is a good programmer, but I wouldn't say that these people are brilliant coders, they are famous because they are successful entrepreneurs. I was writing about people who are known for being a good programmer. My examples (not in any order): Linus Torvalds, Richard Stallman, Steve Wozniak, Salvatore Sanfilippo (Redis), Jeremy Ashkenas (CoffeeScript, Backbone.js), Daniel J. Bernstein, Alan Cox, Zed Shaw, Igor Sysoev (Nginx), Andrew Tanenbaum, Ken Thompson, Philip Zimmermann...
There are of course many brilliant programmers who are not into open source (like Philip Zimmermann), I don't deny it.
It's easier to be known for being a good programmer if people can read your code, so if you make a list of good programmers you should expect open-source people to be overrepresented.
A few people off the top of my head who are noted for being good programmers but whose code is I think mostly not publicly available: Peter Norvig (though I doubt he's writing much code nowadays), Paul Graham, Sophie Wilson, Charles Simonyi (though it'll be a while before he's forgiven for "Hungarian notation").
(I should add in the interests of fairness that while I was typing that list my brain was angrily trying to remind me of Jamie Zawinski and Don Knuth, both of whom are much more open-source types.)
> It's easier to be known for being a good programmer if people can read your code
Yes, that was my point, I don't say there are no good closed source programmers, just it's much easier to be known/respected as a good programmer by writing free software.
Norvig and Graham both wrote books full of code, with either the book or the code freely available, and AFAIK their books first made their reputations. I'm sure your point is correct that open-source people are overrepresented, those just aren't optimal counterexamples.
A lot of John Carmack's code is open source. Also, what he used to do at id was not particularly groundbreaking; and the "open sourced" (by talking about novel algorithms for 3D rendering) the groundbreaking stuff at his popular multi-hour-long keynotes. So you can think of Carmack as someone who does open source, albeit in a different way.
Think back to Facebook at launch. It was better-looking, more performant and better designed than all its competitors. Zuckerberg isn't just a good businessman.
It's fun to hate on Zuckerberg, because it's Facebook. But the guy produced brilliant stuff that was ahead of it's time.
I think that's more to do with closed source software usually being published under the name of a company, rather than the individuals behind it; so there's less opportunity for a closed-source developer to become famous.