Roots access

Short URL:


Genealogy is a burgeoning hobby and to help the home genealogist, a whole range of software is available. Much of it is commercial but here I’ll look at one of the most popular free software options—GRAMPS. Charting your family history needn’t mean compromising on licensing.

Finding your roots

Genealogy, the study of one’s ancestry, is a growing industry. Fuelled by on-line resources like [3] and television programs like the BBC’s “Who do you think you are", thousands of people are to be found scouring web sites, visiting graveyards in remote locations and ordering obscure birth certificates all in the name of tracing their roots.

Genealogy is highly can easily find yourself staring bleary-eyed at the computer at 3am

If you have ever considered tracing your ancestry, there are a few things to note: it takes time, it can create huge amounts of data and it’s highly addictive. Once you start you can easily find yourself staring bleary-eyed at the computer at three in the morning trying to figure out if the person you’ve just found is the same one you are related to. I should also say that it can be highly rewarding—especially when you amaze your relatives with the details of their family history.

From data to trees

Managing all that information suggests a database and while it is possible to create your own, there exists an array of software which can ease the task of turning the data you have gathered into a family tree. Much of this is commercial although it is generally at a reasonable cost. Of course, for those who prefer their software to be free there are several applications available [4] and of these GRAMPS is arguably the most popular. GRAMPS stands for Genealogical Research and Analysis Management Programming System. A name which makes me wonder if the acronym or the full name came first.

Before I plunge into the details of installing and using GRAMPS, take a look at some of the functionality that it provides, as available from the sidebar as shown in figure 1.

Figure 1: The standard GRAMPS interface showing a pedigreeFigure 1: The standard GRAMPS interface showing a pedigree
  • People: The bedrock of all Genealogy software. In GRAMPS you can store people’s names (birth, marriage and others), multiple addresses (with dates) and events (e.g. marriage, emigration).
  • Families: People are automatically grouped by last name, you can also link them by relationship to each other. Thus allowing you to produce family tree style reports.
  • Pedigrees: A visual, interactive layout of a family tree.
  • Sources: During research the genealogist will gather information from many sources. GRAMPS allows you to record these sources so that you can find which have proved the most useful over time and waste less time by starting future searches there.
  • Places: It’s likely that you’ll be entering similar locations several times within the database. GRAMPS allows these locations to be stored as records in their own right, allowing you to track popular areas.
  • Media: You can store various typed of media file against records, including photographs, scans of documentation, videos, audio—pretty much any file.
  • Reports: There’s a plethora of report formats and styles available.

Taking your first steps

As with most free software, there are many ways to install GRAMPS ranging from roll-your-own (download and build from sources)—to the more sedate distribution specific packages. As far as I know packages exist for most of the major GNU/Linux distributions. GRAMPS is available for both GNU/Linux and FreeBSD but I’ll review from the GNU/Linux perspective here and in particular Debian and Ubuntu. That’s because—quite honestly—it’s what I use myself. I also use KDE although this is of little importance here as GRAMPS uses both the GTK and GNOME libraries and presents a GNOME interface regardless of your desktop preference. For this reason if you use KDE you may need to install some GTK and GNOME library packages as well although any good package manager, such as Synaptic, will assist with these dependencies.

GRAMPS presents a GNOME interface regardless of your desktop preference

If you are a command-line person then apt-get install gramps will do the trick. For the GUI people among us, I’ll concentrate on Synaptic. Simply search for gramps, mark it by checking the box beside it’s name and click on Apply. See Marco Marongiu’s piece on Synaptic in Issue 11 for more detailed information on using it. If you are using Ubuntu, ensure you have the “universe" repository included in Repositories (under the Settings menu). Don’t forget to click Reload (or apt-get update) before you search though. In both Debian and Ubuntu GRAMPS is in the GNOME section of packages.

If you are using Debian stable (at the time of writing this is 3.1r2/Sarge) then you will find your version of GRAMPS is 1.0.11-1. This article is referencing the more recent 2.0.11-1 found in the testing (Etch) and unstable (Sid) Debian distributions.

