Right now AMP is under heavy development and lots of changes are being made very quickly. That mandatory script loads other resources from the same domain on an as-needed basis, which is a crucial aspect of how AMP is designed to work. I don't know if the v1 release will include a distribution package for self-hosting, but it's not too much of a stretch to believe they've decided to go with a central CDN just to simplify development for the early stages of the project.
At any rate, this is no worse in principle than the Google Analytics scripts everybody includes on every page everywhere, so it's mostly just a bunch of FUD.
Want to embed content from another site? Great! You can choose from <amp-twitter>, <amp-facebook>, <amp-instagram>, <amp-pinterest>, or <amp-youtube>.
Building an advertising startup? Hooray! I hope you're one of the dozen whitelisted ad networks that <amp-ad> allows.
In Russia or China? Maybe Google will deign to implement <amp-vk> and <amp-sinaweibo> if we're sufficiently humble.
This is not the Web I want.
And please, please tell me what's wrong with using e.g. <amp-youtube>? It's just a web component! All it does is what you want it to do, and if it doesn't do what you want then either you shouldn't do that, or you can just submit a PR.
The whole point of AMP is 1) make sure the developer doesn't do anything that'll make the page load unnecessarily slowly or repaint/relayout unnecessarily and 2) make it way easier for the developer to accomplish #1 because all you have to do is type <amp-youtube>.
AMP is no different from, say, jQuery, or React, or Angular. It's a different way of doing things, but it's not a "gatekeeper" on the web. It's just another option, one more tool in your belt, if you so choose.
Who gets to decide which pull requests get accepted? What if I wanted to create an amp component for my network with a userbase of two people?
See https://medium.com/@cramforce/2016-will-be-the-year-of-concu... for the long game as to how to build such things in AMP without iframes.
The project is exclusively governed by three Google employees, listed at https://github.com/ampproject/amphtml/blob/master/GOVERNANCE..., all contributions are at their discretion.
All contributors must sign a legally binding licensing agreement with Google which includes a patent grant, per https://github.com/ampproject/amphtml/blob/master/CONTRIBUTI....
The Web is powerful because you don't have to ask permission. AMP is not cut from that cloth.
And CLA's aren't fun, but they're hardly new, either.[1]
If you don't like that it's Google, that's fine, but at least be honest with yourself about it. But unless you've submitted a PR or can cite a PR (on any Google OSS repo at all) that they've rejected purely on the basis that Google is somehow doing wrong by the developers, then what are we even talking about?
[1] https://en.wikipedia.org/wiki/Contributor_License_Agreement#...
Right. Looking at this whole thing humorously, it seems like the uproar is over AMP is developers getting angry at a tool designed to prevent them from shooting themselves in the foot, for removing their ability to shoot themselves in the foot :)
http://wiki.cyanogenmod.org/w/Devices
Open source means there's no such thing as a "Gatekeeper". As with every other open source project ever, you can just fork it. How many open source projects today are forked from their original repo because a large enough portion of the users and developers disagreed with the ones in control?
Honestly, this argument is just silly. https://developers.google.com/open-source/projects read that list and name one time where Google abused the control they had over the project they created. They already have a good track record for open source. This "gatekeeper" nonsense is just a bunch of unnecessary FUD.
And wait for google to accept it at their own discretion. That's exactly what a gatekeeper is.
This is a rather blind comment. Not everyone uses Google Analytics and those that do have actively chosen to do so. Plus, Google Analytics is inherently tied to Google services so there are no privacy or control issues.
AMP seems to be intended more as an open toolkit more akin to Bootstrap or jQuery. Requiring that AMP's scripts be loaded from a Google CDN is like saying you can't load jQuery or Bootstrap from anywhere but their CDNs. Some developers want to strictly control where their code is hosted for various reasons and Google isn't allowing them to do that.
Some developers also want to control who can and can't log their visitors. Google isn't allowing them to do that in this case. Anything that loads that script can be logged by Google.
Certainly not FUD.
When one company such as Facebook decides to launch a very privacy-intrusive service, people are like "Oh, no! We must support Google's very privacy intrusive-service so Facebook doesn't win!" - just like people saying "we must not let the pro-corporate Republicans win, so we must support the pro-corporate Democrats".
It's such a race to the bottom. How about we reject both? (in both cases).
The nice thing about a project like AMP is that it's a slow-moving target & all AMP pages fetch from the same URLs. That makes it easy for a tool like Decentraleyes to cache all of the AMP assets, resulting in even more speed & a privacy benefit.