From OSGeo
Jump to navigation Jump to search

Some Fundamental Differences between Hard- and Software

Traditional market mechanisms rely on supply and demand of physical objects. Sinking supplies result in rising prices and vice versa. Software does not physically exist in the material world. It can be duplicated at very low costs resulting in virtually endless supply. Therefore traditional market mechanisms do not apply naturally and have to be enforced by all kinds of measures (software locks, hardware locks, legal means, etc.).

The following table lists some properties of software and hardware. It shows that there is a fundamental difference between a physical good and software. Business models can take this into account and treat software not as a limited good but as an endless resource.

Hardware Software
If hardware (or any physical good) is sold (given away) the supplier suffers a loss of that good that can be compensated by payment. If a copy of a software "product" is given away, the original is still there. The supplier suffers no physical loss of the "product" because it is only a copy.
If hardware brakes, it becomes useless. Software cannot brake in this sense. A data carrier can be scratched (for example a CD) but the original of the software is not affected [1].
Hardware cannot be duplicated. Every copy needs the same amount of raw material and energy as any other. Copies of complex hardware will always be imperfect, not digital duplicates. Software can be duplicated. Each successful copy of a software product is an identical reproduction of the original (the "raw material" is the source code, it does not run out).
Hardware can wear, rust, or decay, and will eventually break and cease to function. Software does not wear down, rust, decay or break. It may fall out of use, but it never loses its functionality.

Free Software licensing and Open Source development methodologies take this into account. Proprietary licenses instead try to build a framework to compensate the inherently missing materiality of software.