My understanding of Heartbeat is that it "steals" CPU time from any free or balanced CPU in the grid. The master runs the program whichever number of nodes are involved.
So, number of licenses are a matter of discusiion with the vendor: you have a quad core and one license only is kosher.
Obviously, you'd need other licenses if you build a failover redundant system.
You might look at Sun clusters (OpenSolaris Open HA still is a project), haven't looked deep enough in OpenSolaris to see how it works.
As suggested, Free- and OpenBSD have Heartbeat in the tree,
OpenBSD also has the ole IBM style PSSP
http://openports.se/sysutils/clusterit
You might also look at
http://idea.uab.es/mcreel/ParallelKnoppix/ (LiveCD) and is a 2.6.* kernel.