alex gaynor's blago-blog

Posts tagged with thinking

Why Open Source Works

Posted January 27th, 2010. Tagged with thinking, open-source.

Open source works for a lot of reasons, but there is one that stands out. Open source is basically an application of democracy to a programming community, in fact it's the most perfect implementation of democracy yet.

The central idea of a democracy is that the governing party draws it's authority from the willing consent of the governed. In most modern democracies this is more or less true, but not exactly. In the real world it's often very difficult for a citizen to withdraw their consent to be governed by the governing: they have to wait until elections to formally enact change, violent rebellion basically doesn't exist in first world countries, and there are many barriers (economic and otherwise) to just picking up and leaving. Because of the difficulty in withdrawing consent, modern democracies are not (and probably cannot) perfectly embody this spirit.

But open source communities can. In the open source world forking is often considered to be a nuclear option (ignoring the use of the term in the DVCS sense of forking for collaboration), a tactic designed to fragment a community. But it's also the perfect equalizer. Authority in open source communities is derived from the community's willingness to stay under the leadership of that authority, at any point any member of the community can decide to exit the community: to use a different piece of software, or to fork it, and continue development however they please. Because there are practical options to withdrawing consent to the governance open source is probably the most perfect application of democracy.

You can find the rest here. There are view comments.

I Have Talent

Posted January 15th, 2010. Tagged with thinking.

I read a blog post the other day titled "I Have No Talent", and I found it to be pretty interesting, and what the author says probably resonates with a lot of people. But not with me. I disagree with the article on a basic premises, that perseverance is less of an innate ability than talent.

If you read the post in question, the author argues that he doesn't have any innate ability to program, or use Ruby, but he does have a good work ethic, and this makes it possible for him to still get stuff done, as long as he's still willing to put in the time. Perseverance, and the willingness to work hard are just as much talent as the ability to program, and it's probably more innate than almost anything else. You can create a good work ethic for yourself by setting patterns, or providing yourself intensives, but the willingness to do that work is something that is innate (after all it'd be way easier to just give yourself a reward, instead of forcing yourself to spend the extra 30 minutes learning something new).

I say this because I think I'm exceptionally lucky to have been born with an above average intelligence, and that I can hardly take credit for that. Whatever combination of genetics and luck gives someone their start, I drew a decent hand in the IQ department. The author says that anybody can be good at this stuff if they put enough practice into it, and I think that's probably true, but the amount of practice it takes will vary wildly depending on intelligence (and probably a bunch of other factors). It's not uncommon for me to be working on a problem with a friend, perhaps one of us is helping the other with some homework, and we'll reach some point where we need to get to the next step, and the path for us to take will be completely obvious to me, but not to them. Whatever it is that makes those steps obvious, intelligence, instinctiveness, whatever the name for that attribute is, I don't think it's something that can be learned. It would be like someone telling me that if I practice hard enough I can learn to play basketball like Michael Jordan. I could get a lot better than I am with more practice, but he's got a gift (genetics, something else, whatever) that means it takes a hell of a lot less work for him. I know Michael Jordan put in insane hours practicing, but I also know that if I put in the same hours I still wouldn't be as good as him.

Now that I've said all this does it mean I think people shouldn't practice? Absolutely not, it's the only way you'll get better than you are now (no matter how good you are). But if people are complimenting you, that might be a sign that you've got more going for you than just your hard work, that perhaps you are somehow predisposed to it.

You can find the rest here. There are view comments.