Today EntityTypes require key properties, and all entity types within a type hierarchy must have the same key.
There are cases where it would be very useful to define abstract entity types without a key field, but define that they key fields must be specified before the entity type can be used in an entity set, following the exact same rules as we have defined for the new abstract base Edm.EntityType.
In particular, this would allow an organization like schema.org to define an ontology in terms of abstract entities and relationships. A service would then have the choice of directly deriving from those types, specifying the keys used by that particular service (and potentially introducing additional properties), or using those types as terms and applying the terms to their model.
I think this will be critical for organizations like schema.org to adopt odata vocabularies.