EPOLL_CTL_DISABLE, epoll, and API design
EPOLL_CTL_DISABLE, epoll, and API design
Posted Oct 23, 2012 21:07 UTC (Tue) by dlang (guest, #313)In reply to: EPOLL_CTL_DISABLE, epoll, and API design by Yorick
Parent article: EPOLL_CTL_DISABLE, epoll, and API design
If applications will be broken, then the API shouldn't change.
If there are no applications using an API, that API can be removed.
But If applications are using that API, creating new versions of the API doesn't solve the problem. Existing applications are not going to disappear.
This attitude that "the APIs are versioned, we can drop support for old versions" is exactly what's causing the problems in the Linux Desktop Environment world.
It doesn't matter how justified you think you are in getting rid of an old version, if it breaks users it's a regression and you should not do so.
Maintaining lots of different, incompatible versions of an API is a huge amount of work, so just versioning the API isn't nearly enough, and it's questionable if it really helps in the long run.