Evert Pot makes some sound arguments in favor of dropping the public keyword.

I think people should be using "var" instead of "public". I realize that this is as controversial as tabs vs. spaces (as in: it doesn’t really matter but conjures heated discusssions), but hear me out! Over the last year I’ve been going through all my open source projects, and I’ve been removing all the public declarations where this was possible. ... "public" is completely optional. "public" is the default, so adding it does nothing to your code.