Finally, if you are stuck with a proprietary operating system but still want to try GRAMPS, then why not try the Linux Genealogy Desktop CD [2]. This is a live CD based on Ubuntu and will run without installing anything on your hard disk, although you can do so from the CD if you wish.


When you first start GRAMPS you are greeted by a database dialog window where you can choose between opening a recent database, browsing for an existing one (which has dropped off the recent files list) or creating a new one. Once you open a database or create a new one, you are brought to the main GRAMPS interface with the ubiquitous “tip of the day" pop-up.

Across the top is the toolbar with some fairly obvious buttons and above that a menu bar. These perform operations pretty much as expected. For example, clicking the “Add" button when in the family or people screens will add a new person, displaying the person editing window as shown in figure 2.

It’s about who you know

Let’s look at adding people to a database using the person editing screen in figure 2. Under the “General" tab you are given places for given (fore) names, family (last) names, a family prefix which may be something like “de" or “van", a suffix, which could be something like “Jr." or “III", gender and dates and places of birth and death. Dates can be recorded in one of a number of formats but you are expected to be consistent and stick to the one you have set in the options dialog.

Often the name you have for a person may not be their birth name—this is especially the case with married women gathered from a census. In these cases you can indicate what type of name this is, e.g. married, birth or also know as. Names can also be recorded with greater detail including the source used to find them. This is useful when looking up census information as the same person can often be using different names or nicknames in consecutive censuses. You can also indicate whether the information is to be considered complete and/or held as private—which allows you later to exclude it from exports.

Figure 2: People are the bedrock of genealogical databases, even if the images don’t quite match the namesFigure 2: People are the bedrock of genealogical databases, even if the images don’t quite match the names

The other tabs are fairly self-explanatory and operate on similar lines to each other. You can record attributes like national origin, caste and such as well addresses and events, each of which includes references to its source. The gallery is a list of media associated with this person. In the case of figure 2 the photo of Einstein is linked against this person. When the gallery has content, GRAMPS will display the first item from it on the “General" tab. The order of the gallery can be simply changed by dragging and dropping and any media added here will be automatically logged in the main media section.


GRAMPS automatically groups people by family name, making them easier to find but, of course, not always accurate in terms of their relationship. A John Smith on your mother’s side may not be related at all to a Mary Smith on your father’s. The family editing window aids with linking people by more than name. Figure 3 shows a typical example of this and it’s a simple job to link partners, children and parents for the current person. These related people can be selected from the database or added directly from this window. Adding a new partner to the current person will trigger a marriage event entry as well. In cases of multiple partners, selecting a partner will display only the children from that relationship, both of which are nice touches.

Figure 3: Managing relationships between peopleFigure 3: Managing relationships between people

Using pedigrees

Of course at some point you will want to see, in a visual form, how all these people relate to each other. This is particularly the case when you find common family forenames in use across generations. For this purpose GRAMPS provides the pedigree view. A typical pedigree view is shown in figure 1.

A nice feature of GRAMPS is that double clicking an entry in one view will open an editing window related to that record

The pedigree is a horizontal family tree flowchart style layout. GRAMPS will display as many generations as it can fit on the screen—in my case this is five. If further generations are available at either end of the current view, a small button is displayed next to the relevant person. Clicking this will move the view in that direction. If there is more than one ancestor or descendant available, a list is provided from which you can select a person. Those which continue the tree—that is they have children or parents listed—are emboldened in the selection list. Thus if, in figure 1, Veronica Louise Smith has children, they would be listed when you click the dot to the left of her name. Any of those which themselves had children would be shown in bold. A nice feature of GRAMPS is that double clicking an entry in one view, say a person in a pedigree, will open an editing window related to that record. This enables you to move around without resorting to continuous back-tracking.

Getting information out of GRAMPS

There will be times when, during your research, you come across another genealogist who has gathered quite a bit of information which you would find useful. Alternatively, you may find you have information they want. Although it is wise to never blindly accept another genealogists data as completely accurate, GRAMPS provides import and export facilities for several genealogical data formats including the ubiquitous GEDCOM file. Import and export “wizards" are provided to guide you through the process and make it very simple to perform.

GRAMPS provides import and export facilities for several genealogical data formats


