Open source normally refers to a program in which the source code is open to the public, who can use and/or modify it from the original design for free. Programmers generally collaborate to create and improve open source code, sharing their changes within the community. Open source came about in the technology world as a response to corporate owned software.
Open source licenses are those that are in compliance with the Open Source Definition. They basically allow software to be used, modified, and shared for free. The Open Source Initiative (OSI) has a license review process that determines whether or not a license should be approved.
Below is a list from opensource.org that shows OSI-approved licenses with strong communities or popularity (as defined in the 2006 Proliferation Report):
CMS stands for Content Management System.
A CMS is software that will facilitate you to keep track of every single piece of content for your website. It includes your public library comprised of pictures, documents, PDF files, music files, video files or just about anything you can think of.
The biggest advantage of using a CMS is that you don’t require any technical skills. If you aren’t an IT professional, you can easily manage your website by yourself. A CMS is kind of a readymade suite that has all the options available. You can publish, edit and modify your site content using CMS by following a few easy steps.
CMS are designed in such a way that they facilitate developers/users to use build functionalities/plugins/extensions to create a website. Extensions are ready made packages that can be installed in the CMS for use. With the use of a CMS, a non-technical person can also easily create his or her own websites and maintain them easily. That means a CMS requires almost no technical skill or knowledge of any specific programming language.
When using open source, the source code is provided, so you can modify that according to your requirements. Most Open Source CMS are GNU General Public License (GPL), meaning you can modify them and use them but not hide or remove the original ownership and sell things using your own name. The source code of Open Source CMS is available and anyone can make enhancements in the CMS under GPL and share with the world. An Open Source CMS enables you to build websites and powerful online applications. If you are using any Open Source CMS then it is recommended that you have upgraded your CMS version to the latest version, and also installed all the security patches.
Joomla is one of the most popular Open Source CMS that is developed in PHP. Joomla enables you to build Web sites and powerful online applications. Joomla has thousands of commercial and non-commercial third party extensions/plugins and templates available. Using those, you can easily create your website in a matter of time. Currently Joomla has two different versions.
Joomla 1.5.x is already obsolete, and unfortunately there is no patch available for Joomla 1.5.x to upgrade your site to the newer version. However, there is a third party extension available that can help you in upgrading your Joomla version from 1.5 to 2.5 or 3.0. However, you can’t use this extension to complete the upgrade 100 percent, and a developer would need to do manual configuration and customization (especially for custom developed components, modules and plugins). It is always recommended that when a website is developed using Joomla, you should follow the Joomla standards, so you will not face any kind of problem while upgrading to the new version of Joomla.
Joomla is actually a portal, or community type CMS, but it can be extended beyond its original purpose.
Like any other Open Source CMS, Joomla is easy to set up. Joomla can be set up with a few clicks and your basic website structure is ready in a few minutes.
Joomla has a wide-ranging extensions library. Extensions include components, modules and plugins. These extensions help you to enhance your site content. One good thing about these extensions is that they are all open source.
If you’re running a site where a wide range of users access content, it’s important to have a way to set up dynamic user permissions. Joomla allows for up to nine different types of user permissions.
Joomla only requires a single index.php template file. If you want to override your core Joomla component or module look and feel you can simply write its file in your template in the HTML folder, and Joomla will give priority to that file. Also, you have the option to assign different templates to different pages.
Joomla has a large user base with a lively community, where tips and tricks are shared. Joomla experts are very active in solving Joomla problems. If you are facing any kind of issue with Joomla and you post your issue in the Joomla community, you will receive an answer very quickly.
If you are new to the world of Joomla you will find its Admin section a little difficult compared to WordPress. Additionally, advanced customization of Joomla will be a problem for new Joomla users. If you want specialized buttons, flash base content, etc., you will especially need the help of a Joomla specialist.
Also, when you install Joomla for your websites it comes up with additional options that might not be required for you and sometimes this confuses new users.
Joomla CMS by default supports SEO but it doesn’t come easy to the CMS Platform level. You can’t set up custom SEO links using Joomla CMS. To achieve this functionality you need to install an extension like SH404SEF. However, the SH404SEF extension will not able to translate some third party extensions. For that you either have to define custom SEF links, or you need a Joomla expert’s help to write a plugin for extensions that are not available in SH404SEF.
WordPress is one of the most famous Open Source CMS built in PHP.
It is mentioned on wordpress.org that, “WordPress is web software you can use to create a beautiful website or blog. We like to say that WordPress is both free and priceless at the same time.”
WordPress is actually a blogging tool, but it is not limited to blogging. You can do much more with WordPress after WordPress 3.0, and now WordPress is in the list of popular CMS. Using WordPress, you can develop/create e-commerce sites, social media sites, business sites and many more.
After WordPress 3.0, the multi-sites feature comes with the default installation. This really adds a “wow” factor. You can create multi-sites with little or no development experience.
Right now WordPress version 3.8 is in the market. Unlike Joomla, you can easily upgrade your WordPress version. All you need to do is click on the upgrade button and this will upgrade your website. It is always recommended that before upgrading your website, you take a backup of your website and database. WordPress is not responsible for any of your data loss due to upgrades.
WordPress is also very easy to set up. WordPress only requires basic computer and Internet knowledge to set up on your website. Most hosting companies already have an option to install WordPress through hosting cPanel.
Unlike Joomla’s admin section WordPress’ is very easy to use. Even if you are working with it for the first time, you can easily play around with WordPress. Its interface is also easy to understand. You are not required to fill your bookshelf with WordPress books.
WordPress has thousands of extensions available in the WordPress library. Installing any extension from your WordPress admin is very easy as compared to Joomla. If you have a keyword in mind, you simply need to search for it and install it directly on your website.
WordPress is very user friendly with SEO. You can index your website on Google in two days where as other CMS can take two months. Anyone can learn WordPress in a few hours. Also, you can change your SEF URLs from the admin section according to your wish.
WordPress is a great blogging system, and it is easy to set up your blog in a matter of minutes. There are a lot of free themes available in the market for WordPress. You can choose any of those themes and set up your blog with ease.
WordPress is much faster as compared to the other CMS. Also WordPress can handle tons of visitors. It can’t be broken down very easily because of heavy traffic.
Security is always a major concern in the Open Source CMS. To avoid security issues, it is good to check the security updates launched by WordPress. Whenever WordPress releases security upgrades, it alerts you on your admin section to update your website with latest the WordPress release.
Deployment of WordPress sites is not as easy as Joomla sites. The problem with WordPress sites comes if you initiate your development on your local machine/server, because when you need to deploy the website on the live server it is always hectic in WordPress. You need to manually change the links of the old server, or you need to run an SQL update command. If you don’t follow these steps, the website will be redirected to the old server, which is not good. You need to take care of this all the time, whenever you need to move your code from one domain to another. In Joomla you only have to change your configuration file.
Also, when a WordPress site is moved to the live site, you need to do widgets and other settings again on the live site. This is not good, because you have to double your efforts.
However, there are certain plugins that can help this process, for example WP Migrate DB (http://wordpress.org/plugins/wp-migrate-db/).
In WordPress you have to create different files for themes; this is not the case with Joomla. The theme structure is very redundant in different files.
In WordPress, user management is not that great when compared to Joomla. If you are running a website that has different levels of users with different permissions, then Joomla is your best bet. If you are working with a single membership type site, then WordPress will do nicely.