Fair observations, but there is one significant aspect that SharePoint injects into this discussion that can’t be overlooked: SharePoint started without much in the way of allowing developers to customize the product (WSS 2.0 / SPS2003), then it not only provided a way (WSS 3.0 / MOSS 2007) but it embraced and Microsoft evangelized this approach heavily… and customers embraced this message and dove in. Now we’re at a point where developers are used to extending it however they see fit but instead, the SharePoint engineering team wants to have a bit more control around that process.
Totally makes sense from Microsoft’s POV, but trying to get the horses back in the stable is not a trivial task. Many developers years ago started to see the writing on the wall of where Redmond wanted to take the product and started leaving SharePoint as a “development platform”... IMHO, SharePoint is not a platform, it’s a SaaS. As a developer, treating a SaaS as a platform is very risky. Developers should instead focus on building on top of PaaS, IaaS or host their own things. Treat SharePoint as a service, not as a platform. Maybe it provides options to place your widgets that allow you to extend your existing stuff.
Works for me… as a developer I’d rather have that level of isolation. It frees up the development choices and insulates you [mostly] from the changes / improvements the provider of the SaaS wants to implement. Sounds familiar :) http://www.andrewconnell.com/blog/developers-sharepoint-isn%E2%80%99t-a-platform-sharepoint-is-a-service