Libweston vs Wlroots
You need a wayland compositor library to create a wayland server. Wayland is a
protocol, itself, cannot do much, long time ago I used to think the server-side
wl_resource represents some structure you can operate on, well it turned out
all you do with it is handling messages between client and server. All the logic
you need to implement yourself.
There were a few attempts to wayland compositing library created. The first sucessful one is wlc. I think its existence is that weston (the twin of the wayland project, now maintained by Pekka Paalanen). was a monolith application for a long time. Weston looks pretty and quite fast and beautiful but not very useful to anyone else. The developers maybe realized that they want to get more people to use weston, so they managed to strip libweston out of weston itself. It was a good attempt, although I doubt their true intention was to creating a reusable compositing library. Nonetheless, to some extent, it helped the birth of the third library by Drew Devault, the wlroots.