Open Source in the e-commerce

extendedLogo

When the term Open Source is mentioned, developers' hearts often beat faster. The concept of Open Source promises great creative opportunities and a lot of freedom on the code level.

In this article we show what is behind the concept of Open Source solutions and what advantages their use in e-commerce hosting brings. In addition, we explain why we at maxcluster consciously rely on the use of open source.

What does Open Source mean?

In its original definition, Open Source refers to software whose source code is publicly accessible to third parties. This source code can then either be used in unchanged form or modified and adapted to individual requirements. In most cases, Open Source Software (OSS for short) is made available by the respective developers for free use. However, the commercial distribution of such software does not contradict the open source principle either, as long as the complete source code is made available.

In the meantime, the term also encompasses broader definitions in the context of information and knowledge, as the Open Source Movement has also inspired other areas to implement the principle. This is how, for example, the definitions of Open Content or Open Source Hardware came into being. For the purposes of this article, however, we will confine ourselves exclusively to the original definition of Open Source.

Various definitions of open sourceVarious definitions of Open Source I Source: Wikipedia (Johannes Spielhagen)

The reasons for making software source code publicly available can be very complex. On the one hand, charitable motives play a role, on the other hand, companies active in software development also consciously rely on open source in order to benefit from the exchange of knowledge with the developer community. Over time, entirely new production models have emerged that are based on a decentralised way of working and the active support of the community.

Many Open Source projects are made available on platforms such as GitHub or GitLab for free collaboration. In this way, the projects gain a multi-perspective dynamic that also includes the search for new and more unconventional ways of solving problems. This creates an immediate synergy between the initiator of the project and the developers and companies involved, who actively drive the project forward together.

Since in most cases a large number of actors participate in such a software project and carry out mutual quality controls, open source software is also usually more stable and secure than proprietary software.

How did Open Source come about?

The principle of open source is directly related to the history of the internet. However, its roots also lie in other social movements that emerged in the 1960s, 1970s and 1980s.

DIY Movement

An intellectual precursor of open source is the so-called DIY movement. "Do It Yourself" is nowadays often associated with DIY activities and creative self-expression. In the 1960s and 1970s, however, this movement was initially characterised by values such as self-determination, initiative, but also emancipation and distrust of institutional authorities and the economy.

Hacker Movement

The Hacker Movement also had a significant influence on the concept of open source. In today's media reporting and reception, the term "hacker" has negative connotations in most cases. However, in the context of the Hacker Movement, which coined the term from the 1960s onwards, hacker stands for someone who has a devotion to technology and develops it with creative enthusiasm and innovative approaches.

Free Software Movement

The philosophy of the Free Software Movement, which still exists today and follows a similar approach to the Open Source Movement, is to make software equally accessible to all people and to break down barriers to collaboration. The term "free" in this context stands for the absolute freedom of the user in dealing with and (further) developing the respective software. This definition does not contradict a commercial distribution of the software as long as the source code remains fully available. The use of proprietary software is fundamentally rejected by the Free Software Movement because it restricts the end user's control over the software.

With the GNU project, another milestone was set in 1983 for the emergence of the Open Source Movement. Among other things, the GNU General Public License (GNU GPL for short), which allows software to be used, modified and distributed, set the trend for this project. This licence, also known as "copyleft", ensures that modified versions of the original versions also remain free and are published under the same licence.

Open Source Movement and Open Source Initiative

The triggering event for the emergence of the open source movement was the news that the financially stricken software provider Netscape was making its web browser "Netscape Navigator" freely available. This event later gave rise to the Mozilla project.

The principles of open source were anchored in the Open Source Initiative (OSI for short) founded in 1998 by Eric S. Raymond and Bruce Perens. However, the definitions of Open Source and Free Software are essentially the same.

FLOSS/FOSS.

There are few distinguishing features between the concepts of Open Source Software and Free Software, which are mainly philosophical. The projects that fall under one of these definitions are therefore usually also compatible with the other. This is why these projects are usually also referred to as FLOSS or FOSS (Free/Libre Open Source Software or Free and Open Source Software).

