We need a official standard organization to standardize a lot of api, such as log api, collection api, relational databases operation api, asyc api, etc, like psr in PHP.
The standard api just provide trait, annotation, common macro and little metadata struct but not implement, the implement is done by third-part library.
The reason is:
Convenient upper library author. For example, I want to write an upper-level network library. In order to make the whole community use, I need to provide features to implement the trait of the mainstream network library. Now it is tokio, actix, async-std, and there may be more in the future. But if there are standard traits, tokio, actix, async-std to implement these traits, then my upper network library only needs to use standard traits, instead of having to adapt features separately.
Convenient to the underlying library author. Nowadays, many underlying libraries are self-contained. If they want to be easily used by the community, they must form influence and form a set of standards themselves. This is more difficult. But if there is a set of standard traits, and the library authors implement the set of standards, then the library using the standard trait can easily switch to a better underlying library without major changes.
User-friendly. First, there is an official standard, so you don't need to learn more standards for third-party libraries, which greatly reduces the cost of learning. The second is to make it easier to choose, because all upper-level libraries use a uniform official trait, so you only need to consider the performance of the third party, regardless of implementation.