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).
I've seen several projects for userspace tools (though I cannot, unfortunately, seem to remember which ones at this time) which appear to be reusing the Linux kernel make-system, as evidenced by the similarity in build messages: