3 ms·
* They aren't charging anyone for this, you're free to use it and it's free to not * Monoculture is bad * http://en.wikipedia.org/wiki/Common_cause_and_specia
by kev009 12y ago
* They aren't charging anyone for this, you're free to use it and it's free to not
* Monoculture is bad
* http://en.wikipedia.org/wiki/Common_cause_and_special_cause_%28statistics%29#Common_mode_failure_in_engineering http://en.wikipedia.org/wiki/Common_cause_and_special_cause_...
- derefr 12y agoWith this theoretically market-competition-based model, a library author has to find out about every new public CDN people are using, and then, whenever they release an update, push it out to all those CDNs. And, since most library authors won't bother to do this, you'll get old versions of libraries (or missing libraries altogether, or unofficial mirrors with possible modifications) on the CDNs the library-author hasn't bothered to consider. The CDNs have no monetary incentive to pull the latest versions of libraries, either, because if they don't have the latest, people won't know any better and will still use the old version anyway. It's a market for lemons. Ideally, given the way CDNs work, every CDN would have the latest version of everything you could want. The best way[1] to do that, I would think, would be to have a single repo with an open-contribution model to take on as many libraries as possible (like cdnjs is already doing), and then to mirror the resulting library-set on every CDN. This way, a library-author could push an update to this single repo as part of their release, and it would be immediately reflected across the Internet. --- [1] Okay, the actual best way would be for browsers to request resources from a set of known arbitrary CDN peer-nodes using content-hash URNs, and for the CDN-nodes to present themselves as something like a Fossil server, while pulling from their own peers in a DHT-like arrangement on cache failure. Sort of like Freenet, but without the secrecy.
- jmartily 12y agoYou might want to see https://github.com/jsdelivr/libgrabber; https://github.com/jsdelivr/libgrabber; it's a cool tool jsDelivr folks are building to keep their repo automatically updated. Sure, there's no monetary incentive but those guys are genuinely passionate about making the web faster and better for all. There's also a very cool public CDN API https://github.com/jsdelivr/api https://github.com/jsdelivr/api