About rootstrust

rootstrust is a powerful desktop genealogy program that can execute on virtually any computer running Windows, macOS or Linux. It is designed to manage relationships between people, relationships between people and places as well as historical and administrative relationships between places and other places. It also allows you to import and export data, generate family tree charts and other textual reports, link document and multimedia image files (pictures, videos), source references as well as websites to the objects it manages: Persons, Families, Events, Places, Sources and Repositories (libraries, archives museums and private collections).

rootstrust is written in Java and uses SQlite as a database engine. It can be installed on the hard drive of your computer or it can be purchased preinstalled on a high-quality flash drive that you can:

     1.    take with you to a library, archives or a friend’s house,

     2.    plug it into any Windows, Mac or Linux computer,

     3.    enter new data into your database.

     4.    return home and transfer the modified database to your hard drive.

rootsTrust can import GEDCOM files generated by other genealogy programs or genealogy websites. For a detailed look at rootstrust’s rich set of features, click the Features entry on this website’s main menu.



rootstrust executes on desktop and laptop computers that have a 64-bit or 32-bit processor manufactured by Intel or AMD. It is compatible with most general-purpose versions of the following three operating systems:

Emulation Virtualization Software. With programs like Parallels for MacOS or Oracle's VM Virtual box you can set up one or more virtual machines on your computer that use operating systems different that one installed. For example, you have a Mac, have installed Parallels on it and installed Windows 10 within Parallels. You have rootstrust but prefer the Windows look and feel to the macOS look and feel. So, you install rootstrust on the Parallels copy of Windows and run it there.

Online Virtual Computer Services. MacinCloud, Frame and Paperspace are cloud-based services that allow you to set up a virtual computer in the cloud and install software on it such as rootstrust. Let's say you subscribe to such a service and install Windows 10 and rootstrust on it. When you connect to the service with your web browser, you see the Windows desktop in the browser window, even if you are using a Mac or an Android tablet.

iOS and Android. rootstrust cannot run on any device that uses Apple's iOS operating system, because iOS does not support Java. Android does support Java but a variety that is not compatible with the Java used on Windows, macOS and Linux. However, if you are using a online virtual computer service, you can, of course, connect to rootstrust from your iOS or Android device using a web browser

ChromeBook and ChromeBox. While rootstrust cannot execute under ChromeOS, GalliumOS can be installed on these devices in a dual-boot arrangement. GalliumOS is a Linux variant that is indeed compatible with rootstrust.

Windows.  rootstrust has been successfully tested on Windows XP, Vista, Windows Server 2008, Windows 7, Windows 8, Windows Server 2012 R2 and Windows 10, however it will not work on Windows RT.

macOS. rootstrust will execute on any 64-bit Mac that is running macOS 10.7 (Lion) or later. While rootstrust can run in 32-bit mode on Windows and Linux, macOS does not support 32-bit Java, thus rootstrust cannot run on 32-bit macOS.

Linux. We have successfully tested rootstrust on Ubuntu, Mint, Fedora, ChaletOS, Zorin and GalliumOS. It certainly works on other Linux flavors.

In addition, rootstrust can be employed in these environments:

Why I wrote rootstrust

I started writing my own genealogy software in the late 1970s when primitive home computers were starting to become popular. When the IBM PC came on the market, genealogy software started to become available. I tried early versions of Family Tree Maker and Reunion but was disappointed in the limited functionality and poor reliability. Then around 1987 I purchased a copy of Borland Paradox, a programmable database system, and began developing an application I called GDMS Genealogical Database Management System). I still tried commercially available genealogy programs from time to time, and since I was never able to find one that had all the features that I wanted, I would always return to GDMS. When Microsoft Access became available, I ported GDMS to it from Paradox. In 1999 I became disenchanted with GDMS being subordinate to Access and wrote a free standing GDMS in Microsoft Visual Basic 6.0. Several years later I rewrote GDMS in the new Microsoft C++ which was fully object oriented. Finally, in 2012 I decided to rewrite GDMS once again, but this time in Java so that it could run on Windows, macOS and Linux. My intention in this rewrite was to sell GDMS to interested genealogists. My family agreed that GDMS was too clunky a name, so after a long debate we settled on the name rootstrust.

What are the features that I could not find in a single program?

1.  Unicode support. In addition to the Western European characters that are available in the ANSI and ANSEL character sets, I needed access to Turkish, Polish, Bulgarian and Bengali characters to properly document the personal and place names that appear in the history of my extended family. While some programs claim to offer Unicode support, they still do not render characters other than those that appear in the ANSI character set.

2.  Event sharing. Some but not all popular genealogy programs offer some form of event sharing beyond that of the obligatory sharing provided in spousal events (marriage, divorce, etc.).

3.  Context sensitive help. Most programs offer an ‘out of the box’ help facility that requires you to type into a text field the subject you need help with. In my experience, half the time when I attempt to use such a help feature, I get little or no help. With context sensitive help, the program is aware of what you are doing and serves up help specific to the task at hand.

4.  Compartmentalized storage of external files. Before Microsoft developed the NTFS file system for Windows, experts recommended partitioning large hard drives into multiple partitions to cut down on wasted storage space due the inefficiencies of the old FAT file system. I bought a new, larger capacity hard drive, and following the above-described recommendation, I set up three partitions: C: for Windows; D: for application programs; and E: for data. I copied the commercially available genealogy program I was using at the time to drive D: and its database and the linked files to E:. The program loaded and accessed the database without a problem, but it could not find the linked document and multimedia files. When I called technical support to report my problem, I was told that the absolute path of each linked file was stored in the database at the time of the linkage and could not be changed. I was told that I would have to reimport each file individually. I told them that I would reimport the files, but into a different program. That program turned out to be GDMS, later to be renamed rootstrust. The vehicle used by rootstrust to prevent such a problem from occurring is the File Cabinet. In rootstrust, the paths of linked files are not absolute, rather they are relative to their File Cabinet. The absolute path of a given linked file is then the path of the File Cabinet plus the relative path of the file. So, if a File Cabinet contains 5,000 files and you move it to a new location, you only have to change the path of the File Cabinet to reconnect all your files. File Cabinet paths are editable in rootstrust.

5.  Place linkage. Some places are connected to others either administratively or historically. For example, prior to the end of World War II, the Polish city Słupsk was the German city Stolp where my father-in-law was born. In my database Stolp and Słupsk are linked and share common notes. I grew up in a community on Long Island, NY called Floral Park that straddles the border between New York City’s Burrough of Queens and neighboring Nassau County. In 1890 the large, previously rural Queens County was split into Queens County and Nassau County. Unfortunately, the new border passed through the middle of several communities including East Hinsdale which was renamed Floral Park. My database has Floral Park (Queens), Floral Park (Nassau), and East Hinsdale. All three are linked and share common notes.


K. Brooke Nelson, Superior, Colorado