There is a similarity, but there is also a difference. The general difference (among PyPy/Pyjion/Pyston) is "what to do with CPython C API". As far as I understand:
* Pyjion says "we gonna add a JIT API to CPython" - so no touching the C API at all (or the object model)
* Pyston says "we gonna implement our own object model supporting CPython C API", but they seem to have copied large portions of CPython. This is a semi-rigid approach compared to Pyjion, because it's not runtime-swappable
* PyPy says "we gonna implement a fake layer on top of our own object model" which means that while C API is feasible (and mostly implemented), it's gonna be always a compatibility layer with slower approach, but the underlaying data types/GC can change at will
* Pyjion says "we gonna add a JIT API to CPython" - so no touching the C API at all (or the object model)
* Pyston says "we gonna implement our own object model supporting CPython C API", but they seem to have copied large portions of CPython. This is a semi-rigid approach compared to Pyjion, because it's not runtime-swappable
* PyPy says "we gonna implement a fake layer on top of our own object model" which means that while C API is feasible (and mostly implemented), it's gonna be always a compatibility layer with slower approach, but the underlaying data types/GC can change at will
Hope that helps