This is the introductory text to the CMS Gardener's Guide. If you are not sure about open source software or content management systems in general, read this.
We can all dream of a better world; what would it be like if all software tools were free to all people and everyone saw their knowledge passed on and developed into the future? What if everyone, regardless of education, could acquire the skills needed to develop software by teaching themselves? This is the vision of free software.
Open Source is a more objective approach: Rather than being all about ethics and vision, it is more about practical value. Open Source was initially about the fact that the source code was publicly available and that everyone publishing it or creating derivative products had to adhere to certain rules. This code would be given a common license (see below), which would set rules dictating exactly what could be done with the code. In contrast to this, the licenses which govern proprietary software make the source code private and reserve the right to develop the product to the manufacturer. So when it comes to trouble-shooting, development and usage of new web-technologies the user is bound to the manufacturer. The same is true for exporting the contents created using proprietary tools. If in the future the user decides to use a different software application it will only be possible to export the saved data if the software manufacturer allows the data to be saved in a format that can be read by other software.
Here we see the main benefits of open source; if data is stored in a format that everybody with the relevant understanding of the respective programming or scripting language can use, the data can be exported and republished in any form. Down to this already being possible such solutions are already available and accessible to all.
Another advantage of Open Source is that the instructions for maintenance are freely available. Basically an open source user has the ability to maintain and service their own website independently, without the help of the service provider. Given that not everyone is willing to deal with programming or system administration, the question is, who is responsible for the security and expansion of the software, e. g. the content management system? This is where we arrive at the main argument for Open Source, the community! Community in this sense meaning a loose cooperation between developers. The cooperation is possible because the developers are all using the same platform to exchange ideas, test and share developments. Individuals can report errors with exact descriptions of their occurrence, verify code and fix bugs, while others write manuals or make tutorials and screen casts to help beginners get started.
It is the feeling of working in a large team that is together and democratically moving forward with the development of a product that is a big motivation for people working on Open Source projects. There are many who do this in their spare time but the most do this as their profession as well. Developers can be hired both as freelancers and via the companies who employ them. They install the desired CMS, deal with the customers wishes, research possible improvements, develop bespoke solutions and undertake regular maintenance and design changes. If you as a customer are not happy with the service, you can simply switch to another service provider.
How would the warranty work? Can you hold the service provider accountable for errors in the software? Usually not, since the code is not all their own. That‘s the bad news, the good news is that Open Source projects allow access to developer communities - some of them with hundreds or even thousands of contributors - and therefore makes fixing bugs very fast.
Content management system (CMS)
As an abstract of our topic: a CMS is a system for structuring and editing contents. It is most frequently used for web sites but can also be utilized for internal affairs of a company, e. g. for instruction manuals or work flow descriptions on the intranet. In a CMS, you can manage access privileges for contents: who is allowed to log in for administration tasks, who is allowed to edit or even delete contents? CMS can not only manage text contents, but also images, audio-visual media (e. g. video files) or PDF documents. The most common systems either provide lots of functions or expansions for special requirements - in different systems, these expansions are known, for instance, as plug-ins, modules, or extensions. They provide features like slideshows, sending newsletters, or creating a survey. The possibilities on offer are endless but not every CMS solution will be appropriate for every project. Anybody who is interested in incorporating a CMS must first write a detailed list of their requirements so that the CMS can be tailored around their individual needs.
Under certain conditions only - as mentioned above, customers will probably hire a service provider who will configure they system according to their needs. And if something should not work as planned, the service provider will also bill the client for the necessary adjustments. But there is some competition between different service providers. And in any case there are no license fees. Open Source only costs money when an individual service or bespoke module or plugin is provided, regardless of how many domains the system uses.
Open source licenses
Open Source licenses govern copyright terms as well as the rights to use the software and thus define what a user can do with the software (use, modification, disclosure). What all the licenses have in common is that users can use the software for any purpose and can pass on access to the software to others. Users will also have access to the source code, enabling them to figure out the software‘s architecture, to modify and to improve it.
In essence, the licenses only differ in the interpretation of so-called „Copyleft“. Copyleft stipulates that software edits are permitted only on the condition that all changes and developments are conducted under the same license terms. Over the years, different varieties of copyleft have emerged. A strict Copyleft license might prohibit the linking between open source and proprietary software. In contrast a license with a not so strict Copyleft might allow a link between Open Source and proprietary software, or even to pass on extensions of that open source software as proprietary software. Licenses that do not include a copyleft have no guidelines.
License with a strict copyleft:
- GPL (GNU General Public License)
Licenses with a weaker copyleft:
- LGPL (GNU Lesser General Public License),
- MPL (Mozilla Public License)
Licenses without copyleft:
- BSD (Berkeley Software Distribution),
- MIT (Massachusetts Institute of Technology)