Speaking as someone who has a few commercial software applications that I write and sell I have to say that licensing a product with perpetual upgrade rights at no cost is terrible business.
As both a creator and consumer of software I prefer to either buy an initial license with a year of upgrades and then renew the right to upgrade annually (i.e., software maintenance) or buy a license with minor upgrade rights (e.g., 1.0 to 1.1 to 1.2 etc) and then pay an upgrade fee for major upgrades (e.g., 1.x to 2.x). This strikes me as fair to both the provider and the consumer.