There are a bunch of container mechanisms for Linux now: LXC, Docker, lmctfy, OpenVZ, Linux-VServer, etc. All of these either involve kernel patches or recently added Linux features like cgroups and seccomp.
I'm wondering if it would be possible to implement similar (OS-level) virtualization purely in userspace.
There's already a precedent for this - User Mode Linux.
I have a somewhat complicated scenario of porting, for which I don't know how licensing would fit in.
Say there is a project on linux, made of two components: kernel driver and userspace application. The driver and userspace application communicate with one another using a complex protocol (complicated, in the meaning of data structs being passed).