Re: General question about new API introduction in Wayland

2022-12-20 Thread Pekka Paalanen
On Mon, 19 Dec 2022 18:11:46 -0800
Filip Filmar  wrote:

> Hi folks!
> 
> Thanks for helping me out with my text input v3 API question
> 
> .
> 
> If I may, I'd like to ask a few orienting questions about the API lifecycle
> and implementation in Wayland.
> 
> To wit, the text input is an unstable API.  I take it to mean that it can
> change abruptly. What happens then with the implementers of this API? When,
> or why would they (ever) want to update the client side to match the latest
> and greatest Wayland APIs?

Hi,

have you seen
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/README.md
already? It explains the general change procedure and sets expectations.

People usually want to update their implementations to get the
advantage of the new changes, or just to be more compatible with other
implementations.

People also acknowledge that there exists software which will never be
updated, so dropping old implementations may be difficult and usually
is not done lightly.

> Further, what is the general approach when a client finds a wayland API is
> found to be lacking functionality?  I understand that if there is general
> interest in the feature, it might make sense to contribute an
> implementation.

The first thing is to start a discussion by opening an issue in Gitlab,
either wayland-protocols or wayland repositories depending on what it
is about.

Mind that Wayland itself does not implement anything really. The
implementations are spread over all compositor and toolkit projects.
Each project makes their own decision to support or not support an
extension.

> But, in a case where it's a niche interest of a client, what can a client's
> owner do?

Open an issue and try to justify your needs.

> In the case of a text input API, it seems that when it changes, the entire
> universe of Wayland-supporting clients would need to implement the
> client-side changes. Who is (ever) motivated to do that? How does that
> usually play out in the Wayland world?

That's roughly true. When a feature is desirable enough, it will spread
eventually, but it can also take years. It helps if the implementation
is encapsulated in a library that can be easily used by many projects,
but often that is not really possible, or it is limited to a very
specific set of user projects, e.g. all compositors based on wlroots
library.


Thanks,
pq


pgpSF2stBRm78.pgp
Description: OpenPGP digital signature


Re: General question about new API introduction in Wayland

2022-12-20 Thread Filip Filmar
On Tue, Dec 20, 2022 at 2:22 AM Pekka Paalanen  wrote:

> Hi,
>
> have you seen
>
> https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/README.md
> already? It explains the general change procedure and sets expectations.
>

Hi, thank you for your explanation and the link.

I have read the README.md. It describes the mechanics of a protocol change,
which is very useful in itself.

However, my questions were mostly around the circumstances in which an idea
about a new protocol, or a protocol change may arise, and what decides how
that change then propagates to implementations.

Which you inferred, and explained in the rest of your message. So I think I
got the answer that I was after.

Thanks,
F