Thursday, February 17, 2011

Patch vs. Hotfix vs. Maintenance Release vs. Service Pack vs....

When you are somewhere between version 1 and version 2, what do you do to maintain your software?

The terms Patch, Hotfix, Maintenance Release, Service Pack, and others are all blurry from my point of view, with different definitions depending on who you talk to.

What do you call your incremental maintenance efforts between releases?

From stackoverflow
  • When I hear those terms this is what comes to mind:

    • Patch - Publicly released update to fix a known bug/issue
    • Hotfix - update to fix a very specific issue, not always publicly released
    • Maintenance Release - Incremental update between service packs or software versions to fix multiple outstanding issues
    • Service Pack - Large Update that fixes many outstanding issues, normally includes all Patches, Hotfixes, Maintenance releases that predate the service pack

    That being said that isn't how we do updates at all. We just increment the version and/or build number (which is based on the date) and just call it an "Update". For most software I find that easier, you can easily see that one computer is running 1.1.50 vs 1.2.25 and know which is newer.

  • I'd like to point to http://semver.org/ for an attempt to define version numbers in sane manner, and the definitions given there actually fit closely to how I use version numbers (or how I wish I used them :))

    As for the term definitions, I find patch and hotfix very similar, except "hotfix" is usually not broadcast if done to a service.

    Maintenance Release and Service Pack fit fairly closely to the two denominations of version numbers. if you have a version number structure like X.Y.Z, Maintenance Release would be the Z, Service Pack would be the Y. I've really only heard these terms in big, corporate products, though. I'm more acquainted with the minor/mayor version terms.

    Of course, every shop has their own use of the terms, and it depends on which type of user you're targeting. For end-users of MMOs, for instance, every update is a "patch" because the user has to "patch their client" to apply it, while for end-users of more common software, you often just have the term "update" and "new version" (new mayor version).

0 comments:

Post a Comment