gordon wrote:… We are now looking for a Lead Engineer on this project. If we do are work right, this should easily be portable to the Linux world. …
I would recommend searching for someone with lots of experience programming in Python (and someone familiar with programming Unicode applications)—Python is great for things like this, and it would make porting it to all platforms quite easy, if not instant (not to say you have to do the whole thing in Python—you can have C modules and such, if desired, if you choose to use Python).
The only real problem with Python is that the debugging process is quite different from that of lower-level languages. I mean, you don't declare types for variables, and you declare them at the time you assign them. I'd love to see a language like Python where you can 'optionally' do these things (I don't like it to be one way or the other 'all' the time)—especially if it were a derivative of Python (throw in a switch statement while you're at it). Notwithstanding these things however, Python is quite a good choice.
GRAMPS is an example of a Family History program made in Python. I consider that a wise choice—many of my favorite cross-platform programs are made in Python, at least partially. GRAMPS is open source GNU software—so you could even use parts of it, or glean ideas from it, and learn from any mistakes/problems they might have. I like a lot of the navigational features they offer (e.g. right-clicking on a name in the pedigree view will allow quick menu access to children, spouses, siblings and parents; you can bookmark individuals in a favorites menu; etc.) I also like how it has an XML export option—too bad it's not a standard one, though, that other family history programs would support (I don't know if one exists—but these XML files are less than half the size of GEDCOM files; XML is a pretty good idea, in general, I think).
I'm not saying to make it exactly like GRAMPS or anything—just to use the good ideas from it. I'd like to see something more stable than GRAMPS, myself, however. Moving the database can cause problems, and I've had issues with importing files into it—plus there seem to be some backwards compatibility issues. I'm guessing they'll work these things out in future, though, as it is an excellent project.
What license is intended to be put on the software? Will it be GNU, a custom license, or something else? Is the church allowed to make GNU software? Just curious—it might be nice, though.
If you're doing a web application, porting it to other operating systems shouldn't be a problem at all, unless you're using technology owned by some proprietary company that is competing with certain opperating systems (I recommend against that, even if it's nice technology that no one else offers). Good web applications should work without regard to operating system (almost all web applications do anyway, except 'some' of those that use components from specific proprietary media players and such). It doesn't make much sense for them not to, especially since most are made with cross-platform scripting languages in the first place. I'm not sure which scripting language I would recommend for web applications—I don't have much experience in that regard, but any of the popular ones should work well (PHP, Perl, Python, and so forth)—I would recommend against using Java applets, however; server-side scripting should be better.