Update, 10 January 2008: See “related” below for the latest on this topic.

I found myself facing a moral quandary yesterday. I considered using proprietary software for a job that has lots of free software alternatives. You see, I have these doubts and reservations about the free options.

The gravitational pull of 12 years worth of Microsoft Money data has me continuing to run that program on my laptop. I really like MS Money; it’s worked great for managing my finances from when I was an underemployed drop-out living in my Mom’s basement through going back to school, moving out, having a real job and investments, getting married, and buying a house. It has great reporting features: you can really slice and dice the data.

Another potential problem I’ve created for myself is to use classifications in MS Money. (I wrote about this in the linked post.) They’re good for breaking some things down like gas and repair expenses between individual vehicles (as I wrote about previously), and also for tracking a variety of expenses for a “class.” For example, I created a class for our daughter so I can see how much money we spend on her and one day present her with an itemized bill. But this doesn’t seem to be a standard feature in different QIF supporting applications, and I really want to be able to track and report on things this way. (Curses on proprietary extensions! Or maybe curses on incomplete implementations?)

Still, I need to put an end to this regular Windows use. GnuCash and KMyMoney seem to be the main choices for free personal accounting software, but my experiments so far haven’t convinced me to make the move.

Quandary

Yesterday, after getting caught up on a few months worth of money data entry, I thought about Moneydance. I’ve heard good things about it. It’s Java based and runs on Windows, Mac, and Unix-style systems. But it’s proprietary.

Proprietary. It’s only $30, and I wouldn’t mind spending the money, but would it be inconsistent with my belief in free software? Perhaps. I believe software should be free, but we’re in the early stages of moving to that free software world. Proprietary software is here and can still be useful for some purposes. I’ve already accepted that I’ll use proprietary software to make a living. And if free software doesn’t do the job, does that mean we should refuse to use something that will? However, I couldn’t ignore that GnuCash, at least, has been around and has many features, even if it doesn’t do things exactly the way I want. I should do my best to use free software even if it’s not an ideal replacement.

I considered the risk of using proprietary software as my replacement for MS Money. It might offer the benefit of running natively on GNU/Linux, but I could still find myself in a bad place later based on the actions of a single vendor. After going through a big migration to get there, I might have to move again anyway. GnuCash is big enough that it will probably continue to be developed and supported.

But. Still. What if Moneydance made it really easy to migrate from Money? What if it had much better reporting? Maybe I should just try it. They have a trial version.

Sure. Let’s just try it. See what it does. I downloaded Moneydance. Evil proprietary software. I felt kind of dirty. The installer worked great, but I was soon confronted with:

Moneydance Click-Through License Agreement

Moneydance End-User License Agreement

                         END-USER LICENSE AGREEMENT  

              IMPORTANT--READ CAREFULLY BEFORE USING THIS SOFTWARE  

  BY USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS LICENSE
  AGREEMENT, THAT YOU UNDERSTAND IT, AND THAT YOU AGREE TO BE BOUND BY ITS
  TERMS.  IN ANY EVENT, YOUR USE OF THIS SOFTWARE CONSTITUTES YOUR ACCEPTANCE
  AND AGREEMENT TO BE BOUND BY THE TERMS HEREIN.  

  1.                  GRANT OF LICENSE FOR REGISTERED USERS.  Reilly Technologies,
  LLC (REILLY) hereby grants you a non-exclusive,
  non-transferable, limited license to use the software with which this
  license is distributed (the "Software"), including any documentation files
  accompanying the Software ("Documentation") solely on a single personal
  computer, provided that (i) the Software may not be modified; (ii) all
  copyright notices are maintained on the Software; and (iii) you agree to be
  bound by the terms of this License Agreement.  The Software is licensed to
  you and not sold to you.  The Software and Documentation shall be used only
  by you, only for your own personal use and not in the operation of a service
  bureau or for the benefit of any other person or entity. Any use of the
  Software, other than as expressly set forth herein, by you or any person,
  business, corporation, government organization or any other entity is
  strictly forbidden and is a violation of this License Agreement.  

  2.                  OWNERSHIP.  You have no ownership rights in the
  Software. Rather, you have a license to use the Software pursuant to the
  terms of this License Agreement as long as this License Agreement remains in
  full force and effect.  Ownership of the Software, Documentation and all
  intellectual property rights therein shall remain at all times with REILLY.
  REILLY shall own all right title and interest (including any copyrights,
  patents, trade secrets and other intellectual property rights) in and to all
  materials licensed by REILLY under this Agreement.  You acknowledge that as
  between you and REILLY, REILLY owns its proprietary trademark(s) (including
  but not limited to Moneydance), and all related trade names, logos and
  icons.

  3. [...]

Ugh. I read the first clause with growing distaste. I couldn’t agree to this, not even for just trying it out. I clicked “I Decline.” I guess I’ve internalized the desire for the four software freedoms.

I’m not saying I’ll never use proprietary software, but here is a situation where I have clear alternatives that I should fully explore first. And I’m not saying that the Reilly Technologies shouldn’t be able to offer the software on these terms. That’s their business. But I think we should avoid agreeing to these kinds of cumbersome licenses, and work to make them irrelevant.

I’ll admit it can be a tough situation to come up with working business models for free software. I think we’ve seen that it can work, but I don’t think the pay-for-support model is a no-brainer for all kinds of projects. I’d be happy to pay $30 for finance software, but I also wouldn’t automatically pay it out if I didn’t have to. People generally don’t want to spend money if they don’t have to. I’ve donated to several free software projects, but it’s kind of random how I make my decisions in that area.

How do we ascribe value to the work and reward people accordingly?

Anyway, I’ll keep playing around with GnuCash and KMyMoney and may have more to report later.