You can use Interactive Broker's ( http://www.interactivebrokers.com/ibg/main.php ) data feed through their Java client, but it's not perfect. I think it's fine, because I think if you're that sensitive to minor sampling errors then the market will wipe the floor with you anyway, but most people disagree.
opentick :: home do an open data feed that works with Linux, but have been not accepting new signups "for a few weeks" for as long as I can remember (6+ months).
Edit: Oh, if you're rolling in money then most exchanges will do a data feed in an open format, but they vary from "expensive" to "HOW MUCH???"