We Scala people have gotten a lot of mileage out of pre-existing scaffolding we've inherited from the JVM ecosystem, as well as newer pieces that grew up independently of Scala:
- Both Maven and SBT make it really easy to add third-party package repositories. Whether this is a good thing or not, this somewhat obviates the need for a centrally managed package registry.
- Many organizations run an internal "repository of repositories", such as Artifactory or Sonatype Nexus (which is the product that backs the OSS Sonatype repository). Such installations decouple management of package repositories from projects that use such repositories, which even further removes the need for a central authority.
- SBT can pull in packages directly from GitHub or any other Git-accessible repo. While this isn't used much, I suspect that in many ad-hoc setups (such as my personal projects) there's a lot to be gained from not having to bother with "properly" publishing packages that are not meant to be published.
- It is also incredibly easy to publish artifacts of Scala projects to Amazon S3, Bintray, even GitHub pages. There's a lot to be said about self-managing a small piece of infrastructure as opposed to handing over control to some other, possibly disinterested central authority.
I'm sure that not everyone will agree with all of the above, yet combinations of the above approaches all exist in the wild, making centralization less desirable and/or necessary.
This sounds little odd. Has there similar efforts for other languages?