It is a fact that this company will need to run Windows on the workstations to support SolidWorks, QuickBooks, and probably some other applications, and I believe at least one server will need to be Windows to be the QuickBooks server, but I'm not sure on that.
With that in mind, is the cost savings in licenses worth it to introduce Linux servers, workstations, and router/firewalls (routers/firewalls will probably be linux either way really) into the environment? I'll be the person managing it all, and I do have a pretty good understanding of Linux, but I'm far from an expert, especially when it comes to a real world network in a business environment.
To start off with a few servers could be Linux probably, but the number will grow rapidly (and if it doesn't then this question doesn't really matter).
What are your thoughts?
It's worth it if you can make the business-case make sense. Licensing expense is only part of the equation. Also think about:
Administrative expense - Do you have a competent Linux admin? Do you know how much more / less a competent Linux admin costs in your market if you have to go get another? Will you have an administrative expense associated with overhead in interoperability between the Windows infrastructure you say you'll "need" versus the Linux infrastructure you "want" (how do you feel about not having Active Directory, Group Policy, etc)?
User productivity - Will users have the apps they "want"? Can they work as efficiently on the Linux-based apps they'll have access to? What is the rough impact to user efficiency?
Performance - Will your applications work as well on Linux? Will they work better? Quantify that in time savings for users and / or administrators.
Hardware expense - Are you going to find specialized hardware (plotters, scanners, etc) that will have drivers for Linux or will you have to pay more for "upscale" hardware that does? (That used to be true with server hardware, too, but it has become a lot less true in the last 5 - 7 years...)
It could definitely turn out to be more cost-effective to use Linux, but it might not. It might be more pleasurable to administer, or it might not. There's no one single answer. You need to get the "big picture" of the business out on paper and run the numbers. Even if you're not right, at least you've given it thought and developed an answer using some methodology.
No. For a small business, you are likely getting your Windows licenses with the hardware you're buying. It's basically a no cost venture other than maybe some CALs. While you might be familiar with Linux, you're likely to run into compatibility issues with the software you've already mentioned requires Windows which alone make it a bad idea. I would venture to guess if you added up potential lost productivity fighting those issues vs the cost of the Windows licenses you'd actually have to buy apart from hardware, you'd find the license cost is far less than the cost of your, and others time.
Of course Windows has it's issues, but my experience has been that it is quite stable in a standard configuration and Linux will only introduce problems, especially on the desktop. Servers are an entirely different question.
You'd probably become an expert pretty quickly when faced with the day-to-day problems.
Besides Evan's excellent answer above, I'd like to add in that there are other interoperability solutions that aren't covered.
While we're at it, let's look at the basic functions you're going to have to handle and their alternatives.
If possible, I'd outsource as much as you can. Email is a great target -- it's usually cost-effective to outsource it because the authentication, security, spam, and network transport issues are non-trivial (i.e. reverse DNS &c) and a pain in the butt to keep running.
It all depends on your needs. I run a mix of Windows and Linux, with each chosen to suit a combination of what it has to do and what hardware available for it (it's a small company). As nearly all the workstations run Windows it makes sense to use Windows on the main servers. i.e. Those servers users interact with directly. For what I consider to be "sundry services", things such as firewall, system monitoring, spam filtering, network faxing, etc I use Linux. This enables me to implement readily available and well proven solutions at very close to zero cost, without creating interoperability issues. This last point, previously raised by others, needs to be given careful consideration. That, more than anything else, is where the true long term costs of a mixed environment are likely to be.
The cost of the licenses is only a small fraction of the overall cost, and with Windows on the desktop you're just going to get a much better environment by putting Windows on the servers.
As I mentioned in my comment on Evan's answer, interoperability is the key thing here. There's a lot more to client/server communication than raw IP traffic. If nothing else Windows servers will give you Active Directory and Group Policies. Add in gains from centralised management, single sign on, and being on a client/server platform that's designed to work together, and it looks like being a no-brainer.
Virtualisation. Do not forget virtualisation. You can run multiple servers on one machine. It will also help in configuration and set-up. If you are unfamiliar with how one server works, you can create a virtual server and test it to your heart's content before setting up the production one in another virtual server. Also, as someone else has mentioned, you can run Windows virtualised too.