X.Org XCB 공동 개발자가 Wayland의 프로토콜 디자인을 칭찬하다
X.ORG
XCB는 X.Org/X11 서버와 상호 작용하기 위한, 20년 된 현대적인 Xlib의 대체재입니다. XCB 공동 개발자인 Jamey Sharp은 최근 첫 Wayland 클라이언트를 작성한 후, X11과 비교하여 Wayland 프로토콜 디자인을 칭찬했습니다.
Sharp은 Mastodon에 다음과 같이 게시했습니다:
"몇 년 전 저는 X Window System 클라이언트를 위해 xcb.freedesktop.org를 작성했고, 어제는 첫 Wayland 클라이언트를 작성했습니다. 세상에, 저는 Wayland 설계자들이 X로부터, 그리고 심지어 XCB로부터 배운 모든 교훈의 영향을 볼 수 있습니다. 저는 Wayland 프로토콜 디자인에 진심으로 매우 감명받았습니다!
며칠 전 누군가가 Wayland 클라이언트에서 단순히 창을 열기 위해서 얼마나 많은 코드를 작성해야 하는지에 대해 불평하는 것을 보았습니다. 제가 들어가기 전에 이것이 어려운 일을 가능하게 하도록 설계된 프로토콜이라는 점을 이해하는 것이 중요하다고 생각합니다. 만약 쉬운 일을 하고 싶다면, Gtk나 Qt 또는 SDL 같은 툴킷을 사용하세요. 그래서 제 프로그램은 하는 일에 비해 코드가 너무 많아 보일 수 있습니다. 단지 창을 열고, 주기적으로 흰색과 검은색 사이를 깜빡이며, 몇 가지 타이밍 통계를 측정하는 것인데, 저는 이를 위해 300줄 이상의 Rust 코드를 작성했습니다. (저는 전역 바인딩을 위해 wayland-client 크레이트의 헬퍼를 사용하지 않기로 선택했기 때문에 더 짧았을 수 있지만, 원시 프로토콜로 작업하는 느낌을 보고 싶었습니다.) 하지만 경험상 제가 해야 했던 단계 중 어느 것을 제거하면, 더 복잡한 시나리오를 처리할 능력을 포기하는 것과 같다는 것을 알고 있습니다.
저는 Wayland가 여기서 올바른 복잡성 트레이드오프(complexity tradeoff)를 했다고 믿습니다. 저수준 프로토콜은 매우 유연하며, 사용 용이성은 그 유연성의 어떤 측면을 단순화를 위해 제거할 수 있는 상위 수준의 추상화(higher-level abstractions)에 속해야 합니다."
오랜 X.Org/X11 개발자로부터 온 흥미로운 Wayland 생각들입니다.