LifeLines is free genealogy software for managing family-history data in GEDCOM format. It was created by Tom Wetmore and first released publicly in 1992. The program is written in C, uses a text-based interface, and is available for Unix-like systems, Microsoft Windows, and macOS.

LifeLines
Original authorTom Wetmore
DeveloperThe LifeLines Team
Release23 September 1992; 33 years ago (1992-09-23)
Stable release
3.1.1 / 17 March 2016 (2016-03-17)[1]
Written inC
Operating systemUnix-like systems, Microsoft Windows, macOS
TypeGenealogy software
LicenseMIT License
Websitelifelines.github.io/lifelines/
Repositorygithub.com/lifelines/lifelines

LifeLines is known for its GEDCOM-centered data model and its report-programming language, which allows users to generate custom genealogical reports, charts, and formatted output. It has been described in open-source software coverage as one of the early open-source projects for tracing family history. Later coverage of genealogy software has similarly described LifeLines as a Unix/Linux-oriented, text-based genealogy program with a scripting language and GEDCOM import and export.

History

edit

LifeLines was written by Wetmore in the early 1990s. Version 2.0 was announced publicly on 23 September 1992 through the soc.roots and ROOTS-L genealogy mailing-list communities.[2] Version 3.0 was released in October 1994.[3]

After Wetmore's original development period, LifeLines continued as a volunteer-maintained open-source project.[4] The Gramps project lists LifeLines among other free and open-source genealogy programs and describes it as a text-based genealogy system, probably the first genealogy project available for Linux.[5] The code later moved to GitHub, where release 3.1.1 was published on 17 March 2016.[1]

Features

edit

LifeLines stores and edits genealogical records using GEDCOM-oriented data structures.[6][7] Andrew Caird, writing in TUGboat, described LifeLines as a console-based program for Unix, Windows, and Macintosh systems that manages genealogical relationships using a GEDCOM database and can import and export GEDCOM data for use with other programs.[7]

The program uses a text-based interface based on terminal-independent screen handling. Its documentation describes support for persons, families, sources, notes, and user-defined records, with few fixed restrictions on the amount or kind of genealogical data that can be stored.[8] LinuxLinks similarly describes LifeLines as a curses-based genealogy program with a built-in interpreter for its own report language.[6] It has been described in open-source software coverage as one of the early open-source projects for tracing family history.[9] Later coverage of genealogy software has similarly described LifeLines as a Unix/Linux-oriented, text-based genealogy program with a scripting language and GEDCOM import and export.[10][11]

Scripting and reports

edit

A defining feature of LifeLines is its report-programming system. Rather than relying only on fixed built-in reports, LifeLines allows reports to be written as programs in its own report language.[8] The report system has been used to produce ancestor and descendant reports, ahnentafels, pedigree charts, fan charts, lists, indexes, and formatted output for systems such as LaTeX.[6][7]

Caird's 2003 article used LifeLines as an example of genealogical software that could generate LaTeX output, arguing that the combination of GEDCOM-based storage and portable typesetting output made it suitable for long-lived genealogical information.[7] LifeLines report programs also influenced later genealogy tools. GEDitCOM II provides a Lifelines emulation package that converts LifeLines report scripts from the .ll report language into Python-based GEDitCOM II scripts, allowing existing LifeLines reports such as ahnentafel output to run in a graphical macOS genealogy environment.[12]

LifeLines has also been discussed in software-engineering research on domain-specific languages for genealogy. C. A. Maddra and K. A. Hawick described LifeLines as a long-running genealogy suite centered on GEDCOM and noted that it pioneered the use of a report-generation language rather than relying only on preset report types.[13] French genealogy sources have also emphasized the program's script language and GEDCOM import and export as its principal strengths.[11][14]

See also

edit

References

edit
  1. 1 2 "Release 3.1.1". GitHub. 17 March 2016. Retrieved 27 May 2026.
  2. Wetmore, T. T. (4 October 1992). "LifeLines Newsletter 1". Retrieved 27 May 2026.
  3. Wetmore, T. T. (12 October 1994). "LifeLines 3.0.1 Available". LINES-L Archives. Retrieved 27 May 2026.
  4. Hamilton, Larry (22 November 2005). "LifeLines FAQ". Retrieved 27 May 2026.
  5. "Other genealogy software". Gramps Project Wiki. Retrieved 27 May 2026.
  6. 1 2 3 4 Caird, Andrew (2003). "(La)TeX, genealogy, and the LifeLines software" (PDF). TUGboat. 24 (2): 240–244. Retrieved 27 May 2026.
  7. 1 2 Wetmore, Tom (1 January 2000). "LifeLines - Basic Description". Retrieved 27 May 2026.
  8. Baker, Jason (17 December 2015). "3 open source genealogy tools for mapping your family tree". Opensource.com. Retrieved 27 May 2026.
  9. O'Connor, Chad (13 September 2024). "LifeLines Creator Working on Follow-up – DeadEnds". GenealogySoftware.net. Retrieved 27 May 2026.
  10. 1 2 "Internet & généalogie 2017" (PDF). La Revue française de Généalogie. 2017. p. 20. Retrieved 27 May 2026.
  11. "Lifelines Emulation in GEDitCOM II". GEDitCOM II. Retrieved 27 May 2026.
  12. Maddra, C. A.; Hawick, K. A. (2016). "Domain Modelling and Language Issues for Family History and Near-Tree Graph Data Applications" (PDF). Proceedings of the International Conference on Software Engineering Research and Practice. CSREA Press. pp. 10–16. Retrieved 27 May 2026.
  13. "LifeLines". Geneawiki (in French). Retrieved 27 May 2026.
edit