Frequently Asked Questions
What are the differences between AEPs and AIPs?
If you are familiar with Google’s API Improvement Proposals google.aip.dev, then much of the API Enhancement Proposals content will be familiar.
However, AEPs have notable philosophical differences, including:
- AEPs prioritize broadly applicable design guidance for any company, while AIPs prioritized design guidance specifically for Google (e.g., providing backwards-compatibility with prior decisions to meet Google-specific needs).
- AEPs are protocol-agonistic and consider both gRPC and HTTP+JSON as first-class protocols for which examples and other content are necessary.
- AEPs focuses on a core specification that is not intended to be forked, paired with a mechanism for optional organization-specific guidance to extend the specification. AIPs encourage forking its guidance outright.
AEPs also have the advantage of hindsight, which makes it possible in some
cases to provide better guidance. (One small example: renaming page_size
to
max_page_size
for requests to paginated API methods.)