With protocols like screencopy, that write to wl_buffers and have their own events to suggest the copy has been done (ready), is the compositor still expected to send `wl_buffer::release` afterwards? I would assume yes, given the wl_buffer and it's events are part of the core-protocol and nothing in screencopy says it should follow different semantics. (Also I guess a client could technically submit those wl_buffers as surface contents?) But the current wording is a little contradictory. Screencopy says the buffer is available for reading, while the core protocol says "the buffer is no longer used by the compositor". So I guess you are allowed to read before `release`, but after `ready`, but not re-use, since `wl_buffer::release` says, that "the client is now free to reuse or destroy this buffer and its backing storage".