tags:

views:

304

answers:

6
+4  Q: 

Patch vs. Upgrade

How do you distinguish between a "patch" and an "upgrade"? Where do you draw the line?

A certain specification says I need to do "X" whenever I release an upgrade to the product. I need to draw the line somewhere. I don't want to violate this spec, but I've never really explicitly defined it before.

+5  A: 

I don't think there's any "standard definition" although the generally accepted definition is that a patch fixes bugs and an upgrade introduces new features.

It would really depend on how the people who wrote your specification defined patches vs. upgrades, not on how I or anyone else defines it.

Eric Petroelje
+3  A: 

A patch is generally something that is pushed out to fix a critical error or issue or security issue. Updates or releases are probably more along the lines of additional functionality and features to the software.

+1  A: 

For me the biggest thing is what drives the issue.

A patch is usually to fix a problem and therefore requested from a user.

An upgrade is usually to add new functionality and although sometimes driven by users are more often started internally.

jW
+3  A: 

With respect to software versioning, patching will upgrade a software's maintenance version number, and updates upgrade their minor version number.

In most cases, the versioning follows this pattern:

Major.Minor.Maintenance.Build

Where the first three are single digit, the last three or four digit. So a version number 2.1.1.089 is the second major version, first minor revision (so there has been one update), third maintenance build (so three patches), and build 089 (no significance to builds/patches).

In most cases, patches update the third number, the maintenance version. Updates update the minor version number. Furthermore, patches usually fix problems, whereas updates can both fix problems as well as add new features.

The Wikipedia article on software versioning is an interesting read. The reason I specify the M.M.M.B style is that it is commonly used in Visual Studio during application development.

In some cases, however, the last number (build) is omitted - for end users, rarely is this ever needed. It's mostly for development purposes only.

Breakthrough
A: 

There is also a great lot of marketing involved.

I'm not wiling to pay for a patch while I might pay for an update (I'm looking at you OSX users).

Eric
A: 

If the spec doesn't define patch or upgrade, then you get to draw the line wherever you like (and think you can get away with). Assuming you don't want to go back to the spec writer for guidance, I'd draw the line between 'bug fix' and 'new feature'.

Michael Kohne