Wayland is a protocol that specifies the communication between a display server and its clients, as well as a reference implementation of the protocol in C language. It was initially authored by Kristian Høgsberg as a replacement for the X Window System.
The Wayland protocol is essentially only about input handling and buffer management. When running on Linux kernel, handling of the input hardware relies on evdev, while the handling of buffers relies on Generic Buffer Management (GBM); when running on other operating systems, Wayland compositors work with their respective components.
Weston is the reference implementation of a Wayland compositor, it is written in C and published under the MIT License.
Unlike the X clients, Wayland clients will render directly into their own buffer located in the graphics memory, through the use of EGL with some additional Wayland-specific extensions to EGL. The display server is responsible for the compositing, hence it will incorporate a large part of the functionality of current compositing window managers.
Wayland is intended as a simpler replacement for X, easier to develop and maintain. GNOME and KDE are expected to be ported to it.