I agree with you that Twitter does have the right to impose a quality Twitter experience across clients. I'm also confident that the very best 3rd-party clients will be able to successfully work together with Twitter to ensure that they continue to exist.
However, the uproar over these changes isn't entirely about this. The most pressing issue is the principle over access to public data. By imposing these restrictions, 3rd-party developers aren't able to access this data, for whatever they'd like to use it for, as easily as they use to be able to. This is something that originally attracted people to Twitter, and is essentially how Twitter made its name (aside from the product itself).
The other issue is that people overwhelmingly feel like these changes are a direct result of Twitter deciding that they need to monetize and profit from their product. While Twitter hasn't directly come out and said this, it's pretty apparent. A lot of the complains I'm hearing are that they would be willing to pay Twitter to ensure that certain features that Twitter doesn't currently implement themselves persist. People in general don't trust Twitter to make the experience as good as some of the 3rd-party developers have because Twitter might not think it's in their best interest from a financial standpoint.
So yes, Twitter is trying to protect its reputation, as it very well should. But in trying to protect its reputation from a user experience standpoint, its also destroying its reputation as a company that works well with 3rd-party developers and allows for access to publicly available data.
However, the uproar over these changes isn't entirely about this. The most pressing issue is the principle over access to public data. By imposing these restrictions, 3rd-party developers aren't able to access this data, for whatever they'd like to use it for, as easily as they use to be able to. This is something that originally attracted people to Twitter, and is essentially how Twitter made its name (aside from the product itself).
The other issue is that people overwhelmingly feel like these changes are a direct result of Twitter deciding that they need to monetize and profit from their product. While Twitter hasn't directly come out and said this, it's pretty apparent. A lot of the complains I'm hearing are that they would be willing to pay Twitter to ensure that certain features that Twitter doesn't currently implement themselves persist. People in general don't trust Twitter to make the experience as good as some of the 3rd-party developers have because Twitter might not think it's in their best interest from a financial standpoint.
So yes, Twitter is trying to protect its reputation, as it very well should. But in trying to protect its reputation from a user experience standpoint, its also destroying its reputation as a company that works well with 3rd-party developers and allows for access to publicly available data.