Introduction from Sean
Genes - Personal Genealogy DatabaseThank you for visiting. My name is Sean Lamb, and I've started my first "real world" programming project. I've tried many of the different databases that are out there already, with mixed results. They all had good features, but none of them were available for the Linux platform (or any *NIX, for that matter), which is what I want to use as my primary (and eventually only) operating environment.
Why start this project? Well, I'm sure that if I waited long enough, someone else would create or port an application to do this. But I want to program. I've been doing computer support in one form or another for a little too long, now I want to get into the development side. I want to prove to myself that I can make a project like this work.
Design philosophyOf all the genealogy databases that I tried on other platforms, I like the approach taken by a relatively few packages. Everything that happens to a person (like a birth, marriage, or child's birth) is an event, and everything that describes a person (like hair color, birth order, and whether the person is living or not) is an attribute. Taking this approach, a researcher can record multiple dates for a person's birth. Since, during research, we often find conflicting data for events like this, this approach makes sense.
Additionally, most of the packages that I tried offered a limited space for putting any person's name or place name. In my own research, I've always found something that ran longer than the allowed field in the program, and had to resort to the freeform notes to put the entire place or person's name. This program will be written so that any text field can be any arbitrary length, however long is needed for the data.
Click here for the Database Schema page.
Practical issues and licensesI'm building this on my own Linux box at home (currently running Caldera OpenLinux 2.2), but I want to be able to compile/run the program on other platforms as well. I also want to be able to release this program under a GPL-type license, and make it available for free to all users. The Qt and Berkeley DB libraries appear to alleviate many of these concerns. Both allow portability between platforms, and both allow me to write programs using them released under the GPL.
I need some help with this project. Since I still consider myself a beginning programmer, I know that I won't be able to complete it to any practical level by myself. If you are interested in helping develop this application, please email me (firstname.lastname@example.org).
Development scheduleView the wish list
Well, there's no way that I will be able to put any expected dates on releases at this point, but here's the order that I want to work on it:
If you want to get an idea of how a GEDCOM file is formatted, view the GEDCOM 5.5 Standards.