I just got my first Arduino shield back from the fab and I'm pretty excited about it. I had grabbed some headers that were advertised as "long" and "stackable arduino headers" but I've found that they're too short (10.5mm). When I put my shield on top of an Arduino Uno the board presses against the top of the USB port. This is a problem because it can cause a short on my shield. Here's a photo:

The only other shield I own is an ethernet shield and its headers are really long (14mm). When I put it on my Uno, it has no problems touching the USB jack:

I found some extra-long headers at a local shop but they were so expensive - $1.10 to $1.20 for ONE 6 or 8-pin header. Adding these to the shields will add about $5 to the final cost, which sucks.

Is this a regular problem for people who design shields? Are there any places online I can get these "extra-long" headers? I tried looking around but found nothing conclusive. Should I include these extra-long headers when I sell them, should I include the "long" ones knowing they'll be too short for people, or should I let people buy their own headers completely?

Those don't say how long they are, and they're also male headers. I found these ones from Adafruit but they're too short (10.5mm, like in my first photo). I wouldn't be totally opposed to using male headers, just as long as they're long enough.