Comments by "p11" (@porky1118) on "0 Days Since Rust Drama" video.
-
16:40 Rust is also pretty authoritarian. You /could/ use a fork of Serde, but then YOUR serde types are not compatible with the serde types of the other library.
You really have to decide. Do you want your own system, or do you want to use the system everyone else uses.
You could also fork every lib you use and make them use your serde fork.
It's mostly because of the orphan rules. I love them, but sometimes I hate them.
I guess, that's the main reason why people coordinate to use the same crates.
In most languages you would just implement serde for all the types you import, if they don't already implement them.
In Rust, it's pretty annoying, so you'd rather demand everyone to use the serialization library you use for your crate.
That forces everyone to use the same library. If you don't use it, you are excluded by parts of the ecosystem. And I consider that some kind of authoritarianism.
It might be effective to coordinate on some specific systems, but it takes away some of your freedom.
You either have to obey, or you have to do your own thing almost completely.
You can't just implement your serde fork for each type form other libraries.
You /could/ do it if you derive every library you use inside your serde fork itself, but that's far from scalable. You're never done.
9
-
2