This excerpt taken from the HPQ 10-K filed Dec 17, 2009.
Software Development Costs
Costs incurred to acquire or develop software for resale may be capitalized subsequent to the software product establishing technological feasibility. Capitalized software development costs are amortized using the greater of the straight-line amortization method or the ratio that current gross revenues for a product bear to the total current and anticipated future gross revenues for that product. The estimated useful lives for capitalized software for resale are generally three years or less. Software development costs incurred subsequent to a product establishing technological feasibility are usually not significant. In those instances, such costs are expensed as incurred.