Drupal is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1% of all websites worldwide ranging from personal blogs to larger corporate and political sites including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.

The standard release of Drupal, known as Drupal core, contains basic features common to most CMSs. These include user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration. The Drupal core installation can be used as a brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.

Over 5800 free (as of July 20, 2010) third-party community-contributed modules, known as contrib modules, are available to alter and extend Drupal's core capabilities and add new features or customize Drupal's behavior and appearance. Because of this plug-in extensibility and modular design, Drupal is sometimes described as a content management framework. Drupal is also described as a web application framework, as it meets the generally accepted feature requirements for such frameworks.

Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration.

Drupal runs on any computing platform that supports both a web server capable of running PHP 4.4.0+ (including Apache, IIS, Lighttpd, and nginx) and a database (such as MySQL or PostgreSQL) to store content and settings.

Drupal core includes core modules which can be enabled by the administrator to extend the functionality of the core website.

The core Drupal distribution provides a number of features, including:

  • Access statistics and logging
  • Advanced search
  • Blogs, books, comments, forums, and polls
  • Caching and feature throttling for improved performance
  • Descriptive URLs
  • Multiple-level menu system
  • Multiple-site support
  • Multiple-user content creation and editing
  • OpenID support
  • RSS Feed and Feed Aggregator
  • Security/new release update notification
  • User profiles
  • Various access control restrictions (user roles, IP addresses, email)
  • Workflow tools (Triggers and Actions)