NOTE: This article may appear to be unrelated to either genealogy or history. However, some genealogy software is released as Free and Open-Source Software (FOSS) and a number of questions about such software have been posted to the discussion board on the newsletter’s web site in recent weeks. I thought a short article explaining the term might help others who have not yet asked “What is FOSS?”
Free and Open-Source Software (FOSS) is exactly that: FREE. However, not all free software qualifies as open source.
I will classify free software into four groups. The first three are considered to be proprietary software. That is, the producing organization does not allow else to see the source code of the software the programmers created. The source code is private, or proprietary, information that only the employees of the producing organization are allowed to see.
1. Ad-supported free software
Free software is proprietary software that might be something created by a corporation or a non-profit organization and may contain advertising that promotes the products or services of that organization or perhaps purchase something from one their advertisers that pay to have advertising inserted into the free software. The producing company does not make the source code of the program public, however. You have to hope and trust that the free software does not contain viruses, trojan horse software, or other malware (malevolent software) that might steal your credit card information or bank account credentials or something similar. Facebook is perhaps the best-known free software that contains advertising.
2. Feature-limited software
Many corporations may offer free software that is really an “introductory version” of a commercial product that costs money. These are almost always proprietary software. The most common scenario is when a company releases a free program that you can use forever, should you wish to do so. However, such programs typically will display occasional messages suggesting you pay some money to upgrade to the “plus edition” that contains more features, such as a built-in spell checker or the capability to add multi-user capabilities. Legacy Family Tree Standard Edition and RootsMagic Essentials are two examples of feature-limited software. Both products are free forever but do not contain all the features the programmers have developed. In both cases, you can pay a fee that unlocks the “Deluxe Edition” that includes hints, online backups, interfaces to various web sites, access to free technical support, additional reports, and more. Again, you have to hope and trust that the free software does not contain viruses, trojan horse software, or other malware (malevolent software) that might steal your credit card information or bank account credentials or something similar.
3. Free software that is not open source
Many corporations and non-profit agencies produce free software but do not release the source code to the programs. Without the source code, these programs qualify as proprietary software. Examples would include almost all the free software from Google (the Chrome browser, Google Maps, Google Drive’s word processor and spreadsheet programs, Google Allo and Google Duo, and many other applications), as well as the Firefox web browser produced by the non-profit Mozilla Corporation. Again, you have to hope and trust that the free software does not contain viruses, trojan horse software, or other malware (malevolent software) that might steal your credit card information or bank account credentials or something similar.
4. Free and Open-Source Software (FOSS)
Like the above examples, Free and Open-Source Software (which I will abbreviate as FOSS) is completely free. However, the producing organization not only allows the user to download the actual program but also allows anyone to download the source code and examine it for themselves. Obviously, this will only appeal to people who have programming skills. However, there are hundreds of thousands, perhaps millions, of programmers who possess such skills.
These skilled programmers who are not employees of the producing organization are then invited to closely examine the software to find any bugs, programming errors, malware, or anything else that should not be included with the program. They are also encouraged to modify the code, re-compile it, test their new versions, and then provide feedback to the producing organization(s) as suggestions for future improvements to the program. In many cases, newly-updated versions of FOSS software includes bug fixes and improvements suggested by users, not from within the organization’s own software development department. In short, users are encouraged to voluntarily improve the design of the software.
This is in contrast to proprietary software, where the software is under restrictive copyright and the source code is usually hidden from the users. Some people will claim that FOSS is the same as public domain software. However, attorneys probably would disagree, stating that “it is similar but not exactly the same.” I’ll leave it to the attorneys to argue the minor differences. Regardless of the wording used, FOSS software is free to use, copy, study, and change in any way the user wishes.
There may be some restrictions, however. FOSS products typically include a software license stating that is free but may prohibit certain uses such as: using it for military purposes, extracting pieces of the source code and embedding it into a commercial software product, free for personal use but not to be used by corporations, and similar restrictions. Always read the software license before using the FOSS product.
In many cases, the producing organization of FOSS products has no employees, no offices, and almost no bills to pay. In many cases, the group that produces FOSS software never incorporated as a corporation or never formed a non-profit organization. Most of the programmers are unpaid, volunteer hobbyists who enjoy producing a program that works the way they want. Most of them work from their homes and the programmers for any one project may live in different countries around the world. Nobody ever “commutes to the office” daily (after all, there are no “offices!”) and yet they can work together on a programming project, thanks to the internet.
Some of these hobbyists also may have “day jobs” as programmers at various corporations. Still others are lawyers, teachers, students, accountants, housewives, and others who are not employed as programmers but do have programming skills. All of them have a desire to contribute to a worthwhile project.
While all FOSS software is always free, many of the organizations that develop FOSS software do accept donations.
No software is ever perfect and bug-free. However, experience has shown that the larger and more popular FOSS programs tend to have fewer bugs and fewer compatibility problems than do the proprietary products produced by Microsoft, Apple, IBM, Sony, Panasonic, Oracle, Symantec, and other multi-million dollar corporations. For further information about the stability and security of FOSS products, see Open Source Software is More Secure than You Think by Lasse Andresen at: http://bit.ly/2MFmfIS. The article was written in 2013 but is still relevant today.
Richard Stallman’s Free Software Definition, adopted by the Free Software Foundation (FSF) at https://en.wikipedia.org/wiki/Free_Software_Foundation, defines free software as a matter of liberty, not price. The users are at liberty to use, copy, study, and modify the software as they wish.
FOSS includes some operating systems, such as the Linux kernel and BSD UNIX. Much like UNIX, Linus Torvalds’ Linux kernel has attracted the attention of many volunteer programmers.
The typical computer user is probably more aware of the thousands of free, open source programs that are available including: LibreOffice (a free office suite of programs that competes with Microsoft Office), Firefox (a web browser based on Mozilla), Thunderbird (a mail client based on Mozilla code), The GIMP (an image editor), Audacity (an excellent audio editing program), Calibre (a popular app for reading and even editing ebooks), HandBrake (a tool for converting video from nearly any format to a selection of modern, widely supported formats), VLC media player, and many others.
The most popular FOSS program for genealogy is Gramps
Gramps is a free FOSS software project – a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists. It is a community project, created, developed and governed by genealogists. Gramps was originally developed for Linux and UNIX but now additional versions are available for both Windows and Macintosh. Gramps gives you the ability to record the many details of an individual’s life as well as the complex relationships between various people, places and events. All of your research is kept organized, searchable and as precise as you need it to be. Gramps is a free competitor to Family Tree Maker, Roots Magic, Legacy Family Tree, Family Historian, Reunion, Heredis, MacFamily Tree, and almost all other genealogy programs of today. You can learn more about this great free program at: https://gramps-project.org.
Several other FOSS genealogy programs are also available
HuMo-gen is a web-based genealogy program, based on PHP and MySQL, allowing it to run on nearly any standard web server platform of your choosing. Originally created in 1999 by Dutch developer Huub Mons, HuMo-gen is now available in a number of languages, including English, and is still being actively developed. It allows for storing a number of attributes for each member of the family tree, from the basic names and dates to locations, witnesses, and sources, and you can add attached files to any family member as well. It will also convert a genealogical GEDCOM file to a PHP/MySQL website. See https://sourceforge.net/projects/humo-gen/ for more information or to download the program.
PhpGedView, and its fork, webtrees are competitors to HuMo-gen but with many differences. PhpGedView was popular at one time but has slipped in popularity since a group of programmers started modifying the PhpGedView source code so much that it was eventually renamed webtrees (always spelled with all lower-case letters). You can learn more about webtrees at https://www.webtrees.net.
GenealogyJ (sometimes called GenJ) is a Java based desktop application. The description from the GenealogyJ website states that it is a viewer and editor for genealogic data, suitable for hobbyist, family historian and genealogy researcher. GenJ supports the Gedcom standard, is written in Java and offers family tree, table, timeline views and more. GenJ is free software so it can be redistributed and/or be modified under the terms of the GNU General Public Licence as published by the Free Software Foundation. Details may be found at http://genj.sourceforge.net/.
LifeLines was one of the first open source projects for tracing family history. However, it sports a text-based interface, and never displays anything as graphics and does not use a mouse. If you enjoy doing everything from the keyboard, you may like LifeLines. While LifeLines does qualify as FOSS, be aware that it has not been updated in several years. More information may be found at http://lifelines.sourceforge.net/.
You can find a list of other FOSS software on the Gramps web site at: https://gramps-project.org/wiki/index.php?title=Other_genealogy_software. However, you should be aware that some of these programs have not been updated in years.
Of course, nothing is ever perfect. While FOSS is always free and can be useful and powerful, it is never guaranteed to be bug-free. According definitions published in Wikipedia, “Linus’s Law states the more people who can see and test a set of code, the more likely any flaws will be caught and fixed quickly. However, this does not guarantee a high level of participation. Having a grouping of full-time professionals behind a commercial product can in some cases be superior to FOSS. There also can be undesired functionality built intentionally into FOSS which does not get detected or fixed − e.g. due to no or few users checking the source code, changes to the software getting denied or the source code being hardly readable.”
Of course, the same flaws often also exist in proprietary software that is not open source.
The benefits of using FOSS can include decreased software costs, increased security and stability (especially in regard to malware), protecting privacy, education, and giving users more control over their own hardware. If you are looking for a new program and do not wish to spend a lot of money for it, you might want to check out the FOSS products available.