Social norms are passed down through trial and error, which means that getting something wrong runs the risk of embarrassment and mockery in front of one’s peers. Developers don’t contribute to open source for lack of technical ability, but rather due to fear of committing a faux pas.