The term ‘free software’ was launched by Richard Stallman along with the free-software movement in 1983 when he started the GNU Project: a collaborative project having as its main goal to create a freedom-respecting operating system (which would later become Linux, also called GNU/Linux).
In short, ‘free software’ means any computer program that gives you, the user, the following 4 freedoms:
- the freedom to use the program as you wish.
- the freedom to modify the program.
- the freedom to give to others copies of the unmodified program.
- the freedom to give to others copies of the modified program.
Obviously, the second and the fourth freedoms require that you have access to the source code of the program, otherwise, modifying the program is nearly impossible.
The free software movement participated in spreading a new type of software but also a new type of software development model. This model can be called the ‘free online collaboration on public code’ model, in the sense that developers from around the world had the freedom to contribute to software projects whose code was published on the web, having the right to modify the code and distribute it freely. Using this development model any developer is allowed to participate in a project, if the code they provide is considered useful and is approved by the project leaders. Of course, the online collaboration of developers from different parts of the world on such software projects only gained momentum after the world wide web entered public everyday use, which means after 1994.
Defined as above, ‘free software’ is the only ethically acceptable and beneficial to society type of software. In fact, ‘free software’ is not an innovative or exotic type of software, it’s the most normal type of software possible, it’s how all software should be: when you buy a program, you want to have the freedom to do what you want with it, because it’s yours. You want to have the freedom to use it as you wish, for whatever purpose, including for commercial purposes, to install it on as many computers as you like, to be able to change it if you want, to be able to give it to whomever you want, to give modified versions of it to whomever you want, etc. Unfortunately, this type of software wasn’t the kind of software developed by software companies in the 80’s. They were developing (and are still developing) ‘proprietary software’, which is software commercialized under very restrictive license terms which leave the user without the common sense freedoms mentioned above. The desire to earn large sums of money made companies restrict the use of their programs to such a degree, that when users bought proprietary programs it was like they didn’t fully own them. This situation has remained unchanged. Therefore, the opposite of ‘free software’ is ‘proprietary software’ and this type of software denies users the 4 freedoms mentioned above, in order to have more control over the users and ultimately make more money at their expense.
‘Free software’ is licensed under a variety of licenses, the most prominent being the ‘GNU General Public License (GPL)’. The GPL requires that software licensed under the GPL should be always distributed under the GPL, even if modified or extended. Though this may be seen as a restriction, this is in fact a logical limitation that a license has to impose in order to make sure that the software won’t be included in programs that restrict the end users’ freedom. The method of making a program ‘free software’ and requiring that all the modified and extended versions of the program be free as well, is called ‘copyleft’. Copyleft free software licenses (like the GPL) stand in contrast with the permissive or lax free software licenses (like the MIT license), which allow the free software programs, either in modified or unmodified form, to be redistributed as part of proprietary programs.
What better presentation of ‘free software’ than that given by Richard Stallman himself ?
The free software movement gradually grew in importance as more and more users and developers adopted the free software phylosophy. Unfortunately, in 1998, Eric Raymond and Bruce Perens, former members of the free software community, founded the Open Source Initiative (OSI) and introduced the term ‘open source’ to refer to the same software. By calling it ‘open source’ and not ‘free software’, they intended to shift the attention of software companies and other businesses from the ethical principles associated with the term ‘free software’ to the technical benefits offered by this type of software (reliability, security, affordability, transparency, perpetuity, flexibility, interoperability, etc.). They just wanted to make this type of software more attractive to companies. So, they stopped speaking about freedom and focused their discourse on the practical benefits that this type of software offers. This was a very unfortunate decision that created a veritable schism within the free software community, which lasts to this day.
Some suggested that the term ‘open source’ was introduced just to eliminate the ambiguity of the word ‘free’ in the term ‘free software’, since in English, ‘free’ can refer to both ‘freedom’ and ‘gratis’ (free of charge). This is not true. Even if Richard Stallman had chosen a more precise word than the word ‘free’, the ‘open source’ schism would have still happened, because, as mentioned above, their purpose was to make this type of software more attractive to businesses, so they sought a way to change the focus of their definition and discourse from the ethical imperative of user freedom to some technical benefits of having software with publicly available source code developed in a collaborative manner by users who are allowed to modify and distribute it.
Since we mentioned word ambiguity, we have to point out that the term ‘open source’ is also very ambiguous. People who hear ‘open source’ for the first time, and even those who have heard it repeatedly but haven’t read the definition of ‘open source software’ on the OSI’s website, think that it refers to software whose source code is made available to the public and nothing more, when in fact the definition of ‘open source’ requires that the users be allowed to also modify the source code and distribute modified or unmodified versions of it, and also respect other freedoms, such as the freedom to use the software in any field of endeavor.
The problem with the ‘open source’ concept and with the OSI’s definition of ‘open source software’ is that it doesn’t emphasize the essence of free software, which is the ethical imperative that any computer program should respect the user’s freedom (in the sense of the 4 freedoms mentioned above). By not emphasizing the principle of user freedom they tried to redefine free software as software that has some desirable qualities, such as security, reliability, affordability, transparency, etc., due to its development method which requires that the source code is made publicly available, that the users are able to modify such programs and redistribute modified or unmodified versions of such programs. Indeed, their definition of ‘open source’ software ensures that the users have access to the source code and that they are allowed to modify it and redistribute the modified or unmodified versions, yet, the user’s freedom is not presented as the most important thing, as the main purpose of developing this kind of software. This is very significant and has negative ethical and even technical consequences.
‘Open source’ software advocates talk as if there is nothing wrong with ‘proprietary software’. This is why the majority of the licenses approved by the Open Source Initiative, such as the Apache, BSD or MIT license, allow incorporating free software code into proprietary software (which the GPL doesn’t allow). Thus, they don’t present ‘open source software’ as opposed to ‘proprietary software’, but just as a different kind of software having some qualities that can make it better and more desirable than ‘proprietary software’. In their discourse, they don’t call ‘proprietary software’ unethical because of its despise for the user’s freedom. Indeed, their definition ensures that the users have the freedom to see the source code, modify it and redistribute modified/unmodified versions of the program, but they also regard ‘proprietary software’ as acceptable, even if ‘proprietary software’ licenses don’t allow the users to see the source code, modify it and redistribute modified/unmodified versions of the program. This is a very ambiguous moral position, of questionable logical clarity. It’s like they are saying: “Killing is bad, so, you shouldn’t kill, but if you kill, that is also OK.”, or “Stealing is bad, so, you shouldn’t steal, but if you steal, that is also OK”. The question that we ask them is: “Why have you founded the ‘Open Source Initiative’ to define and promote a new type of software that allows the users to have certain freedoms, if you also accept ‘proprietary software’ which denies those very freedoms ?”
By shifting the emphasis away from the problem of user freedom, the ‘open source’ advocates attacked the very foundation of free software. This degradation at the level of ethical principles brought about a technical degradation of the software as well, though this is more difficult to notice and it typically develops over time. Indeed, the ‘open source software’ concept was accepted by many and gradually it gained a lot of popularity. Unfortunately, as the focus was not on the freedom of the user anymore, many so-called ‘open source’ software projects have been included into proprietary applications or mixed with proprietary software. The so-called ‘open core’ business model is an example of this mixture: the core of an application, with the most basic features, is published under an ‘open source’ license, while various modules or plugins are offered under proprietary software licenses. The companies that use this type of business model prove that they have absolutely no respect for the freedom of their users, although the application has a so-called ‘open source’ core. Some ‘open source’ projects, like Red Hat, even accepted to be bought (and inevitably influenced) by companies with a notorious proprietary past.
The gradual technical degradation of software projects that renounced the emphasis on user freedom and called themselves ‘open source’, can be very well illustrated with Ubuntu Linux. From a relatively decent Linux distribution, Ubuntu grew into a rigid operating system, that includes a lot of unneeded software by default and at one point pressured its users to use the main search box for every application that they wanted to open (by the very structure of the default Unity desktop), so that the users could see advertisments from Amazon related to their search terms, advertisments used by Canonical, the company developing Ubuntu, to earn money from affiliate links. Richard Stallman describes this “feature” here.
It is obvious from the example given above that a software project which doesn’t have the users’ freedom as its core principle, will be likely to implement sooner or later some “features” that would restrict the users’ freedom, in order to make money at their expense. With the same financial gains in mind, such ‘open source’ projects can also implement ‘features’ that degrade the performance or usability of the application. Also, if the violations of the principle of user freedom are obvious, many valuable programmers who have contributed voluntarily to such software projects will typically leave them and they will be replaced with paid programmers who will write software only for the sake of financial compensation and not out of passion, with the dedication and resolution that people following higher goals typically have. Hence another reason for the technical degradation of such projects.
In January 2020, Bruce Perens, one of the founders of the Open Source Initiative, left it because of a controversy regarding a license and a few months later he declared:
“We created a tower of babel of licenses. We did not design-in license compliance, and we have a tremendous noncompliance problem that isn’t getting better. We can’t afford to sue our copyright infringers.
We did not design a good framework for where proprietary software can go, and where it never should. Our license loopholes are exploited.”
In this statement, one of the very founders of the Open Source Initiative aknowledges that the theoretical framework on which they based their ‘open source’ definition was defective, since the numerous licenses that comply with the ‘open source’ definition can be used to introduce proprietary software where it shouldn’t be accepted, even into the core of ‘open source’ projects. This is extremely significant and shows how important is the philosophy on which you try to build a community and a collective effort.
The keystone of ‘free software’ is the ethical principle that any computer program should respect the user’s freedom (in the sense of respecting the 4 freedoms mentioned above). Once you formulate your discourse in a way that doesn’t recognize this pinciple as the keystone, on which the whole edifice stands, and you try to create a movement around the new approach, over time, the whole edifice will start crumbling.
However, although the ‘open source’ advocates did a great disservice to the ‘free software’ community, almost all of the so-called ‘open source’ programs are still ‘free software’, since they are published under licenses which allow the users to have the 4 freedoms of ‘free software’ mentioned above. So, the ‘open source’ community, is not the enemy of the ‘free software’ community. ‘Proprietary software’ is the real enemy of ‘free software’. Often times, ‘open source’ developers work together with ‘free software’ developers on the same projects.
This being said, anyone should know that the ethical principles that underpin software development are extremely important. The technical quality of software projects is a direct outcome of the ethical principles that animate the developers participating in such projects, although it may seem that there is no relation between the two. A programmer who has the ethical motivation to write software that respects the end users, will dedicate himself to the task and once the program is built, he will make an intense, constant and honest effort to improve the software, because he believes in the higher purpose of creating programs as tools that empower other people by respecting their freedom. On the other hand, if programmers write software only to earn money and disregard the ethical implications associated with the use of that software, they will typically write programs only as good as they need to be in order to receive the promised payments, since earning money was their only motivation. They will also agree to license the programs under freedom restricting licenses, because they don’t care about the end users’ freedom. Thus, the ethical principle that animated the first category of programmers was that “it is good to benefit society by developing software that respects the user’s freedom and earn money by doing so”, while the ethical principle that animated the second category of programmers was that “it is good to earn money, even if you do it by restricting other people’s freedom”.
Some have claimed that programmers can create good quality programs without paying any attention to ethical or political issues. This is totally false. Computer programs, like any other tools, will always have ethical, economic, social and even political implications, because they influence the relations between people. As a programmer, when you create a program and give it to others to use it, you already create a relation between you and them, and this relation can be either ethical, when you allow them to have the 4 ‘common sense freedoms’ of free software, by licensing the software in an appropriate way, or unethical, if you distribute the software under a license that denies users the 4 basic freedoms.
The Free Software Foundation, the nonprofit organization founded by Richard Stallman in 1985 to support the free software movement, publishes a list of approved ‘free software’ licenses here, while the Open Source Initiative publishes a list of approved ‘open source’ licenses here. According to these lists, almost all software that qualifies as ‘free software’ is also ‘open source software’, and almost all software that qualifies as ‘open source software’ is also ‘free software’. However, there are some rare exceptions: for example, software published under the ‘NASA Open Source Agreement v1.3’ or ‘Reciprocal Public License 1.5’ is ‘open source software’, but not ‘free software’, while software published under the ‘Clear BSD License’ or ‘Cryptix General License’ is ‘free software’ but not ‘open source software’.
The differences between free software and open source software are well explained by Richard Stallman in this article.
So, why we chose to use the term ‘free and open source software’ and not simply ‘free software’ since we don’t agree with the ‘open source’ rhetoric ?
The reality is that over time, as it was to be expected, the popularity of the ‘open source’ concept grew much more than that of the ‘free software’ concept, since most people like to ignore the ethical principles associated with different types of software, so that they can avoid feeling bad for using or developing unethical programs. Thus, today there are many people, even young people working in IT, who haven’t even heard of the ‘free software’ concept, or they heard of it but thought it just meant gratis software, while they are familiar with the ‘open source’ concept. Since, as we mentioned above, almost all the ‘open source’ programs are also ‘free software’, if we want to refer to ‘free software’ in a way that all the people can easily understand what we mean, we also have to include the group that only speaks about ‘open source’, so we chose to use the term ‘free and open source software’, which technically means software that qualifies both as ‘free software’ and ‘open source software’, according to its license. By using the term ‘free and open source software’ we don’t intend to endorse the term ‘open source’, but to appeal to the people who use it, and convey the message that we are speaking about the software that they call ‘open source’ and we call ‘free software’.
The term ‘free and open source software’ (and the FOSS acronym) has gained popularity, and we think it’s the proper term to use when addressing to a wider audience of which some may have heard only of ‘open source software’, on the condition that the user of this term understands the precise meaning of both terms: ‘free software’ and ‘open source software’, and (s)he tries to explain that meaning to the readers/interlocutors, when suspecting they don’t know about it.
Many suggested that the proper term to refer to software that qualifies as both ‘free software’ and ‘open source software’ should be ‘free/libre and open source software’, shortened to FLOSS, in order to clarify the meaning of the word ‘free’. We think that although this term is clearer, it is too long and difficult to pronounce, to ever gain wide acceptance and circulation. Apart from this, if you add ‘libre’ to the term ‘free’ in order to clarify its meaning, you first clarify its meaning and then acknowledge that its meaning is unclear; you actually state the inappropriateness of the term ‘free’ in ‘free software’, since it needs a second word to become clear. (This inappropriateness is indeed true, but once you learn about the correct interpretation of the word ‘free’ in ‘free software’, the meaning of the term ‘free software’ becomes definitively clear.) In addition to this, the FLOSS acronym creates weird mental associations. When hearing FLOSS, the first thing that comes to people’s minds looks like this:
We also think that the dash between ‘open’ and ‘source’ (in ‘free and open-source software’) can be left out, to keep things as simple as possible, since even on the official OSI website the term is written as ‘open source software’ and not ‘open-source software’.
1.5.1. Linux vs GNU/Linux
As mentioned, the GNU Project was started in 1983, having as its main goal to build an operating system made up entirely of ‘free software’. By 1991, the GNU Project succeeded in building almost all the components of a functional operating system with the exception of the kernel. Their kernel, called GNU Hurd, wasn’t functional. In October 1991, Linus Torvalds, a computer science student from Helsinki, Finland, launched the first “official” version of a kernel called ‘Linux’ and one year later he released it under the GNU General Public License version 2. Thus, in 1992, when the Linux kernel was released under GPLv2, it was added to the other components built by the GNU Project and a new complete operating system made up entirely of ‘free software’ emerged.
Since the kernel was called Linux, people started to call the whole operating system Lynux and in time, the GNU Project’s contribution to the new operating system began to be ignored. This obviously is unjust, since the Linux kernel cannot function alone and it could not have become a complete operating system without the numerous programs developed by the GNU Project. This is the reason why Richard Stallman and the Free Software Foundation stated that the proper name for the new operating system should be GNU/Linux and not simply Linux.
However, there are two problems with the ‘GNU/Linux’ term: first of all, it’s a longer name, more difficult to pronounce and write (it should be obvious that people always try to use shortened versions of long words, expressions, names; like ‘app’ instead of ‘application’, ‘sysadmin’ instead of ‘system administrator’, ‘ad’ instead of ‘advertisment’, ‘Chevy’ instead of ‘Chevrolet’ etc.; you can’t deny people the right to use shortened versions of words, even if they may have incorrect connotations), and secondly, the term ‘Linux’ has already become so widespread, that nothing in this world will convince the millions of people using it, to replace it with ‘GNU/Linux’, even if that is indeed a more fair name. So, although the term ‘GNU/Linux’ is more fair and correct than ‘Linux’, it has never stood a chance to gain widespread circulation because of its length and structure. Indeed, the term free and open source is also long, but it’s definitely much easier to pronounce than GNU/Linux and it has already gained popularity and widespread circulation. By using the term free and open source, we don’t try to replace some other term, like the GNU/Linux proponents who try to replace the term Linux.
We consider that anyone can use the term Linux instead of GNU/Linux, on the condition that they know about the essential contribution of the GNU Project to this operating system and they try to describe this contribution when they suspect that their interlocutors/readers may not know about it.
1.6. Birth of proprietary software, its quality problems and supposed inevitability
The birth of proprietary software wasn’t an accident or the outcome of a plot. The explanation for its appearance is very simple: unlike physical objects, programs can be very easily copied and distributed. Due to this fact, software companies sought a way to increase their profits by preventing people from copying and distributing copies of the programs, or reverse-engineering them. Thus, they began selling programs without the source code used to compile them and under the terms of very restrictive licenses that typically denied users the right to modify the programs and distribute copies of the modified or unmodified versions of the programs. Unfortunately this practice has created and is still creating an unfair and even revolting situation for the end user: you buy a proprietary program and you cannot use it as you want to, you cannot install it on as many computers as you need, you cannot see its source code to understand what it does, you cannot modify it to make it do what you need, you cannot give it to your friends, etc. There are even situations where if you replace the motherboard of the computer on which you have installed a proprietary operating system, you have to buy the license for the operating system again, because it’s considered that the computer is different, since an important component, such as the motherboard, has been replaced.
Thus, proprietary software is unacceptable because it takes away the 4 common sense freedoms mentioned above. Yet, it’s a known fact that FOSS programs not only respect the user’s freedom but in many cases they also offer superior technical quality. Their quality is often much higher than that of their proprietary counterparts because in general, FOSS programs are built in a collaborative manner, by many dedicated programmers from all over the word, each programmer bringing their own expertise and unique approach, each analyzing the code based on their own experience, so that in general, when the project has good leaders who know what changes to accept and what to reject, the final product is more optimized and less prone to security vulnerabilities and bugs. This is called ‘strength in numbers’. FOSS projects frequently attract thousands of talented developers from all over the world, while typical proprietary software companies cannot attract and hire so many programmers.
Also, many FOSS programmers write software out of passion and they strive to write the best code possible, to fulfill concrete necessities. On the other hand, proprietary applications are in many cases built by programmers who write software just because they get paid to do so, not because they believe in the software they develop. They often do it in order to fulfill false necessities created by the companies themselves in order to ‘optimize’ their profit. No wonder that in such cases proprietary programs end up having a lower technical quality than the corresponding FOSS programs.
One might argue that unfortunately, for the time being, there aren’t FOSS programs available for all the common computing tasks, so, one can feel forced to buy proprietary software for some particular purpose. This guide and other future articles published on www.doublebastion.com will prove that we have already reached the point where there are excellent FOSS programs available for all the common computing tasks and even for niche tasks.
Below we’ll prove that proprietary software mistreats the end users by taking away their freedom to use the software as they wish, that this creates a totally unfair and unacceptable situation and that ultimately, this situation is absurd.
1.7. The furniture shop allegory
To understand the unfairness of what proprietary software entails, please imagine the following situation: you go to a furniture shop to buy a chair. You choose the one that you like and inform the sales assistant that you want to buy it. The sales assistant answers:
“Very well, sir, but before we sell this chair to you, you’ll have to sign an agreement.”
Very surprised, you ask: “What kind of agreement ?”
“You have to sign a document in which you agree that you’ll never place this chair in other rooms apart from the living room, you’ll never make the slightest modification to this chair, not even painting it, you’ll never give it to someone else, not even to a member of your family or a friend.”
Shocked, you ask: “And how will you know if I follow the agreement or not ? What happens if I don’t respect the agreement ?”
“Well, we have a special comission, authorised by law, that periodically pays visits to our customers, unannounced, and if they find that you placed the chair let’s say in a bedroom or in any other room apart from the living room, or that you painted it, etc., you’ll be found guilty of breaching the agreement and you’ll be fined or put in jail, according to the state’s law.”
The hypothetical situation from above belongs to the domain of the absurd. You’ll be outraged if a furniture vendor wants to control the product that they sell to you, after you buy it. Once you buy a chair it becomes yours and this means that you can do anything you want with it, including to modify it, to place it wherever you want, to give it to whomever you want, etc. Yet, this absurd situation is exactly the situation you are in when you buy proprietary software. When you buy a proprietary program you have to agree to the terms of the license agreement, and this restricts your use of the program, so that you cannot install it on as many computers as you want, give it to your friends, modify it, etc., as if the program isn’t really yours.
1.8. The Chinese porcelain allegory
The story that best illustrates why and how free and open source software emerged and spread, is the story of the Chinese porcelain in Europe.
In short: porcelain was first brought to Europe from China in the 14th century. Althought Chinese porcelain artefacts were highly prized and sought after by European aristocrats, the recipe for making this white, hard, translucent type of ceramic wasn’t known. It was a trade secret carefully guarded by Chinese manufacturers who wanted to preserve their monopoly over the international porcelain trade. In 1708, Ehrenfried Walther von Tschirnhaus, a German physicist, after many experiments and by some reverse engineering, succeeded in producing the first European porcelain, while working at Dresden for Augustus II the Strong, elector of Saxony. The second step in the spreading of porcelain in Europe is represented by the technical details regarding the production of porcelain in China, described by the French Jesuit priest Francois Xavier d’Entrecolles in his letters sent from China to Father Louis-François Orry, in 1712. For almost four centuries, the Europeans had imported porcelain from China via the Silk Road or by sea, spending fortunes, because the recipe was kept secret and they hadn’t been able to manufacture it in Europe in spite of numerous attempts. So, only at the beginning of the 18th century, by reverse engineering and experimenting and by some ‘industrial espionage’ they were eventually able to recreate the coveted material. Once the Europeans began to manufacture it locally, import of porcelain from China naturally declined, yet porcelain imports from China never really stoped and even today European countries buy large quantities of porcelain from ‘the birthplace of porcelain’. The difference is that today, China manages to sell large quantities of porcelain worldwide not because the recipe of porcelain is not known, but because in general, they produce it more cheaply than others. We now know the algorithm for making porcelain (mix 20% quartz with 35% feldspar and 40% kaolin; add 5% of bentonite as plasticizer; make a trial mix and burn it at 1400°C in a kiln, etc.).
So, today we are not buying from China the result of a secret algorithm which only they possess, but the effort of following the steps of that well-known algorithm to actually produce the porcelain objects. Of course we also buy the materials used as ingredients, but these materials have little value to us if they are not transformed into porcelain objects, since we also have them as raw materials in our countries. We’re refering here to the mass-produced porcelain objects, especially tableware. We’re not refering to rare, collection porcelain artefacts, such as the blue-and-white vases from the Ming dynasty (in which the historical value and the unique craftsmanship play an important role). So, what we really buy today when we import porcelain from China is the service of making porcelain, not the materials in themselves or the result of a secret algorithm which only they possess. In conclusion, we bought porcelain from China when we didn’t know the algorithm and we still buy porcelain from China today, when we know the algorithm. This happens because their porcelain has good enough quality, but more importantly, because they offer the service of making porcelain at a lower price than other competitors, even local competitors.
It’s important to note that today, porcelain is not only used to make high quality tableware or decorative objects. It’s used as electric insulating material, as building material and it has a lot of industrial applications. Therefore we can say that porcelain is universally useful and beneficial: useful and beneficial to any country, to any society, not just to the Chinese or the Europeans.
The moral of the story is that any trade secret related to highly useful goods cannot remain a secret forever. Such trade secrets get eventually leaked, or the secret process is reverse engineered, or simply rediscovered. This doesn’t mean that the country or company that initially owns the trade secret is doomed to loose any chance of profit. The profit can still be made, but it has to come from something else than from keeping some universally useful information to themselves. The profit can come from offering that service at a higher quality or at a lower price than the competitors. It’s in the nature of universally useful information to flow from one person to another and from one country to another. Trying to stop that is like trying to stop water from flowing. Sooner or later it will be made known and the people who can benefit from it will have it and will use it.
Someone can make the objection that trade secrets always existed and today the world is still full of trade secrets. That is true, but if you study the history of all the trade secrets related to goods of vital importance, highly useful and universally useful, you’ll find that what we said above holds perfectly true: such secrets got eventually leaked, reverse engineered or rediscovered. The only trade secrets that have remained secrets and may remain as such indefinitely, have been those of non-vital importance, or not universally useful. Example: The Coca-Cola Company is proud to have guarded the secret of the Coca-Cola formula for over a hundred years. The reality is that you can hardly consider the secret to produce the aroma of a soft drink something of vital importance to mankind, or universally useful. Now imagine that a new Coca-Cola formula is introduced on the market and that new formula is known to prolong life with about 20 years. That indeed would be universally useful. Would there be any chance for that formula to remain secret for long ? … And in fact, even the Coca-Cola recipe seems to have been rediscovered, in spite of what the company officially claims.
On the software scene, the companies that produce proprietary software resemble medieval China: they struggle to keep the source code of their software secret, hoping to increase their profit and to preserve their monopoly in certain areas of the software market. What they don’t want to understand is that software is actually information, universally useful information. So, can it really remain secret ? The birth and rapid growth of the free and open source software market has proved that people need software that they can control, software whose source code they can see and modify, software that can be used however the user wishes.
A computer program is nothing else than an algorithm (implemented in a specific programing language), a succession of ordered steps that the machine follows to accomplish a task. This algorithm is information which shouldn’t be kept secret. It has to be disclosed when the software is sold, especially since this knowledge is strictly necessary for the users to control the software that they buy. When I buy software, I should receive both the source code, which is the implemented algorithm, and the compiled program, together with the right to modify the program if I need to, and to give it to others if I want to. What I buy when I buy software should be the service of writing that software, which requires time and effort, not the implementation of a secret algorithm.
Fortunately today, before our very eyes, the porcelain story repeats itself in the software world: all the major proprietary software applications have been recreated in the form of free and open source software, in the sense that their functions have been reproduced. Indeed, their source code has remained secret, but their functions have been successfully reproduced in free and open source applications which are equally good and in many cases even better than their proprietary counterparts. So, big tech companies don’t have the monopoly on the software scene anymore and in the long run they won’t be successfull if they continue to base their business model on keeping the source code of their programs secret and imposing unfair restrictions on the use of those programs. This business model may have worked at the beginning of the digital era when programmers were fewer and computers were more expensive and not so widely spread. With the permanent growth in number of programmers, some of them being able to program in their free time, with the wide variety of computers that are much more accessible today than 30 years ago, and with the hyperconnectivity brought about by the Internet, it’s clear that a business model based on secret source code and the interdiction to modify and distribute the programs, can’t be viable for much longer.
Typical trade secrets are bad and as we mentioned, if they are related to universally useful goods, they cannot remain secrets for a long time, but even if they are inconvenient, in general we can still live with them, since after you buy a product which is the result of a secret process of manufacturing, that product is yours and you can do whatever you like with it. Proprietary programs are in fact much worse than trade secrets. If you bought a Chinese porcelain object in the 17th century, even though the Chinese kept the secret of making it to themselves, they didn’t prevent you from doing anything you wanted with that object once you bought it, whereas with proprietary software, after you buy such a program you are forced by the license agreement to do only what the company who sold it allows you to do. You cannot see the inner workings of the program because you don’t have the source code, you cannot change the way it functions, you cannot install it on as many computers as you want, you cannot give it to someone else, etc. And it gets even worse, since this secrecy is related to a product whose inner structure you have to know in order to control it. To use a porcelain object in your house you don’t necessarily have to know how the porcelain is made, but to use a computer program to whom you entrust your business activities or your personal data without knowing what it’s really doing, that is completely wrong and totally unacceptable. If we use proprietary software we suport this unacceptable situation.
When someone argues that proprietary software could be acceptable, you can ask him the following question: “Would you buy a car with the hood welded shut?” Even if he doesn’t know much about engines, if the hood is not welded and he has access to the engine, he can always take the car to a repair shop and ask a professional to repair or change some component of the engine. It’s about who has control over the car: him or the car vendor. When you buy a proprietary program and you don’t have the source code of the program or you don’t have permission to modify it, it’s like buying a car with the hood welded shut.
1.9. Hijacking the ‘open source’ concept
Unfortunately, there are programs that are technically free and open source software, because they are published under FOSS licenses, but once you begin using them, you find yourself pressured to use some other software that is proprietary or to buy other software, services or hardware sold by the companies that developed those programs or by third parties. These programs are dishonest free and open source software. There are even FOSS programs that in certain situations, cannot be used at all without using proprietary software. The best example of such programs is probably Android. When Android is installed on certain mobile phones, those phones cannot be properly used without also using proprietary drivers or firmware which come preinstalled on those devices.
This is a quote from Wikipedia: “Only the base Android operating system (including some applications) is open-source software, whereas most Android devices ship with a substantial amount of proprietary software, such as Google Mobile Services, which includes applications such as Google Play Store, Google Search, and Google Play Services – a software layer that provides APIs for the integration with Google-provided services, among others.”
And: “Richard Stallman and the Free Software Foundation have been critical of Android and have recommended the usage of alternatives such as Replicant, because drivers and firmware vital for the proper functioning of Android devices are usually proprietary, and because the Google Play Store application can forcibly install or uninstall applications and, as a result, invite non-free software.”
We also mentioned the so-called ‘open core’ software, in which the core of an application is free and open source software, while many important plugins are proprietary software.
The companies that develop this type of software, where FOSS programs are mixed with proprietary programs in such a way that you cannot use a device or an application if you install only the FOSS programs, or once you install the FOSS programs you are constantly pressured to install and use proprietary programs, or to buy other programs or services or physical devices, prove that they have absolutely no respect for user freedom and that they use the ‘open source’ term only as a buzz word, to attract the attention and, if possible, the sympathy of as many users as possible. This type of software can be truly called dishonest free and open source software and we think that all users should be able to distinguish between honest and dishonest free and open source software. It’s not enough for a software project to be published under a free and open source software license. To be considered honest FOSS, the project leaders must allow code contributions made by other developers that intend to add freedom respecting features to the project. If they refuse to accept such code contributions, this is a proof that they have a different agenda. Also, the project must not push users towards using any type of proprietary software. In fact it must implicitly or explicitly oppose proprietary software. Honest free and open source software doesn’t pressure its users to use other software or services, or to buy specific devices, because this is what respect for freedom means.
Today, all the big tech companies have published at least a few of their programs as free and open source software. In fact they call it ‘open source’ and they say that they ‘open-sourced’ some of their software. Are those ‘open-sourced’ programs honest free and open source software ? Definitely not. If you look closely to any of the so-called ‘open source’ applications released by the big names of the tech industry, you will always find their hidden interests behind the friendly names and rhetoric. We already mentioned Android as a good example of dishonest FOSS.
Let’s be clear here: the more control a company has over your computing, the more money they can make at your expense by selling you software, various digital services and hardware. The more control you have over your own computing, the less control others will have over you and the freer you’ll be. In commerce, the majority of the so called ‘win-win’ situations are in fact ‘win-loose’ situations. There will always be a tension between the big companies looking to make huge profits by exploiting the personal information of their software’s users, by forcing them to sign up for other services, to buy their hardware etc. and the users who will try to preserve their freedom and control their own life. Almost all the big tech companies act on the priciple: less for you is more for me (‘less freedom for you means more money for me’). Unfortunately not all people are aware of this situation and many refuse to see this antagonism. They just use digital services basing their choices on convenience, without understanding the insidious interests behind those services. Big companies have big interests and these are not in line with the users’ interests. People refuse to understand that all the free (of charge) digital services offered by the big tech companies are not free (of charge) at all: you pay for them with your personal data. It’s like paying with the last thing that has remained unsold: your private life.
To understand why all these companies are trying to ‘befriend’ the free and open source software community, think about this pattern: first they ignore you, then, when they understand that they can no loger ignore you (because you are determined and you become stronger and stronger), they fight you; then, when they understand that they cannot defeat you, they try to assimilate you: first by trying to befriend you, showing that they also like to ‘open source’ some of their projects (because they ‘understand’ the importance of ‘open source’), then by funding you (directly or through donations, sponsorships, etc.), then by buying you (think about Red Hat).
To get an idea of how complicated the FOSS landscape has become, and how deep the big proprietary software companies have implanted their tentacles into the FOSS world, just think about who bought in 2018 GitHub, the de facto homeland of free and open source projects, who bought Red Hat, Inc. in 2019, or who are the main supporters and members of the Linux Foundation, which funds the development of the Linux kernel (These companies even managed to introduce numerous proprietary programs, such as drivers and firmware, into the Linux kernel, the ‘binary blobs’ that we have already mentioned, so that now, the maintainers of Linux distributions that totally reject proprietary software, have to ‘deblob’ the Linux kernel, before including it into the new versions of their distributions).
The big tech companies are today so deeply and so falsely involved in the free and open source software space, that we can say that they managed to hijack the ‘open source’ concept (and the ‘free software’ concept along with it). They infiltrated their interests so deeply into the FOSS world, that in many cases it is very difficult to distinguish between honest and dishonest FOSS projects, especially when you don’t know what is the source of funding for those projects and who has the final word when it comes to what direction the development should take, what new features should be added, etc.
There is also the practice of presenting a program as free and open source software when in fact it is published under a license that is not a FOSS license. This is called openwashing. This article explains openwashing:
“The goal of these unscrupulous organizations is to capitalize on open source’s success and the growing interest (and investment) it is enjoying, by duping a naive audience which is just beginning to engage with open source software and the communities that support it.”
In fact, the dishonest FOSS applications are in a sense worse than proprietary software because with proprietary software you know from the beginning what you are dealing with, whereas the dishonest FOSS programs tend to attract and deceive many users, because they pretend to be freedom respecting applications and the ingenious way in which they pressure their adopters to use other apps/plugins, services, etc., seems legit and harmless.
Whenever you hear about big tech companies funding “open source” projects, think about this image:
We may be asked why we are not convinced of the “good intentions” of big tech companies. What better proofs that they are “true friends” of free and open source software than the fact that they “open-sourced” some of their programs, that they are funding FOSS projects, that they are sponsoring FOSS conferences, etc. ? The answer is the following: The only proof that they truly value user freedom, that they want to respect it and they are true supporters of free and open source software, would be to publish all their software, without exception, under FOSS licenses and allow the community of users to influence the development of their applications by contributing code, making feature requests, reporting bugs, etc. Will they ever do that ? Of course not.
1.9.1. If you don’t recognize your enemy as enemy, don’t expect to win the war
To better illustrate the true attitude of proprietary software companies towards free and open source software, let us mention two quotes:
In 2001, Jim Allchin, a Microsoft executive at that time, stated:
“open-source is an intellectual property destroyer. I can’t imagine something that could be worse than this for the software business and the intellectual-property business.”
Steve Balmer, Microsoft’s CEO in 2001 stated in June 2001:
“Linux is a cancer that attaches itself in an intellectual property sense to everything it touches.”
You can also take a look at the ‘Halloween documents’ and at Microsoft’s “Embrace, extend, and extinguish” (EEE) strategy.
Of course, naive persons can believe that meanwhile, Microsoft have changed their minds and ’embraced open source and even Linux’.
1.10. Is privacy so important ?
If you think that privacy is not very important and privacy protecting software is not that important either, imagine the following situation: before you take your family on a two weeks vacation to a mountain resort, you make a public announcement in the local newspaper or on social media stating your address, the fact that you’ll be on vacation for two weeks, between two specific dates, and the fact that you don’t have any alarm system in your house. It’s quite easy to guess what will happen. Out of 1000 people that will read the news, you can be sure that at least one will be interested to pay a visit to your house at some late hours with the intention to ‘collect’ some of your belongings, while you are away. Therefore, you thought you had control over your house, because being the owner, you were the only person to decide who enters the house; yet, by giving away a bit of information about your personal life, namely that you’ll be on vacation between two specific dates, changed everything. Given the vacation situation, that information alone gave control over your house to virtually anyone with bad intentions. If they have information about you, people can have power over you. This is why privacy is so important.
Also, think what will happen if you publish on social media the number on your credit card, the expiration date and the CVV code. If you do that, you’ll realize that you will not be the only one with control over the money in your bank account. Just by knowing four numbers, virtually anyone will have control over the money in that bank account in the sense that they can use your credit card to buy things online, even if they don’t have the physical card or the PIN number.
The conclusion is that some information should always remain private, and that in this highly digitized world where we are encouraged to give away all kinds of personal data all the time, it becomes of utmost importance to use privacy protecting software, which means software that is in your hands and that you really control.
This article reveals digital privacy issues that all Internet users should know about.
1.11. If you don’t take control of your life, others will
History proved it time and time again: whenever you give others control over your own life (actively, by an express action, or passively, by remaining ignorant about your personal freedom and doing nothing to protect it), they can mistreat you and, sooner or later, they will mistreat you. This is not pessimism. This is realism. So, freedom, in the sense of independence or autonomy, is worth fighting for. While we can’t have absolute freedom, it’s worth making the effort to gain and maintain the greatest degree of freedom possible in all domains of life including the digital domain, because freedom is the essence of life. Indeed, we give up willingly a portion of our freedom to the state in order to benefit from its protection and be able to live in society; this is inevitable, but even in this case we shouldn’t let ourselves be totally controlled by the state, since even the state can go off the rails from time to time, as history also proved it (think about the communist and fascist states in the 20th century, etc.)