Open Source Initiative logoOpen Source Initiative logo I Source: Open Source Initiative

The term Open Source represents an alternative draft to the term Free Software. It should be perceived as more business-friendly and free of ideological values, especially from a marketing perspective, in order to be more competitive with proprietary software. Thus, Open Source is understood as a more pragmatic approach that emphasises the advantages of the development model itself, but not the freedom of the user. Therefore, the concept of open source is criticised by some representatives of the Free Software Movement and described as misleading.

The Open Source Initiative also provides guidelines that a licence for Open Source Software must cover. These include that the software must be freely available and modifiable and must include an authorisation to pass it on to third parties. In detail, a further distinction is made between "non-permissive" and "permissive" Open Source licences.

Non-permissive licences, which include the GNU General Public License mentioned above, usually contain a copyleft clause. This ensures that future modifications of the software remain under a compatible licence in order to guarantee the freedom of end users. In contrast, permissive licences, also called permissive licences, grant greater freedom with regard to the further development of OSS. Thus, modifications of the original software can also be placed under proprietary licences. Examples of permissive licences include the widely used BSD licences (Berkeley Software Distribution License), the MIT licence or also the Apache License.

Economic popularity

Nowadays, many companies, organisations and individuals advocate the use of Open Source Software. In 2019, Bitkom surveyed a total of 804 German companies with a size of at least 100 employees on the use of Open Source. The results of the survey were summarised in the "Open Source Monitor". The study shows that around three quarters of the companies surveyed are very open to Open Source Software. After all, about 70 per cent of the study participants use OSS consciously and about 7 per cent are actively involved in the further development of OSS projects.

Use of OSS in German companies with 100 or more employees (n=804)Use of OSS in German companies with 100 or more employees (n=804) I Source: Bitkom

Open Source is thus also a long-established strategic tool in the German economy, used as a driver for software innovation, future viability and new forms of collaboration.

Advantages and disadvantages of Open Source

Anyone thinking about using or introducing OSS should first take a look at the advantages and disadvantages.

Advantages of Open Source

Those who decide to use OSS or to actively participate in the development of it benefit above all from the aspects that the use of proprietary software does not offer. As a rule, Open Source Software does not cause any external costs, as neither purchase nor licence fees are incurred. This means that there is normally no dependency on the software provider.

The greatest advantage of OSS, however, is that it offers maximum flexibility in design possibilities due to the Open Source code. Individual changes can be made to optimally adapt the software to the needs and work processes of the user. In this way, compatibility can also be established between the software and other tools.

Those who also participate in the further development of OSS can also benefit from the transfer of knowledge within the community. A large number of people and institutions are often involved in the development. For this reason, OSS is often said to have better stability and a higher security factor. Open Source Software is provided with updates from the community at regular intervals and bug fixes are usually made relatively soon after the occurrence of errors. In addition, the development history of most OSS projects can be openly viewed.

Disadvantages of Open Source

In contrast to proprietary software, where long-term support is usually guaranteed by the provider, the support cycles of OSS are in many cases significantly shorter. Consequently, users have to update the respective software more frequently to the latest version so that it continues to be provided with security updates.

Open Source Software offers great flexibility and can be adapted to individual needs. For successful use, however, a company must have specialists with the necessary skills or cooperate with a competent technical partner. If the relevant know-how is not available, this can lead to problems even during the introduction of the software. The respective documentation is often only superficial and the correct configuration, individual adjustments or the elimination of problems usually require expert knowledge.

Open Source in the e-commerce hosting

Open Source is also not a foreign word in the context of e-commerce and hosting. Quite the opposite, because OSS is hidden behind many applications such as web servers, databases, search engines or shop systems. Therefore, we provide an overview of widely used OSS solutions and their respective areas of application:

Operating systems

Linux

