There are other ways of doing a "Virtual Machine" in Linux and for free, however I don't believe that will let you run a copy of Windows, only virtual copies of Linux.
http://user-mode-linux.sourceforge.net/And of course there is Win4Lin (not free) and Virtual PC (not free). VMware is by far the best that I know of.
I do recall an open source project that does provide something similar to VMware, however the reviews I read were that it was extremely slow, and more or less unusable. I can't for the life of me remember the name of the project.