JsDelivr – The advanced open source public CDN
When you include 3rd-party hosted content in your program, you give those 3rd-parties:<p><pre><code>   1. Access to your users' browser details (via request headers).
   2. Access to your users' habits (via the referrer header). 
   3. The ability to replace executable code. (This code can be used to gather more data from the state of the web page (e.g. keystroke logging), or break out of the browser sandbox and compromise the whole system. Note: this only applies to JavaScript.)
   4. The ability to break your software, either intentionally or unintentionally, by not serving the resource at all. 
</code></pre>
When you host and serve your own resources, these are non-issues.<p>I think there is a sense among good-hearted programmers that "But gosh, they wouldn't do [1-3]! These CDNs are just a really nice public service by companies that care about keeping the web community healthy and fast. And besides, if they ever abused their access to user data, there would be hell to pay!"<p>Unfortunately this blasé attitude about user privacy on the part of programmers is why we have such a rough time with privacy in general these days. I believe that if you're a programmer with any interest at all in protecting your users from bad actors, that you'll do your best to avoid using 3rd party hosts, <i>especially</i> for executable code.