By Dan Cooperstock.
I am the author of the free (as in beer) program for charities and churches to track their donors and donations, called DONATION. A couple of people have challenged me recently about why I don’t open-source DONATION. I thought it might be helpful to explain my thinking in case others are looking at the same issue. Here are some of my concerns:
- Proprietary Tools: DONATION is written using proprietary tools and a proprietary database: PowerBuilder and Sybase Adaptive Server Anywhere respectively. My guess is that quite a small proportion of open source programmers know PB, or have access to a copy of it. Similarly, I think using a proprietary database would be an impediment for open source developers, but it has served me excellently ” a slightly crippled runtime is freely distributable to owners of PB, and it is fast, bullet-proof, and absolutely zero maintenance.
- Small Vertical Market: DONATION is a rather specific vertical-market application. I have the impression that most open-source tools target programmers, or IS departments, or at least are very general-purpose (as in OpenOffice), so that programmers might want to use them. If there aren’t many programmers who would find themselves using DONATION, why would they want to spend their hard-earned free time working on it?
- Income from the Program: Although DONATION is free, I do accept voluntary contributions, and I make some money from it. (I netted $1,500 last year.) That does serve as something of an encouragement to me, although user’s praise and appreciation also does so. I’m not sure how I could justify accepting contributions if I wasn’t the only one working on it.
- Quality Control: This is perhaps immodest, but I do feel that DONATION is as good as my users seem to think it is because it was designed by one person, with a very clear image of what it should be, and I have the right skills to pull off that design. How would I control that to make sure the quality stayed at the same high level, if others were working on it? I fear that it could take longer to coordinate needed work with others, and review their check-ins to make sure they were up to my standards, than it would for me to do the work myself in the first place.
- Others Stealing the Program: I also worry about someone taking my program and going into business themselves with it (or a version of it). I expect there are open-source licenses that basically say that I keep control and nobody else can publish their own version, though I haven”t looked into that. But if someone chose to ignore that, it would be hard to address. It”s not so much someone else making money off of DONATION that worries me, as it affecting DONATION”s good name if someone else puts out an inferior version, supports it badly, or whatever.
- More Proprietary ToolsI use other proprietary tools, e.g. HelpAndManual for single-sourcing the Windows Help file and PDF manual, and SetupFactory 7 for creating the installation builder. How would that work if others were involved? Obviously they can’t be expected to have copies of that software. And while I know there are open-source tools for doing this work, I really think they probably aren’t as good or as easy to use as what I am using now.
Here are some other issues:
- Open Source Database: I have been searching for an open-source database with which I could replace Sybase ASA. So far, I haven’t come up with anything that I can get to work with PowerBuilder well, and that also has an acceptable license, and doesn’t require a huge installation. (The Sybase ASA part of my installer is about 2MB, with the whole DONATION installer being about 9MB. Many of my users are small churches or charities, who still have just dial-up internet. Downloads of 20MB, 30MB or more start to get prohibitive.)
- Alternate Programming Language: I have given consideration to translating the program to another programming language. However, that’s a huge task, and it”s not at all clear to me what would be a better choice. I don”t think DONATION, which is for use by small organizations who often have limited computer skills available to them, would make sense to do as a web application. Java makes the most sense to me for a GUI app, but Java”s GUI capabilities pale in comparison to PowerBuilder”s, at least in terms of ease of programming. (Jacov Fain has a good recent post on this, with lots of replies, on Javalobby.) VB.NET or C# is perhaps a decent possibility, but that would require a significant download for my users with older computers that don”t have the .NET framework installed. Plus, neither .NET nor Java has a control that even approaches the power of the PowerBuilder DataWindow. (Sybase does sell a .NET DataWindow, that I could use, but then I”m back into proprietary territory!)
I am very much open to hearing counter-arguments to these concerns, and suggestions for how to work around them. I do have an ideological liking for open-source software, and I use it when I can. So please do try to convince me!
Dan Cooperstock has been a software developer for over 20 years, and currently works for Quest Software Inc. He can be reached for questions about DONATION at info@FreeDonationSoftware.org. The program”s web site is http://www.FreeDonationSoftware.org.