FOSS and FLOSS are two acronyms describing the same thing: software that permits end users to examine its source code, modify it, and redistribute any modifications. The acronyms stand for "Free/Open Source Software" and "Free/Libre/Open Source Software". The terms describe the exact same thing, personal preference dictates whether or not to add the "L" for "libre" and clarification.
FOSS / FLOSS software is software distributed under any open source licence that permits modification and redistribution of the source code. While there is dispute regarding which of the terms appeared first, there is no competition between the them. The "L" for "libre" is sometimes included to supplement the word "free" and emphasize that it is referring to freedom of action, not free as in "no cost". In fact may companies sell open source software, such as Red Hat and Novell. However, the end user is permitted to acquire the source code of their products, modify it, and redistribute it. Products such as CentOS are created this way.
The FOSS / FLOSS movement is steered by the Free Software Foundation. The FSF recognizes several software licences as meeting the open source definition, the most prominent of these is its own GNU General Public License. To be considered FOSS or FLOSS software, its license must allow the following actions:
1) The end user must be able to use the software for any purpose. That means that business, personal, and even illegal use is permitted by the software licence.
2) The end user must be able to redistribute the software. That means that once acquired (whether or not money was exchanged) the end user can make unlimited copies of the software and distribute them. The end user is permitted to charge for the copies or to distribute them for free. He can keep all the money he earns from selling the software. The only restriction is that he must also redistribute the source code of the software, and provide those who acquire it from him the same rights as were provided to him.
3) The end user must be able to examine the source code of the program, and to modify it according to his own needs. He can then run his modified version for any purpose as he sees fit.
4) The end user can distribute his modified versions of the software under the same conditions that he can distribute unmodified versions of the software. He is not required to distribute his modified version if he chooses not to.
Acronyms Open Source Open_Source Programming Terminology Questions