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.