I was quite surprised to see when I reviewed the articles I’d posted over the years that I’d never written one specifically about Open Source software, and “free” software. Of course the topic has cropped-up quite a bit at Cardiff U3A Computer Group meetings, and I have referred to pieces of Open Source and “free” software on “Just thoughts …”, but I’d never put my ideas down about the reliability, philosophy, use and accessibility of Open Source and “free” software in general. Just as I write this – guess what popped-up on my screen …
… Java – an example of a programming language that has morphed into a software development environment whose component parts are all, or can be replaced by, open source modules. Java is an accepted piece of the architecture of a huge number of the systems we use everyday, as is Apache – the web-platform that powers most of the Internet’s servers. I mention these two as examples because it demonstrates how deeply elements of Open Source thinking is embedded into so many of the systems we use every day. Other ones would be Linux, and WordPress – a multi-platform operating system, and web-publishing software which the Cardiff U3A Group has looked at before. So, in a nutshell – open source is respectable!
What makes software open source then? Technopedia defines open source thus …
“Open source is a philosophy that promotes the free access and distribution of an end product, usually software or a program, although it may extend to the implementation and design of other objects. The term open source gained traction with the growth of the Internet because of the need to rework massive amounts of program source code. When source code is opened to the public it allows for the creation of different communication paths and interactive technical communities; it also leads to a diverse array of new models.”
… thus the code is generally very safe, because it can be inspected by anyone, and any changes in the code can be easily traced. The definition goes on to explain the following …
“Open source revolves around the concept of freely sharing technological information so that it may be improved through multiple insights and viewpoints. Since the technology is open source, the amount of work that needs to be done is reduced because multiple contributions are added by many individuals. This concept existed way before the age of computers and even before the industrial age when people shared and improved recipes for food and medicine, for example.
In terms of open source software, the code is often freely downloadable and changeable as long as the user sticks to what is agreed upon in the software license agreement. Open-source software is usually under the General Public License (GNU), but there are other free licenses like the Intel Open Source License, FreeBSD License and the Mozilla Public License.”
That doesn’t make it necessarily FREE, because developers can charge for the software they develop on the base of open source, however generally if it’s made available under one of the above licences it’s often the Support and Implementation that’s chargeable, not the software itself. Look for the licences (as above) to determine whether the software is genuinely Open Source and thus you should expect it to be “respectable” and “safe”.
So any open source software must adhere to the following criteria:
- Free redistribution of the software.
- The source code should be publicly available.
- The software can be modified and distributed in a different format from the original software.
- The software should not discriminate against persons or groups.
- The software should not restrict the usage of other software.
Then there’s Free Software. As I’ve explained most Open Source is distributed free of charge, and the intention behind it was freedom of code, and freedom from intellectual property rights. The subtle difference with Free Software is that in the latter the emphasis is on freedom for the user to do whatsoever they want to do with the code. It is truly FREE! As a term and as expressed by the Free Software Foundation it predates the Open Source initiative and was the driving force behind the licences mentioned above. Thus free software must adhere to the following four pillars of freedom (which are rights and not obligations):
- The freedom to deploy the software for any use case without any restrictions. For example, saying that the license of a program expires after 30 days makes it non-free.
- The freedom to study how the software works and modify it according to your needs and preferences.
- The freedom to freely re-distribute the software to assist someone in need. The redistribution can be done at a cost or at no cost.
- The freedom to enhance the performance of the software and release your enhancements for the community to benefit—both programmers and non-programmers. You can do this at a cost or at no cost.
Now it starts to get a little bit more cloudy. There’s freeware which might also be described as freememium, or shareware. I quote …
“Typically, freeware refers to a software that you can use without incurring any costs. Unlike open source software and free software, freeware offers minimal freedom to the end user.
Whereas it can be used free of charge, often modification, redistribution, or other improvements cannot be done without getting permission from the author.
As such, freeware is often shared without including its source code, which is atypical to open source software or free software.
Two of the most common types of freeware are Skype and Adobe Acrobat Reader. While both programs are free to use, their source codes are unavailable to the public.
Most developers usually market freeware as freemium or shareware with the intention of encouraging users to buy a more capable version.
Freemium refers to a program that is offered at no cost, but money (premium) is paid for extra, more capable features.
Shareware refers to a program that is initially available without any costs attached, and users are encouraged to distribute copies. However, that cost-free period usually lasts for a certain period; thereafter, a user is required to pay for continued use.”
Finally, you may come across the term “donationware”. This is software that is distributed for free, but the author invites the user to make a contribution to the ongoing development costs (or the programmers coffee). It might also be described as “conscienceware”, or even “thankyouware”!!!
So armed with that information, it’s time for me to provide a list of the free software that I treasure the most.