While that first part is true, what's important when trying to target someone's vm is how easily that I can use it.
Suppose I want to write a new language that uses Python's vm as the backend.
* What files do I need to copy to get just the vm parts?
* How do I prepare functions and objects for the vm to use?
* What advantages do I get to targeting Python/Ruby/etc's vm?
* Will I be able to embed the vm, or is the vm defined in a way that it depends on global data. Lua, for example, wraps everything into a state object. So if I extend Lua (which, if I recall correctly, Terra does), I can provide the same functionality upward. But if the vm relies on global data, then I can't provide an embeddable language that extends off of that.