Friday, February 10, 2006

Is there a fair price for software?

In a recent discussion a customer (or rather: a prospect) said that a certain price for a given piece of software was to high for him, because he would not "utilize everything the software can do".

Aha.

This again made me think of the metrics we nowadays use for licensing software:
  • # of CPUs (or cores, or sockets, whatever)
  • # of nodes
  • # of instances
  • # of users (and derivatives like # of mailboxes, ...)
  • GB, TB, ...
A couple of years ago Sun started with the Java Enterprise System model which is based on # of employees.
(At this time I should disclose that I do work for Sun Microsystems.)
Yet another model, but this time not a technical one, but a purely commercial.
One advantage is that in general larger companies tend to pay more (more # of employees) and smaller companies pay less.
Another advantage is that you separate architecture decisions from commercial decisions.
Need a an additional node/cpu for your appserver? Go ahead, install it, use it. Whithout having to think about license implications.

That's what counts for me: get the commercial/administrative part out of the technical/architectural discussions and decisions.
In a way Oracle did the same, although they (usually) charge per CPU (or users...). Still a better model then charging per table or per tablespace, or - even worse - per transaction... (Guess everyone would turn of autocommit, then...)
Also, if you pay per CPU this at least some indicator on the performance and therefore value... not perfect, but still.

So why are we discussing this at all?

It's not only because of open-source and "free" software.
IMHO "free" software could only come to life because there was a debate about software pricing in the beginning.
Software does not deliver any tangible good - as opposed to servers or PCs or dish-washers.
With software you don't see and cannot touch what you are paying for.
That's why earlier software publishers seemed to define the value of the software by the amount of (printed) documentation they shipped with it.
Remember those huge software boxes that contained like 3-10 floppy disks and 3 tons of documentation? More docs, more money.
Now with software being downloaded from the internet, or delivered in packages only marginally larger then the CD/DVD case, this indicator vanished. Thank god.

But you still get the famous "software does not cost anything apart from the CD" every now and then.
Or the equally common "I could write this in 5 days, so why are you charging 100kUSD for this?"

There seem to be 2 schools of thought.
  1. cost-based,
    i.e. charge based on the effort to write and support the software
  2. value-based,
    i.e. charge based on the (perceived) value the software brings to the customer/user

Redhat, Solaris, and all others that charge (directly or indirectly) for support fall into the first category.
Oralce, BEA, and even the Sun Java ES model fall into the second one... since their effort doesn't change with your number of CPUs (or employees), but (in a way) your value does.

Which is better? I don't know...
Which is more fair? Don't know either...
Which will prevail? Beats me, but we see a trend towards cost-based in the recent years, don't we.

And we're not even touching the software as a service discussion here...

No comments: