You are here: Home / 
2022-07-07 - 07:48

Dates and Events:

OSADL Articles:

2022-01-13 12:00

Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completed

Another important milestone on the way to interoperable Open Source real-time Ethernet has been reached


2021-02-09 12:00

Open Source OPC UA PubSub over TSN project phase #3 launched

Letter of Intent with call for participation is now available


2016-11-12 12:00

Raspberry Pi and real-time Linux

Let's have a look at the OSADL QA Farm data


2016-09-17 12:00

Preemption latency of real-time Linux systems

How to measure it – and how to fix it, if it's too high?



OSADL

OSADL Whitepapers

Summary

As is the case with many other fields, Open Source software has gained a foothold in the automation industry and, at first glance, has opened up many new possibilities, especially for extending the service life of machines and other embedded systems. But what exactly is Open Source software? What are the considerations for its use, transmission, and development in an industrial environment?

A closely related topic is hardware virtualization. This is another fascinating technology that has the potential of solving many problems in the long-term management of industrial control systems. However in this case as well, we need to first determine whether and under what conditions the new possibilities can be put to use.

In the following, we will address the mechanisms of Open Source software and virtualization, as well as the guidelines for their specific use.

To top

What is Open Source software?

The terms "Open Source software" and “Free Software" represent different ideological perspectives, but legally and practically, both terms are equivalent descriptions of a specific type of software licensing. This article will therefore use the common term "Free and Open Source Software" (FOSS) for this type of license. Most active FOSS projects use the GNU General Public License (GNU GPL). The GNU GPL grants the rights to:

  1. run the program, for any purpose,
  2. study how the program works, and adapt it to a user's need,
  3. redistribute copies so one can help his or her neighbor,
  4. improve the program, and release the improvements to the public, so that the whole community benefits.

The second and fourth points require free access to the source code. This access is therefore a necessary but not exclusive condition for qualifying the software as Open Source software. When the software is passed on to others, the recipient must also be able to acquire these rights depending on the type of FOSS license. If the user only uses the software himself and does not pass it on, all the requirements from the Open Source licenses are moot. Contrary to a frequently-stated belief, money may be charged for FOSS, but only for associated services such as the effort required to pass on the FOSS, and not for the license itself. Apart from this consideration, a service provider may of course also charge customers for the activities required to develop and maintain FOSS.

To top

What is a copyleft?

The word "copyleft" is a newly-created term for the "opposite of a copyright". This play on words employs the term "left" as the opposite of "right" and also in the sense of "to leave" (somebody something). Whereas a classic copyright forbids passing on a copyrighted work, a copyleft allows and even promotes it, or at least requires the readiness to pass it on. This requirement applies not only to the original version of the work, but to also all changes and additions. The latter is a unique regulation since normal copyright regulations leave it up to the licenseholder to choose the type of license that will govern the changes and additions. However, when a licenseholder acquires a license containing a copyleft, he assumes this particular requirement which takes effect when the work is passed on. The presently-known different Open Source licenses differ according to the strength of this copyleft effect. The BSD (Berkeley software distribution) license does not dictate to the licenseholder which license will govern the provided software along with the changes and additions; it is therefore an Open Source license without a copyleft. An example of an Open Source license with a full copyleft is the above cited GNU GPL; it forces the licenseholder to retain the original license in its identical form for the provided software and any changes and additions.

To top

Pragmatism versus ideology

The concept of "Free Software" was first presented by Richard Stallman in 1983, and it developed into the formulation of the cited GNU GPL. The underlying idea is that a program in a computer language with a source code that is unavailable to the user represents a type of restriction that should be rejected for fundamental ethical considerations. Only when the source code of a program is made available is the desired freedom ensured, according to Stallman.

The alternative term of "Open Source software" developed by Bruce Perens, Eric Raymond and others toward the end of the 90s has a more pragmatic aim. Disclosing the source code generates a much larger team of developers in comparison to proprietary software, and this team can create software products with a much higher level of quality and stability.

Starting from around this time, FOSS was increasingly used in an industrial context and in the automation industry, that is, in embedded systems or for mechanical and plant engineering. When you ask the manufacturers of industrial products why they prefer FOSS, you frequently hear responses such as: "the machine builder has complete control of his machine," "independence from discontinuations," or "avoiding vendor lock." This indicates that the original motivation envisioning the freedom of the software user was justified to a certain degree. In fact, one of the special features of FOSS is that the user is entitled to comprehensive usage over time instead of a right of use for a very restricted period, as is the case with proprietary software; of course, the right to use FOSS is non-exclusive. In addition, the cited pragmatic reasons of the Open Source movement make this type of software attractive to industry since quality and stability have always been a chief requirement for industrial software.

To top

An open knowledge economy

Perhaps even more relevant than the above discussion of freedom and openness is the perspective that views the FOSS development model in economic terms. In this context, FOSS has been scientifically analyzed from the vantage point of economics and business administration. The wealth of knowledge and experience of a company is considered capital in terms of the unique position of a company. Part of this capital is suitable for distinguishing a company’s products from those of a competitor ("differentiating know-how") whereas another part of the capital does not possess this ability ("non-differentiating know-how"). The latter part is generally larger. To maximize economic success, a company must invest a maximum amount of its resources in developing and maintaining the differentiating know-how. It should refrain from individually investing in non-differentiating know-how. Precisely because the know-how is non-differentiating, it is recommendable to work jointly with other companies and even competitors on FOSS projects. The savings are obvious since unnecessary parallel developments are avoided. Qualms are continuously expressed that the use of a FOSS operating system with a copyleft license will force companies to disclose company secrets in process technology and applications. However, this is not the case because the application interface between the operating system (the "kernel") and the application generally follows the so-called POSIX standard. This interface standardized by the IEEE and Open Group is supported by a wide range of different operating systems; an application associated with a specific kernel therefore cannot be considered a change or addition to the kernel. The application is therefore considered as not "derived from the operating system" and therefore does not have to be released under the GNU GPL license. Mechanical engineers can therefore use Linux as an operating system that is licensed under the GNU GPL without having to disclose their applications or other process details.

To top

Joint development of basic technologies and open standards

The joint development of basic technologies by a large number of market participants has another positive effect in addition to the cited reduced costs: Standardization is achieved as a side-effect because the joint development of basic technologies and their use necessarily requires jointly-defined interfaces and protocols. This argument also applies in reverse: Many existing open standards were developed earlier for Open Source projects such as Ethernet, TCP/IP, network protocols, page description languages, etc. Outstanding implementations of these standards are therefore available for FOSS-based systems. These are frequently much more suitable for raw machine use than subsequent implementations developed as proprietary operating systems.

To top

Countering globalization using globalization’s tools

The joint development of basic technologies would be impossible without globalization, and especially without the Internet. The same globalization is also responsible for subjecting European companies to increased cost pressure from competitors in countries with lower labor costs. If this cost pressure is countered by the joint development of basic technologies, it is quite possible that a free software component that a German mechanical engineer obtains from the Internet and uses will have been developed in a country previously associated only with software piracy. By using FOSS, the disadvantages of globalization are offset to a certain degree by its advantages.

To top

"Joint development of basic technologies" - how does that work in practice?

The normal FOSS development model initially leads a company to develop and publish the source code of a required specific software functionality under the conditions of the GNU GPL. Consequently, this means that a pioneer in a specific field will assume the costs for developing a product that can be appropriated free of cost by less advanced competitors. A company may affirm the basic requirement of disclosing source code as a matter of principle, but the resulting inequality in financing is unacceptable. To achieve a more equitable distribution of developmental costs over a large number of beneficiaries, an organization needs to be created that is jointly financed by numerous interested companies that can commission software projects desired by a majority of the participants. One of these organizations is the Open Source Automation Development Lab (OSADL) that was founded toward the end of 2005 and was listed in the public register of cooperatives in the summer of 2006 as a registered cooperative, abbreviated in German as "eG" (osadl.org). In the first two years of its activities, the OSADL has already realized a substantial number of jointly financed projects such as developing the realtime capacity of the Linux kernel, creating various Linux drivers, developing board support packages, migration tools, etc.

To top

What is virtualization used for?

In the context of FOSS projects, numerous systems and applications have been developed such as the Linux kernel, the Apache webserver, the OpenOffice office suite and the Internet browser Firefox. There are, however, still a range of applications for which software solutions only run on proprietary operating systems, and not a few companies have invested substantial amounts of development based on proprietary platforms (before switching to FOSS) that cannot simply be written off. A desire arose to gain a certain amount of control over these proprietary systems as well. This control is primarily desired to keep software from becoming worthless when the hardware that requires the software becomes obsolete.

Virtualization makes it possible to simulate all of the hardware of a computer by means of software. In this manner, "non-discontinuable" hardware can be created. However, the underlying system (i.e. the so-called host system) must consist of FOSS components that cannot be discontinued. Since December 2006, the kernel virtual machine (kvm) has been a component of the mainline Linux kernel so that a nondiscontinuable host system with a virtualization platform is now available.

In addition to the cited advantage of having proprietary software run under constant hardware conditions and "freezing” this part of the system, virtualization offers a series of additional pluses. Among other things, the availability of servers can be substantially increased by means of virtualization. This is also why virtualization has become particularly widespread on servers. It is believed that approximately one third of all existing and one-half of all new servers are virtualized. In the field of mechanical engineering, only few such projects exist, but it is entirely possible that in a few years 10 to 20% of machine control systems will use this technique.

To top

Recommendations on the use of FOSS in industrial systems

Figure 1: Example of a uniqueness limit
Figure 1: Example of a "uniqueness limit" that shows the different levels of knowledge of a company. Above the uniqueness limit lies the knowledge that differentiates a company from its competitors; below this limit are the basic technologies that do not make any difference in the market. If this threshold is at the bottom of the pyramid for a company (red line), that is, practically all the knowledge is market-relevant and confidential, FOSS should not be used. The higher the limit (yellow and green lines), the more (economically) attractive it is to use free and open software (FOSS).

As mentioned, not all areas of companies that develop or use software are suitable for participating in a FOSS project; only those areas should participate that use generally-available technologies. Before a decision is made to participate in a FOSS project, one must determine how much the project will affect company knowledge and experience that cannot be disclosed without endangering the company's market position. Guidelines can be offered for specific sectors, however substantial deviations can arise in individual cases. Typically, mechanical engineers work for companies that do not gain a unique position from the features of the operating system and its programming interface. On the other hand, special controls for unusual requirements may necessitate developing components for operating systems with unique benefits for the respective mechanical engineer. In such cases, it would be unreasonable to disclose the source text, and a FOSS operating system with a copyleft license could not be used. On the other hand, software that is initially considered worthy of a copyright may not need one upon closer analysis, and the advantage of open development can justify the release of the software in a FOSS project.

The various levels of responsibilities of a company are best illustrated by a pyramid where the bottom level of the pyramid includes basic technologies without a unique benefit, and the top area includes managerial responsibilities. Somewhere between the base and the tip of the pyramid is the "uniqueness limit" to be individually determined for a specific company (Fig. 1). If this limit is directly at the base of the pyramid, there is little or no expertise that can be exchanged with competitors, and FOSS cannot be used (at least with a copyleft license). If the uniqueness limit is higher (yellow and green lines), there is no particular reason why FOSS cannot be used with a copyleft license.

Once the decision has been made to use FOSS or to develop an independent FOSS project, legal council should be obtained. This concerns the manner in which the customer must be informed that that FOSS is being used in a specific project, how best to disclose software, and which rights and obligations are associated with the granted FOSS license. The level of patenting, especially for this and other FOSS projects, should be precisely determined. Generally, legal considerations only concern rules of the game and methods that are easy to observe once they are known. Attorneys who have specialized in FOSS can provide assistance, or legal council can be obtained from the private Institut für Rechtsfragen der Freien und Open Source Software [Institute for Legal Issues on Free and Open Source Sofware] (ifrOSS, ifross.de/).

To top

Recommendations on the use of virtualization in industrial systems

One of the most frequent reasons for using FOSS in a machine is to obtain complete control over the machine and ensure its long-term functioning independent of price increases, cancellations, company assignments or supply bottlenecks. This goal can of course only be achieved when all of the software components are FOSS components. If this is the case and migration can be performed easily and without complication, there is no reason for virtualization. In contrast to servers, virtualization does not help increase availability in mechanical engineering; it is preferable if virtualization is not even required.

If however some of the required software components such as the graphic user interface are unavailable or not as fast and simple as FOSS, and one is forced to use a proprietary operating system, it is recommendable to operate the proprietary system in a virtualized runtime environment. This ensures that the discontinuation of hardware or proprietary software will not restrict the life of the machine since the conditions existing at the initial development of the product can be reproduced at any time.

To top

Conclusion

The use of FOSS in the automation industry is not a panacea, however in certain situations when the legal considerations are taken into account, FOSS can measurably lower costs and improve quality. The same holds true for the virtualization of hardware that has been available for a number of years. If used appropriately, this offers a new option for long-term management and protecting the investment in machine-related software. Organizations such as the Open Source Automation Development Lab (OSADL) offer a collaboration platform for interested companies and ensure the fair distribution of investments.

To top