There is no incentive as a library author to publish a 1.0 crate. When you publish 1.0, people expect you to start mangling your code to maintain backward compatibility. Yet, there’s no benefit to the library author for doing that extra work. Thus, publishing a 1.0 crate is a non-starter for the library authors.
There’s more to it than just the version numbers, though they’re important. Rust also needs a shared vocabulary. We’re seeing issues where there are lots of ways to do something. While this is great in a way because there’s a lot of choice, it’s also is a drag on developer time trying to find the right one.
Could you point to some study, even an informal one, that shows this is true? In my experience, it isn’t a significant timesink.
For example, by having an established set of traits and capabilities we build networking on, we can build even more sophisticated networking functionality on top it because we know it’s stable and supported. Of course, replace “networking” with a variety of common programming tasks.
Conversely, I’m looking forward to people building new replacements (perhaps the same crates refactored, perhaps new crates) for almost all the currently-commonly-used networking libraries. The current generation is useful, but I think there are significant improvements that can be made.
With that shared vocabulary, we can do things like write guides and tutorials that assume these features are available. This lets us make much better starting examples help users quickly solve real problems. This saves them time and gains the community another Rust developer in the process.
We don’t need the Rust teams to spend time on that. The early adopters of the various libraries do this and will do this. This is relatively easy to do and is a good way to start contributing to the Rust community. Conversely, it’s much harder for a newcomer to add alignas to Rust or add 64bit * 64bit -> 128bit multiplication intrinsics to Rust or do other things that the Rust teams are really better suited at doing.
give crates a reason to hit 1.0
To the extent that this gives crates an incentive to publish 1.0, it seems coercive (no doubt unintentionally) and not in the best interests of the library maker. It would be better to find incentives that actually benefit the library makers (e.g. money).