What is free software ?

Free software means different things to different people.  The semantic difficulty is moreover compound in the English language, because the English word "free" has two different meanings which are often translated to different words in other languages.   Free can mean free as in "free beer": you don't have to pay for it.  This meaning is translated by "gratuit" in French or "Kostenlos" in German for instance.  And free can mean also free as in freedom, which is translated by "liberté" in French, "Freiheit" in German.   The last form of free is what we target as "free software", although there exists a lot of software that is free as in free beer, but not free as in freedom.  

Since about the second half of the 1970-ies, with the advent of computers for a large public and the lucrative potential that this brought with it, many software producers have seen the opportunity to lobby the legal systems in many countries to endorse quite restrictive and repressive laws on the use and sharing of lists of computer instructions.  The legal systems in many countries being tailored to these lobby groups, the distributor of software can impose quite a lot of requirements on the use of the lists of computer instructions that he distributes, and any one desiring to have their computer execute these lists of instructions has to abide by those requirements: the so-called EULA (End User License Agreement).  Usually, one of the requirements of the EULA is to pay a fee (once, or every year) to the distributor, but this clause is not necessary.  In that case, the user is still required legally to agree on a whole list of requirements, but is not obliged to pay money to the distributor.   Software distributed under such conditions is free as in free beer, because it doesn't cost any money, but the user is not free to do with that software what he likes, so this software is not free in the sense of freedom.  This is not the kind of software that we consider here, but there is nevertheless a lot of it in circulation.We will call all software, whether it costs money or not, that is subject to EULA, "propriety software".

There has been a reaction to this restrictive legal system by explicitly distributing software that has no restrictions on its use, and of which the distribution is further encouraged.   However, the legal status of this free software is not unique, and there is a whole span of legal possibilities of this free software, so the term "free software" includes in fact a whole spectrum of legal positions.  However, all free software has one thing in common: you are free to use it on your computers as you like.  The use of this software has no imposed legal "EULA" type restrictions on its usage or its copying. 

In fact, the spectrum of legal positions of free software uses the laws that impose respect of EULA "in reverse", by imposing obligations of free re-distribution to different degrees.   The most permissive form is "freeware".  You are entirely free to take freeware, and do with it what you want: even to turn it into propriety software.  This is actually what was perceived as a problem with freeware, and is the main reason why more restrictive licenses for free software have been invented.  Probably the most restrictive form is the Gnu Public License: there is not the slightest way in which you can ever put any EULA conditions on software that contains a single line of code, released under the Gnu Public License.  There are legal positions in between, such as the Berkeley license.  The Gnu public license is considered the most "viral" one, but all of these more restrictive (in the reverse sense) legal frames serve essentially to avoid what was observed with freeware: its transformation into propriety software, and the loss of freedom of usage of that initially free piece of code.  

In other words, although most free software is actually licensed (using the same legal machinery that imposes the respect of EULA of propriety software), its licensing conditions never impose any restrictions nor on its use, nor on its copying.  In fact, the only restrictions they impose are on imposing restrictions on any system including them, to varying degrees.   Within the free software community, there are "religious wars" about the exact terms under which "free software" should be free, but for all practical purposes, as long as you are not trying to turn such free software into propriety software, you can do with it what you like.

Open source software

Although open source software and free software are for all practical purposes, mostly the same, the two concepts are different in principle.  In fact, open source software could be in principle propriety software, and free software doesn't need to be open source software.

Open source software means in principle that the user of the software receives not only the executable binary code that can run on his computer, but also the source code that the programmer wrote to produce the binary, so that the user has the technical possibility to:

  1. Inspect the workings of the software, that is, see exactly what his computer is doing
  2. Rebuild the binary software (maybe optimising the binary code for his computer)
  3. Modify, improve, adapt the software (making a similar piece of software with some modifications in its functioning)

As most propriety software is released with EULA that explicitly forbid you to do exactly that, there is almost no "open source" propriety software.

On the other hand, most free software is distributed with its source code.  Several free software licenses even impose to make available the source code if you want to distribute a modification of the software.  Again, the most severe license on that point is the Gnu public license.  Freeware didn't have to be distributed with its source code, and often, it wasn't.  A binary program was made available, and you did with it what you want.


Most free software is both free and open source, hence the acronym: FOSS (Free Open Source Software) or to be more explicit about the meaning of "free": Free Libre Open Source Software.  

This is the kind of software entrop-x is providing consultancy for, for many reasons.  For a small company,there is no risk of getting into legal trouble with owners of propriety software when doing consultancy.   There are no problems of licenses when doing experiments, and when doing teaching around it.  It is much easier to consider a whole spectrum of software to solve a problem, than in the case of propriety software, where one is usually bound to a few options and versions.  We have more experience with FLOSS software than with propriety software.  Finally, there is more opportunity to do consulting and teaching concerning FLOSS than propriety software, which has usually a closed but well-organised network of consultants and teachers.

Moreover, we think that for the aspects in which entrop-x is particularly interesting,namely security and cryptography, open source software is in principle superior in the sense that the source code permits one, at least in principle, to see what the software is actually doing.  There is one level of needed trust less: one doesn't have to take for granted that the binary code does what its distributor claims it does, and doesn't what its distributor didn't say it did (as well as the propriety software used by the distributor, and the propriety software used to make the propriety software that is used by the distributor etc...).

In matters of security and cryptography, in fact, there is no other serious option but FLOSS.