If I remember correctly the initial version allowed required fields but it caused all sorts of problems when trying to migrate protos because a new required fields breaks all consumers almost by definition. So updating protos in isolation becomes tricky.
The problem went away with all optional fields so it was decided the headache wasn't worth it.
The problem went away with all optional fields so it was decided the headache wasn't worth it.