Технически, пользователь не ближе к интерфейсу, чем разработчик. С точки зрения изменения, оба должны будут измениться при изменении интерфейса.
Однако, почему интерфейс изменился бы?
Пользователь вызывает интерфейс, чтобы он мог быть независимым от любого доступного разработчика. Поэтому определение интерфейса продиктовано потребностями пользователя.
Поскольку пользователь диктует определение интерфейса, нет смысла менять интерфейс, если пользователь не нуждается в нем. Разработчик, которому требуется изменение интерфейса для реализации, должен отправить красные флажки. Зачем ему нужно больше или другая информация от пользователя? Какая польза от этого пользователю?
Кроме того, разработчик "просто" зависит от интерфейса в той мере, в которой он должен обеспечить реализации для каждого из методов в интерфейсе. Но он может предоставить пустые заглушки, по сути, доставляя NOP своим клиентам.
Таким образом, пользователю нужны изменения диска для интерфейса и изменения интерфейса диска для разработчика (ов). Таким образом, пользователь функционально намного ближе к интерфейсу, чем разработчик. Что дает хороший повод объявить интерфейс с пользователем, а не с разработчиком.