CMS Vs Framework? Is Drupal A CMS, Framework, or CMF (Content Management Framework)? After Reading a Blog post: http://www.palantir.net/blog/drupal-not-cms  It made me curious about the current classification as CMS Vs Framework.   

Please use Facts, where possible to justify your response. 

CMS

A Content Management System (CMS)is a computer program that allows publishing, editing and modifying content as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMSs have been available since the late 1990s.
CMSs are often used to run websites containing blogs, news, and shopping. Many corporate and marketing websites use CMSs. CMSs typically aim to avoid the need for hand coding, but may support it for specific elements or entire pages. Source: http://en.wikipedia.org/wiki/Content_management_system

Web Application Framework: 

A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications, web services and web resources. The framework aims to alleviate the overhead associated with common activities performed in web development. For example, many frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.

Source: http://en.wikipedia.org/wiki/Web_application_framework

If you would not consider Drupal 7 a Framework, do you think Drupal 8 would be?
Drupal is Content Management Framework (for Developers) as well as Content Management System (for Non-Programmers).

Drupal is a highly configurable open source and an application development framework providing the following features:


Drupal provides the structure for Web applications which is far more complex than a CMS such as: 

Extend the functionality (using contributed or custom code). 
Communicate with other Web applications. 
Run applications written in PHP and other languages behind the scenes.
Provide responsive pages or integrate front-end languages.
Scale to handle large traffic numbers by making use of server technologies and provide the foundation for other as yet unthought of innovations.

Drupal is one of the most highly extensible frameworks available, and has the built-in ability to grow with your organization. Drupal was built from the ground up with a uniquely sophisticated granular level control system that provides unparalleled extensibility. With its vast feature-rich capabilities and growing community you’ll never outgrow Drupal.
Pre-made functionality in Drupal can be overridden through hooks, or you can find workarounds that Do Not require modifying other modules.
Drupal maintains a vigilant security community, providing security release updates on an ongoing basis to achieve maximum site security, which is one of the reasons even the U.S. Government and governments around the world use Drupal.
Drupal's modular architecture allows complex solutions to be "assembled" quickly and reliably. Over Fifteen thousand modules are available for Drupal.




CMS (Content Management System) features of Drupal:


Drupal comes with many tools to help you organize, structure, find and re-use your content. Categorize with taxonomy, automatically create friendly path urls, create custom lists, associate content with other content on your site, and create smart defaults for content creators.
Manage content with an easy-to-use web interface. Drupal's flexibility handles countless content types including video, text, blog, podcasts, and polls with robust user management, menu handling, real-time statistics and optional revision control.
Drupal comes with great options for new user accounts and user permissions. Users can be assigned one or more roles, and each role can be set up with fine-grained permissions allowing users view and create only what the administrator permits. The Drupal 7 admin theme makes administering a site easier than ever.
Drupal's focus on social publishing can help you create sites and applications to help your users express their opinions and engage with one another. You can have tight control over who can create, view, administer, publish and otherwise interact with content on your site.
Drupal's presentation layer allows designers to create highly usable, interactive experiences that engage users and increase traffic. Use an existing Drupal theme for your site, giving it an instant identity! If you can't find one you like, try designing your own which others can use, too.