Linux is a kernel for operating systems developed by Linus Torvalds. Since 1992, Linux has been available under the free licence GNU GPL. Linux or GNU/Linux is also a collective term for various distributions of Unix-like operating systems based on the Linux kernel in combination with GNU software. Torvalds is still working on the further development of the kernel and is also a committed representative of the open source community.

Debian

Debian is a distribution that emerged from Linux. The Debian project was initiated by Ian Murdock in 1993 and today has a community of over 1,000 active developers. Debian is currently available in version 11 "Bullseye". The DFSG (Debian Free Software Guidelines), which are largely identical to the open source definition, ensure that the individual software components of the Debian distribution are available under free software licences.

Ubuntu

The best-known Linux distribution that is largely based on Debian is Ubuntu. Ubuntu was first released in 2004 and is now available in version 21.10 under various Open Source licences (including GNU GPL). New Ubuntu versions are released every six months. Continuous further development is carried out by the Canonical Foundation and the Ubuntu community.

Web server

Apache

The Apache HTTP Server is one of the most widely used web servers on the Internet and can be used largely independently of the operating system used. It is the founding project of the Apache Software Foundation and was published in 1995 by a team of eight developers. The Apache HTTP Server is open source and is available under the free "Apache Licence Version 2.0". Currently, the web server is available in version 2.4.

Nginx

Nginx is another popular HTTP web server that is available under the free BSD licence. It was developed in 2004 by Igor Sysoev and is mainly used on websites with high traffic. Since Nginx is modular, it can also be used as a reverse proxy, load balancer or FastCGI, for example. The web server is currently available in version 1.21.3 and is compatible with Microsoft Windows or Unix-like operating systems such as Linux.

Databases

MySQL

MySQL is a globally widespread relational database management system and was developed in 1994 by the Swedish company MySQL AB. Since 2010, the software has been part of the Oracle Corporation portfolio. MySQL is available as an OSS under the GNU GPL licence. In addition, MySQL is also available as an enterprise version, which is under a proprietary licence. The system is often used in conjunction with web servers such as Apache or Nginx and the scripting language PHP and is also compatible with many Unix variants, macOS, Windows and Linux.

MariaDB

MariaDB is also a relational database management system that emerged as a fork from MySQL in 2009. In the meantime, some large users have replaced MySQL as the standard pre-installed database management system with MariaDB. These include, for example, the Linux distributions Debian (from version 9.0) and Ubuntu (from version 14.04). The latest version of MariaDB is version 10.6.4. Older versions are still supported retroactively up to version 10.2.

MongoDB

In contrast to MySQL and MariaDB, MongoDB is a document-oriented NoSQL database that is compatible with Linux, Microsoft Windows and macOS. As a non-relational database management system, MongoDB is consequently not based on the SQL language and is not fixed to a table format in the structure of a database entry, as is usual with SQL databases. MongoDB was released as OSS by MongoDB, Inc. in 2009. Since 2018, however, the software has only been offered proprietarily under the "Server Side Public License".

Redis

Redis is an in-memory database that belongs to the NoSQL database group. Redis was developed by Salvatore Sanfilippo. The core component of the software has been available since 2010 under the Open Source licence "3-clause BSD", further Redis modules are offered under proprietary licences. With regard to the storage of sessions or the application cache, Redis offers great performance potential for online shops. You can find out more about Redis and the various deployment and configuration options in a five-part series of articles on our blog.

Programming languages

PHP

PHP is a popular and widely used open source scripting language developed by Rasmus Lerdorf in 1995 and distributed under the PHP licence. PHP code is suitable for programming web applications and has the advantage that it can be easily embedded in HTML on the server side. PHP is compatible with common operating systems such as Linux, Microsoft Windows or MacOS and supports web servers such as Apache or Nginx. Currently, PHP is available in version 8.0. The new version PHP 8.1 will be released on 25.11.2021.

Security for older PHP versions.

