Some Thoughts on Some Thoughts on GRAMPS For Windows

On the gramps-developers mailing list, lcc recently pointed to an old blog post on the topic of Some Thoughts on GRAMPS for Windows. The blog post was written by Tamura Jones, someone active in genealogical conversations on the internets. However, the blog post is based on a common misunderstanding of open source projects, and so I thought I’d comment on the post. I’m not writing in any official capacity, of course. As an open source project, the power is with the people, and all of the people in the Gramps community each have their own voice. I’m only writing with mine.

First off, I’d like to think that Jones’s reason in writing the post was an attempt to make Gramps better, and to honestly help by identifying a weakness, and offer some constructive criticism.

Jones’s main point in the post is summed up by this: “Many genealogist have heard of GRAMPS, few use it. One reason for that is GRAMPS’ limited availability.” Jones apparently tried Gramps on Windows (through one of the available installers in 2008) and found it less than ideal. Jones then attempts to solve the perceived problem by suggesting that Gramps be rewritten for IronPython (which runs on .NET). Jones says that Gramps’s “developers should start making the difference between a program that merely runs on Windows if you are willing to go through the installation experience from hell, and one that is actually attractive to Windows users.”

Now, it is true (in general) that many open source developers have been at war with Microsoft for a long time. And for good reason: Microsoft has at times called open source a cancer, and un-American. Many see the Gramps project as leverage to help users to give up Windows entirely for a free and open alternative, such as GNU/Linux. However, that stance has taken a back seat for one simple reason: it is fairly easy to run Gramps on other operating systems, including Mac and Windows. This is true because of the tools we have picked, namely Python and GTK, work on multiple operating systems.

Most of us would like Gramps to run beautifully on all platforms. But that isn’t our main goal. Our goal is simply to allow us to have fun doing our genealogy, while keeping control of our own data. We don’t write code for other people’s needs… we write code that we need. Of course, if “we” included people that wanted a particular feature, then “we” would work on that.

Fast-forwarding to 2010, the Gramps development team now has many excellent developers (and technological helpers) and many work on Windows and Mac. Gramps version 3.3 (due out in March 2011) will no doubt be the best-supported version on a wide-variety of operating systems. But not because we identified a wide-open marketing niche, as Jones might suggest. It is simply because the people that use Windows decided that they wanted to make Gramps work better for them. Jones would no doubt be much happier about the state of installers for Gramps on Windows in 2010. There have been some recent announcements from the PyGTK project that should make this even better in 2011. But these actions are not occurring because of Jones’s rants, but in spite of them.

You see, Jones advocated for moving away from our current infrastructure to IronPython. Jones doesn’t understand that you would still need a cross-platform GUI sitting on top of the system. GTK might still be the right choice, but would require a complete rewrite because the IronPython interface to GTK is completely different from PyGTK. Jones claims that the Python source code was examined: “I had a reason to look at the Python source code, itself written in C++, and was not positively impressed by the quality of the code…” Perhaps that is because Python has always been written in C? In any event, the IronPython future is in serious doubt as Microsoft has recently abandoned it and the DLR. Will it continue to be developed by the masses? Or will it fade into oblivion? No one knows.

What is certain is that Gramps has a solid foundation, and its support on multiple operating systems gets better each year. But only because regular people care enough to pitch in and help.

UPDATED: Attempted to clarify the point regarding Microsoft’s relationship with the IronPython open source project, which I am a fan of. It is just not the right choice for Gramps. At least not yet.

