Joomla is a free and open source content management system for publishing web content. It is built on a model-view-controller web application framework which can be used independently of the CMS. Joomla is written in PHP, uses OOP techniques and software design patterns, stores the data in a MySQL, MS SQL or PostgreSQL database and includes features like page caching, RSS feeds, news flashes, blogs and support for language internationalization.
As of November 2016, Joomla has be downloaded over 78 million times. There are over 7,800 free commercial extensions available from the Joomla extension directory. After WordPress, Joomla is the most used content CMS on the net.
Joomla was the result of a fork of Mambo on August 17, 2005. During those days, the name Mambo was a trade mark of Miro Intl. Pvt. Ltd who formed a non-profit foundation with the sole purpose of funding the project and protecting it from law suits. The Joomla development team claimed that many of the provisions of the foundation structure violated previous agreements made by the elected Mambo Committee, lacked the necessary consultation with stakeholders and included provisions that violated core open source values.
Joomla developers created a website known as “OpenSourceMatters.org” (OSM) to distribute information to the software community as a whole. The project leader Eddie wrote a letter that appeared on the announcements section of the public forum at mamboserver.com. Over thousand people joined OSM in a day. The website received Slashdot effect as a result. Miro CEO responded publicly to the development team in an article titled “the Mambo Open Source Controversy- 20 questions with Miro”. This response by the Miro CEO, created a controversy within the FSF about the definition of Open source. The forums of other open source projects were filled with postings about the actions of both sides.
The following 2 weeks of Eddie’s announcement, teams were organized and the community continued to grow. Moglen and the Software Freedom Law Centre (SFLC) assisted the Joomla core team starting in August 2005. The SFLC continue to provide legal guidance to the Joomla project.
On August 18th, Eddie called for community to suggest a name for the project. The core team reserved the right for the final naming decision, and chose a name not suggested by the community. Then the name Joomla was announced on September 22, meaning “all together” or “as a whole” in Amharic, Arabic and Urdu. On September 26th, the dev team called for logo submissions from the community and invited the community to vote on the logo. On October 2nd, brand guidelines, a brand manual and a set of logo resources were published.
Like most of the other web apps, Joomla runs on a LAMP stack. Many web hosts have control panels for automatic installation of Joomla. On windows, Joomla can be installed by using the Microsoft Web Platform installer, which automatically detects and installs dependencies like PHP or MySQL.
Joomla uses a configuration file (congiguration.php, usually present in the root of the Joomla! Installation) in order to control various settings (but not limited to) database connection settings. The migration from one server to another is very simple because of the use of the configuration file.