Any application with a database at its heart must have reporting features. GRAMPS includes a vast range of easy to use, pre-defined report types with significant customisation options. Reports can be produced on a single record in graphical and textual forms. The former being charts and graphs and the latter being textual information compiled from the database. For example a text ancestor report may contain this:

“John William Smith. John William was born on 24-05-1924. John William is the child of John Henry Smith and Jane Brown. He married Susan Jane Lewis on 15-07-1949"

Only the names and dates are entered by the user, the rest is composed by GRAMPS.

Some examples of the graphical reports available are shown in figure 4. Each of these was produced in seconds with a few clicks of the mouse. Those reports were created in Open Document Text (ODT) format but reports can be produced in a variety of document formats including Scalable Vector Graphics (SVG) and HTML.

GRAMPS includes a vast range of easy to use, pre-defined customisable reports

Figure 4: Just some of the wide range of graphical report styles available in GRAMPSFigure 4: Just some of the wide range of graphical report styles available in GRAMPS

Database maintenance

As your data grows and changes the database can become a bit disjointed and reports can therefore appear to give inconsistent results. Fortunately GRAMPS has a number of database maintenance tools that assist in straightening this out. This means it’s a simple job to check and repair the database, looking for things like children with a link to a parent record that no longer exists. You can also have GRAMPS verify the data itself, checking things like dates of birth and death for unrealistic lifespans. Of course, checking for duplicate people is also available. As said at the beginning of this article, genealogical research can result in a lot of data and these maintenance tools prove invaluable at highlighting parts which need your attention.


Often, when reviewing free software, the temptation is to compare the application with a commercial alternative. It’s as if the free software application is valued by how well it could replace or replicate the commercial program. I’m going to resist that temptation here. GRAMPS is a good piece of software and deserves better than to be judged by some of its, in my opinion lesser, commercial rivals. The interface is clean, simple and easy to use and my only complaint, and I stress this is a personal preference, is that it forces me to use the GNOME interface which, at times, I find a little clumsy. The editing and reporting functions are excellent and it is very easy to quickly build up a good record of the research you have made without getting lost in a quagmire of names and dates. Clearly a lot of thought, time and effort has gone into GRAMPS and while genealogy is time consuming, addictive and data intensive, GRAMPS goes a long way toward smoothing the ride.


GRAMPS resources

[1]—GRAMPS homepage.

[2] Linux Genealogy Desktop CD (from the GRAMPS website)—an Ubuntu based Live CD which has GRAMPS, GeneWeb and Lifelines installed. Allows user of a non-free operating system to run GRAMPS without installing.


[3]—a popular and well stocked genealogical website, includes searchable census and birth, death marriage records.—General Register Office for UK Government. From here you can purchase copies of birth, death and marriage certificates on-line.—a genealogists networking site. Run by FriendsReunited and along similar lines.

[4] Other free software genealogy programs

GeneWeb—web based, available for a range of operating systems.

LifeLines—NCurses (console) based genealogical database.



Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Why do I repeatedly have to read install instructions for a Linux distribution?

Somebody who installs packages should know how this works. This is a basic action for a handling a Linux. if he does not know yet, he should learn. There is no much sense to learn how to install ONE package. And OTOH - there are so many ways to install, so many distros and setups - sometimes the default way can be wrong. More concrete instruction should only be necessary for special setups or usages.

I would like to see that authors just tell to install. If absolutely necessary one can also give some hints for compiling. But that is more 'special'.

So generally - telling a Linux user to install a package with the name "gramps" should ring a bell. No need to elaborate.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Skip it. Why do people get so angry over minute details that they already know. If I read:
George H. W. Bush, the former President of the United States
I would not get angry because I already knew his position and title. But if I did not know, this is helpful information. I am recently come to GNU\Linux. When I first started two years ago, this information was of vital help and it still comes in handy if nothing else to copy and paste. Please do not be the arrogant person who does not consider that the author may have a broader audience in mind. If you want converts to the OS make it easy. Do not belittle people because they do not yet know which "fine" manual or how-to to read. It took some searching for me to find the right information, not because it was not there, but because I did not know where to look. A blurb or paragraph in the article is easily skipped if unimportant to you. But if it were not there, it would be hard to find if needed.