8 Comments

  • Pascal

    Doug,

    I’ve read your entire rant twice and I still dont get what your ‘common misunderstanding of open source projects’ is, or what your beef with her article is. I completely lost your rambling logic when you started about a ‘wide open marketing niche’.
    I just want to say that I take offense at your ranting that the future of ironPython is in doubt because it is open source! You obviously dont understand what open source is.

  • Jason Simanek

    I think the “common misunderstanding” that Doug is referring to is the one where non-contributors demand features from an open source project as though the goal of the developers and contributors to the project is to increase the number of people that use the program. He clearly explains what he thinks the incentive for most open source contributors usually is and how that incentive, not Ms. Jones’ critique, has improved Gramps over time.

    I also don’t think that Doug was picking a fight with IronPython or the people that use it. If you use IronPython, great. Maybe IronPython will persevere without Microsoft’s backing. Gramps just doesn’t use it at this time.

    Thanks for the great post Doug!

  • Frederico Muñoz

    I actually find Doug’s reference to a “wide open marketing niche” to be completely relevant and quite honestly central to the issue at hand. From what I was able to understand from Tamura Jone’s article one of the chief criticisms is that Grapms didn’t adequately support Windows users – so much so that several different language environments are analysed in order to “fix” the situation. It is also a direct reference to sentences like “…competition such as RootsMagic, Legacy Family Tree, Reunion, and MacFamilyTree. To compete, GRAMPS should not just have a comparable
    set of features and ease of use, but also respect the platforms conventions as well as these native applications do…”

    Now, I will not focus on the points raised in the article (even because some of them are now plainly outdated and it wouldn’t be fair to say they are “wrong” since they were most likely valid at the time of writing), but the main idea is quite simple: Gramps didn’t install smoothly in Windows because close to nobody used it or developed it in Windows, and what was available was what was possible at the time. Was it ideal? Surely not. But for Gramps’ users (for example, myself) it was also mostly irrelevant since apparently most of them didn’t use Windows.

    And this is the common misunderstanding that people often have regarding the motivation behind free software projects: that they are developed in order to satisfy some arbitrary requirements that are needed for the software to achieve some kind of market share, when in reality they are almost always the result of a particular “itch”. What’s more, in this case the “itch” was no doubt the lack of genealogy software for Unix-like systems, so it’s hardly surprising that taking the Windows world by storm isn’t one of the core objective of Gramps, which is why I find the lengthy analysis of possible language platforms that Gramps should eventually use a perfect example of the difference in expectations: for the author Windows support is worth a complete rewrite, for most Gramps users Windows support was not at the time something more relevant than supporting EBCDIC encoding.

    The main point behind the criticism is that Gramps should not advertise Windows support if that support is not on par with the before mentioned commercial Windows applications. While I do think – and Doug stressed this – that support for Windows, Mac OS X and any other operating systems is something that is worth having, in the end what makes this support possible is the interest from people that use those platforms. This has happened in the recent past and this is why most of the objections in the cited article are no longer relevant.

    Regarding IronPython, this time I understand Pascal’s objection since one possible interpretation of what was written is that releasing something as open source makes it less reliable somehow. That being said that was not how I interpreted Doug’s words. Simply said, without being an official Microsoft product IronPython’s future is in the hands of the people who use it. Given that Gramps developers do not use IronPython it makes little sense to choose it: it would mean choosing a CLR that is far from being consensual in the Unix world (yes, I’m talking about Mono) and on top of that picking a specific .Net implementation that could or could not work with it tomorrow.

    What I wrote should not be constructed as implying that no criticism should be directed at Gramps since it “merely” exists to satisfy a small niche of users and developers. Quite the contrary: in terms of usability, UI, features and all other functional requirements any criticism is quite valid and helpful (I’m not a developer, but I do read the mailing lists). Gramps should ideally be the easiest, most complete, prettiest, quickest and most stable genealogy program in existence. But how to achieve this is again subject to what developers prioritise, and is quite different from issues related to platform support, which by nature is much harder to “bootstrap”.

    I can also write an article saying that the Portuguese support is “not complete” and “not on par with XYZ”. Or I can aid in the translation effort, since it would hardly be realistic to expect others who don’t even speak the language to do it. Or wait for someone else to have the same need.

  • Jérôme

    IronPython is maybe open-source but cannot be a part of free-software ecosystem! If open-source models are Novell or Oracle, then we can understand that Gramps does not go into this way…

    Python Software Foundation is not Oracle (java) or Microsoft (.Net).

    Also translation environment is ignored by Tamura Jones.
    As said, some contributions are done in plain text without technical knowledges. Gramps can run in English, Chinese, French, etc … Microsoft’s environment and tools have its own way to centralize locales without open-formats and less collaboration.

    Note, ‘bundle’ versions exist for Windows OS, see:
    http://www.gramps-project.org/wiki/index.php?title=Download#Community_supported

    Happy new year!

  • Doug Blank

    Pascal,

    Thanks for the comments. I didn’t mean to imply that IronPython’s future is in doubt because it is open source. It is in doubt because it has been abandoned by its main proponent, Microsoft.

    Actually, I am a proponent of the DLR and its languages, and am actively working on making it a full-fledged open source project (see pyjamaproject.org for example). But the DLR wouldn’t work for Gramps… it would require a re-write at all levels.

    My main point was that you can’t sit on the sidelines and contribute to an open source project like Jones has done, regardless of the wide open marketing niche identified. One needs to be familiar with the specific details of the projects involved, and discuss those with an interested group of like-minded individuals.

  • Rod Hanley

    Please forgive my ignorance. I am like one of those people who drive a car but are not interested in knowing why it runs. I have downloaded Python and Gramps but have no idea how to get it started as it did not put an ignition switch on the dashboard. When I do attempt to get it to do something I get one of 2 things, a window that flashes for about a half second or a message stating it can’t find a python file. I am trying to run it under windows vista on a HP pavilion with an AMD turion X2 processor.

  • Doug Blank

    Hello commenters from the web! This is a blog. If you have a question about using Gramps, use our mailing lists:

    http://gramps-project.org/contact/

    There are many helpful people there who can attempt to help.

  • jean martin

    I am probably what would be considered computer illiterate by you. however, I would like to know if it is possible to transport my information and records from Family Tree on Windows into Gramps. I use Linux for everything else but have my genealogy on a separate Windows drive. This is a pain. I would like to get rid of Windows. I do not know my ass from my elbow re.computers,but my son is a very knowledgeable pro and can help me with this if you think that it can be done. thank you,
    jean martin

Join the Conversation!