PHP is a good example of the security that Open Source projects can bring. Although PHP 7.3 and previous versions are "End Of Life" and officially no longer supported, another vendor continues to provide these PHP versions with security updates because of the Open Source code.

JavaScript

The JavaScript scripting language was developed in 1995 by Brendan Eich and Netscape and is available as OSS under the BSD licence. The original reason for its development was to map dynamic HTML in web browsers, thus extending the functionality of HTML and CSS. In the meantime, however, the script language is also used on servers and in microcontrollers, for example. The many possible uses of JavaScript include, for example, the dynamic modification of websites via Document Object Model (DOM) or the reloading of files without the web browser having to reload completely (Ajax).

Programme libraries and search engines

Apache Lucene

Apache Lucene is a programme library for full-text search that has been part of the Apache Software Foundation's portfolio since 2005. Apache Lucene is licensed under the free Apache licence and is compatible with almost all common operating systems. In June 2021, the application was released in the currently most current version 8.9.0. In addition, various other distributions emerged from it.

Elasticsearch

The search engine Elasticsearch is based on Apache Lucene and was published by the company Elastic in 2010. If you want to learn more about Elasticsearch, you can find all the details you need to know in a stand-alone blog post. The software's kernel was available under the Apache License 2.0 Open Source licence until early 2021. In January 2021, Elastic re-licensed the code of Elasticsearch, so that since then the software has only been available proprietarily under the Server Side Public License and the Elastic License.

OpenSearch

The search and analytics suite OpenSearch emerged as a fork from Elasticsearch 7.10 in 2021. Amazon AWS initiated the OpenSearch project shortly after Elasticsearch's licence change was announced to preserve the freedom and flexibility of the full-text search engine under the Apache License 2.0. The product is actively developed by over 80 contributors and is currently offered in version 2.0 (as of June 2022). Further versions have already been announced on OpenSearch's Product Roadmap.

Solr

Like Elasticsearch, the Solr search engine is based on Apache Lucene. It was developed by CNET Networks in 2004 and transferred to the Apache Software Foundation portfolio as OSS in 2006. Since then, Solr has been available under the free Apache 2.0 licence and is actively developed further by the Apache community. In October 2021, the currently latest version 8.10.1 was released.

Sphinx

Sphinx (short for SQL Phrase Index) is a full-text search engine developed in 2001 by Andrew Aksyonoff and offered as OSS under the GNU GPL. Sphinx is compatible with Unix-like operating systems such as Linux as well as Microsoft Windows. The search engine has a stand-alone engine, but is especially suited for use in combination with SQL-based databases and various scripting languages such as PHP or Python.

Caching

Varnish

Varnish is a full-page cache and HTTP accelerator for Unix-like and Unix operating systems. It was developed in 2005 by Poul-Henning Kamp and Linpro and later spun off into the company Varnish Software. Varnish is available under the BSD licence as OSS, but is also offered by Varnish Software for a fee in various enterprise editions. The current version 7.0.0 of the Varnish OSS was released in September 2021. With the right configuration, Varnish can improve the performance of online shops enormously. You can read more about this in the blog article linked here.

Shop systems

Magento

The online shop software Magento was released in 2008 by the company of the same name in version 1.0, which is based on the Zend Framework, which is also under an Open Source licence. After Magento was first sold to eBay and then to Permira, the company has been fully owned by Adobe Inc. since June 2018. Since the end of 2015, there has been a shop system with a new software architecture, Magento 2, which is currently available in version 2.4.3. Magento 1 will no longer be supported by Adobe as of 30 June 2020.

Magento 2 is available under the Open Software License, just like Magento 1, but Adobe also offers a paid version with Adobe Commerce. This is identical to the OSS in terms of backend and frontend, but Adobe guarantees functionality, direct support and extended functions.

Shopware

Shopware is a modular online shop solution that was developed by Stefan Hamann in Germany in 2004 and has been offered in the Community Edition under the MIT licence since 2010. Shopware AG also offers the system in the paid editions Professional, Professional Plus and Enterprise. The system is currently supported by the manufacturer in versions 5 and 6.

