Unvanquished Is Rewriting, Modernizing The Quake 3 Engine
While there's the open-source Doom 3 engine available and other more modern game engine code-bases, Unvanquished developers aren't looking to abandon ioquake3 but rather modernize it and gradually rewrite it so that it's more competitive with modern game engines. Aside from being able to offer more modern game features, they hope the modernizing of ioquake3 will lead to more developers joining the open-source project.
Unvanquished's engine has already received features like an OpenGL 3.x renderer through the ET-XReaL engine modifications to ioquake3 and other more modern features added to ioquake3, but the code-base is said to be building up to a gigantic mess.
The developers plan to incrementally rewrite the entire game engine from the base framework so that it can better scale to handle proper multi-threading. In the process they are also switching from compiling the code-base as C89 to turning it into a C++11 code-base. While doing all of these changes, they hope to maintain game compatibility for better testing and a smoother transition to their "new" engine.
When it comes to virtual machines for handling the game logic, the original Quake 3 system is still in use but Unvanquished wants to switch over to using Google's Portable Native Client (PNaCL) to compile C/C++ into LLVM bytecode that is then compiled at runtime in a sandboxed environment.
In terms of where Unvanquished developers are at right now, they have a new "engine-upgrade" branch where they are focusing on making the engine compile and work in C++, which so far is fully functional.
More details on this interesting work can be found via the Unvanquished Blog.