Ryan Cartwright's picture

I take your point and generally agree. It becomes a pain to read detailed descriptions of how to install a package. But if you check the top of the article you will se it is rated as "Easy" - that is for those who may not be particularly experienced at installing anything other than the base install of their distro (if that). If these beginners are to learn how to install any package they sometimes need to overcome the (mistaken) idea that it is difficult. A brief installation description can often aid that and encourage people to "give it a go".

The installation description for this piece was an editorial request but one I agree with in this case for the reasons given above. You'll note I pointed beginners to the Synaptic article and gave only the briefest information so as not to bore more experienced readers. The key issue (for Ubuntu users) being to remember to include the universe repository. I didn't include other Distros because I have no experience of them and in the end I was more concerned with explaining what GRAMPS can do.

It's always going to be tricky because invariably you'll end up putting too much or too little for different parts of your readership. In the end - for a piece labelled "Easy" - you have to include enough info to give beginners a kick-start whilst not so much that experienced users get bored before you've started.

I hope that's what I did here. :o)


pfb's picture
Submitted by pfb (not verified) on

As a Linux user of about 2 weeks (UBUNTU, then openSUSE10.2) instructions are essential.

Ubuntu was easy - apt-get and away it all went. But openSUSE has trashed my day, and still won't work.

What is worse - I find the "helpful" pages on the web are not so helpful. People write from a know-it-all frame of mind, and forget that many terms and ways of Linux working can be quite foreign, especially for us poor buggers who think Windowese.

So, please, skip read if the instructions are child's play to you. I welcome them as a way to learn...

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Not sure what your complaint is. It depends on the Linux Distro used. I only had to open a terminal and type in Yum install gramps in Fedora 6. Not exactly difficult and easier that windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Nice review. Note that version 2.2.4 is out this week, which is a big step forward.

For those not liking Gnome, gtk-qt-engine makes GRAMPS look like a KDE application, just like the other GNOME apps you run in KDE. I find the interface ok to do genealogy including the many dialogs being used (you get used to it), only the GNOME file chooser is annoying, but you know that from firefox and openoffice....

Ryan Cartwright's picture

The review was written in July so perhaps I should have said "at the time of writing..." - currently I am using 2.2.3-1 as available as the latest package in Debian (sid).

As for the GTK interface - the buttons are less of a concern for me as the dialogs (file open/save etc.) I use gtk-qt-engine but sadly it does not change these bits :o) As I said it really is horses for courses and I don't want to get into a GNOME/KDE flamewar but I find the GNOME dialogs a real pain.

Firefox 2.0 (well IceWeasel in Debian) has a new option in about:config which makes it use the KDE dialogs. Set ui.allow_platform_file_picker to false.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

We have tried GRAMPS, but it is to slow for our use. (we have many thousands of records :). This is the ONLY thing that keeps my father from going totaly over to Linux :(

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

The 2.2.x version should solve this, 2.0.x was slow on large databases, 2.2.x specifically was redesigned to be fast. Did you try it?
It is free and open source, the developers might have hints on how to make it fast for you, just contact them. I only have a thousand entries, so wouldn't know.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Version 2.2.6 enables working on databases with 100.000+ people without more than the to be expected small delay, following a specific user request on the user list.

See the wiki of GRAMPS for some performance figures.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Could not open your figures #1,2,etc. said it was not available. would love to see what your are talking about.

admin's picture
Submitted by admin on

Identifying the exact nature of the problem you are having is going to be difficult with so little information.

If you really want to see the images and can't, please send an email to helpdesk (AT) freesoftwaremagazine (DOT) com. That way we can find out why you can't see the images and we can correct the problem.

We would love to help you and anyone else who can't see the images. They are visible for us.


Author information

Ryan Cartwright's picture


Ryan Cartwright heads up Equitas IT Solutions who offer fair, quality and free software based solutions to the voluntary and community (non-profit) and SME sectors in the UK. He is a long-term free software user, developer and advocate. You can find him on Twitter and