Shopware 5 was first released in 2015. It is a pure shop system that relies on the functionality of a CMS system. It is currently available in version 5.7 and Shopware AG guarantees support until at least 2024. Shopware 6 was released in 2019 and is currently available in version 6.4.5.1. Shopware 6 is based on the Symfony and Vue.js web frameworks.

WooCommerce

WooCommerce was first released in 2011 and is a plugin for the WordPress content management system. With WooCommerce, the CMS is extended by the functionalities of a shop system. The software was originally developed as a fork of the e-commerce plugin Jigoshop, but has long since replaced the latter plugin as the standard solution for WordPress.

WooCommerce is currently available in version 5.8.0, which was released in October 2021. Both WordPress and WooCommerce are available as OSS under the GNU GPL.

Other OSS solutions

The applications presented above represent only a small selection of the Open Source solutions used in e-commerce hosting. Other Open Source projects relevant to e-commerce are, for example, version management systems such as Git or GitLab, encryption technologies such as OpenSSL and OpenVPN or content management systems such as TYPO3.

Why we rely on open source at maxcluster

The use of OSS is an elementary part of e-commerce hosting and therefore also one of the most important cornerstones of our daily work at maxcluster. Open Source is thus part of our identity as a company - not least due to the fact that we specialise in hosting the open source shop systems Shopware and Magento. In addition, we rely on an e-commerce stack, through which we provide further OSS for our customers to ensure a performant, stable and secure operation of online shops on our clusters.

OSS enables us to act independently, problem-centred and oriented towards the individual needs of our customers. Because of the Open Source code, we can identify problems more quickly and respond to them with good service.

Open Source Software enables small and medium-sized enterprises to implement IT projects quickly and cost-effectively. With the right technical partner, it is also possible to operate an economical IT infrastructure in the long term - without the support of a comercial provider.

- Alexander Wilhelm, Managing Director maxcluster

In our understanding, Open Source is based on the principle of give and take. Therefore, it is important to us to give something back to the Open Source Community. Thus, we regularly create bug reports when we identify problems in one of the applications or develop patches to fix them. An example of this is the SHOW TABLE STATUS Patch for Magento 2.

As a hosting provider, it is also very important to us to enable our customers to use OSS as long as possible, including older versions, despite shorter support cycles. For this reason, we also support larger long-term support projects such as the Debian LTS project and the PHP LTS project on a financial basis.

Since we also want to enable our customers to implement and manage relevant open source applications, services such as Redis, Varnish or Elasticsearch are already preconfigured in our Managed Centre. These can be easily and quickly installed and managed there with just a few clicks.

Various open source applications can be set up easily via the Managed CenterVarious open source applications can be set up easily via the Managed Center I Source: maxcluster

If you would like to learn more about our managed services and our e-commerce stack, please feel free to contact our consulting team by email at beratung@maxcluster.de or by phone at +49 5251 4141 350.

Conclusion

The concept of Open Source has existed for more than 30 years and enjoys great popularity not only globally but also within Germany. Especially in the field of software development, this concept enables new forms of collaborative working and promotes the creation of synergies between the people and institutions involved.

Besides the community aspect, the biggest advantage of OSS is the permissive licences around the Open Source code of the respective application. This means that it can be flexibly adapted to the individual requirements of a person or a company. OSS is not only used in the context of various desktop and web solutions, but is also present in many areas of e-commerce hosting. Many popular web servers, database management systems and shop systems are open source software.

Since we at maxcluster particularly appreciate the advantages and freedom that OSS brings with it, it has been an essential part of our daily work since our foundation. We use OSS internally, actively participate in the further development of open source projects and also enable maxcluster customers to easily integrate selected solutions into their shop system via our Managed Center.


Last updated on 20.06.2022 | DR

You have questions, requests, criticism, suggestions or just want to tell us your opinion about our blog? Here you have the opportunity to contact us directly.

Send e-mail