Read first: 2 years ago I gave up on Silverlight.
I read inexperience into that post.
It’s very difficult to build a big platform and maintain all of the functions over time. Subtle changes to core logic, or derived classes can blow a framework out of the water. I’m of the “seal by default” mindset (although I didn’t get brainwashed by working at Microsoft). Every time you allow someone to inherit or derive, you’ve taken on an additional burden of support. Did you imagine all of the scenarios that would be used by the consumers? Doubt it. Did you imagine that they’d call function X, then Y, and overload Z? Doubt it. Wait for real-world feedback, then decide what’s right. It makes early adopters suffer a bit more, but the long term adopters will thank you for a stable consistent platform.
Interesting is the number of Microsoft responses, including ScottGu (they do actually use the Internet folks!)
What do you think? To seal or not to seal? That is the question (methods/classes/etc.)