Why don't more companies publish either a specification for their API or an API client on a website like GitHub?
For small shops with a few engineers, this makes sense, but for companies that we're paying > $100,000/yr. for access to their APIs, it seems like they should also provide an API client for interacting with it - or at the very least, API documentation.
What are the main barriers preventing more companies from releasing either a specification for their APIs or an API client?
Are APIs easier to reverse engineer these days, and therefore it's not really necessary to release a client or specification?
On the other hand, maybe writing a full-fledged API client is an anti-pattern, since callers could simply implement the functionality that they need rather than implementing all of the functionality that they think that they MIGHT need while still reverse engineering the API?