Open Source Software CDN(osscdn.com)
osscdn.com
Open Source Software CDN
http://osscdn.com/
4 comments
Cloudflare's cdnjs already exists, and allows people to contribute anything they like to it by making a pull request against https://github.com/cdnjs/cdnjs. Why would you choose to use this instead?
* 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_...
* Monoculture is bad
* http://en.wikipedia.org/wiki/Common_cause_and_special_cause_...
With 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.
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.
You might want to see 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
There's also a very cool public CDN API https://github.com/jsdelivr/api
CDNJS does not belong to Cloudflare, they are simply a sponsor. IMO there's no reason to use CDNJS if one can use jsDelivr which offers a multi-CDN approach and real-time routing decisions with Cedexis.
Are they affiliated with the Open Source Initiative? If not, why are they using the OSI logo?
@geraldcombs not yet. I have reached out and waiting for a response.
And let's not forget, OSI != open source, despite the OSI's numerous attempts to be the ones defining what open source means. Open source is a superset of what OSI asserts. SQLite, for example, is very definitely open source, but not under an OSI-approved license. Likewise, any code released under Creative Commons licenses.
http://www.jsdelivr.com - uses multiple CDNs, including MaxCDN (which this appears to solely use)
It's funny how maxcdn.com loads stuff from cloudfront and rackcdn (according to NoScript).