On the Mac/PC/Linux side you use the drivers shipped by the device manufacturer (FTDI, in this case. Drivers are already in the linux kernel, and are available for Mac/Windows from FTDI).
As is the case with using an Arduino. The chip on the Arduino reference design is probably the same chip you're using, drivers are readily available from the manufacturer - AND they're included in the Arduino development environment, so it's the kind of thing that doesn't require a lot of effort.
I'm probably rubbing against the grain of people like Simon and TheFishMan by sticking with the Arduino as a development platform, but IMHO it's a reasonable approach given the target audience and the "ease" of use - The Arduino environment has been used to build reef controllers many times, there's a large support network, and a LOT of the groundwork for a project like this is done already - we will be able to grab code libraries for the LCD, I2C, One Wire, etc. And I'm also imagining that we'll develop our own libraries and/or standard programming for this project, so people that don't want to code can just copy a sample program, and, at worst, change a few variables to get the behavior they want. IMHO if you try to do anything more structured than that, you're going to end up trapped - either by tying your code too heavily to the exact hardware and features desired on one particular tank, or by "forcing" users to adjust the program through some awkward button interface on the device itself.
Again, I see this project as an entry point into DIY'ing controllers, and I see the Arduino environment as supporting that. I don't really WANT a 100% plug-and-play solution that requires ZERO effort, but I do want to make it easy!
Oh, and FWIW, the ATMega328P used in the Arduino has a hardware serial port, so people can use that for expansion in addition to I2C or One Wire.
So I guess what it really boils down to is what do we build in to the core unit (the shield) vs. what do we break out into other modules? Well, my approach to that has been that I might as well use up the space on the shield with "core" stuff that everyone is likely to want - so far, that looks like a pH circuit, headers to break out I2C and One Wire separate from the regular headers (which I find a pain to use anyways), an RTC, and an LCD controller. So that's what's on the shield right now.
I really appreciate the discussion thus far though and I don't want to shut things down by restating my position.
