Attempting to justify my perfectionism:
"If I release something that isn't usable, it's worse than if I hadn't released anything at all. You're releasing anti-productivity, because the best that can happen is that smart people spend their time being confused and not getting things done because they're trying to figure out what you did."
Usually when I hesitate to relinquish control of something, it's because I don't want to impose the "WTF?" burden on others. This isn't a good excuse for perfectionism. I should release as early and often as possible but explicitly tag things with a "UNDER CONSTRUCTION!!!" note so that others will know that it may not be ready for human consumption yet.
I've also operated under the "if I make something you don't understand, it's my fault and it's a bug and I should fix it and thank you profusely for pointing it out to me" ethos for a long time, though I should make that more clear somehow. The notion that "if you can't use my stuff, it's not because you're stupid, it's because I designed something stupidly" is a lot of extra work on my part, but I feel like it's part of my duty as someone who wants to encourage more people to learn about the kinds of technologies I love making.
In other news, I'm finding (both at TOPP and now at OLPC) that a 50/50 split between isolated work (typically in the morning/early-afternoon, at home) and being in an open/shared workspace (after lunch) is a great way to keep me focused, productive, and in touch with people - this balance works nicely for community/grassroots work, and would probably have to change if I went into a more technical/engineering focus.
That's the last thing to braindump on now during my sandwich-break; it seems that I'm wanted for OLPC grassroots stuff during my internship, not so much OLPC development. This makes sense, since I'm a fair hand at community/grassroots stuff due to experience, and a rather mediocre tech hacker due to lack of experience. This also frustrates me because the "mediocre tech hacker due to lack of experience" thing is exactly what I want to remedy. So I'm in the (somewhat amusing) position of doing engineering as a volunteer hobby thing after hours doing work on grassroots communities.
The biggest blocker at getting better at the hacking right now is trying to dispel the notion from my mind that I'm supposed to be good at it because I went through engineering undergrad (which leads to me beating myself up for feeling deficient in experience and smarts in the technical realm). The other blocker is that my shoulders, wrist, and arm muscles are weak and can only take so many hours of slumping over a keyboard per day, and after a day writing grassroots emails, they're all keyboarded out... I'm hoping that hitting the gym and focusing on shoulder/back exercises in particular will help this out, with time.