I gave 4 stars instead of 5 for the foiolwlng reasons: 1) Scanning from the ADF is slower than I expected once you get past the first page. 2) The printer memory can be easily upgraded with up to 512 MB. However, the memory module is a 144-pin PC100/133 SO-DIMM. This is very out of date memory. You would think that out of date memory would be dirt cheap but it is not. Compare prices and you will find that it costs about as much as 4 GB of the very latest memory because very few manufacturers still produce it and very few retailers stock it. Even if that memory is more than adequate for the printer's needs, Brother should still use something more modern to keep the costs down. I have a network with machines running Windows Vista, Mac OS X Snow Leopard, and Ubuntu 9.04 Linux. This printer worked with all three operating systems with no tweaking at all. In fact, the only headache was that the Windows software provided by Brother required a reboot after installing (I thought we left Windows 95 far behind ). The Mac immediately recognized the printer via Rendezvous and was ready to print within seconds. What surprised me the most, however, was that Linux saw the printer and configured itself right away. Brother offers Linux drivers, but there is no point in even downloading the print drivers as CUPS handles it out of the box. For scanning, you should install the Brother driver which is actually just a very tiny daemon that the printer contacts when you press the scanning button. All the daemon does is kick off the appropriate shell script, which are located in /etc/local/Brother/sane. It is all very configurable and if you know your scripting, this printer is MORE capable on Linux than it is on Mac or Windows!