Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As I understand, the term "Backporting" is used to describe a fix which is applied in a future version which is also ported to a previous version. Wikipedia definition is as follows:

Backporting is the action of taking a certain software modification (patch) and applying it to an older version of the software than it was initially created for. It forms part of the maintenance step in a software development process...

For example:

  • A problem is discovered and fixed in V2.0. The same fix is ported and applied to V1.5.

What is the term when this is done in the opposite direction?

  • The problem is discovered and fixed in V1.5. The same fix is ported and applied to V2.0.

Would the term "Backporting" still apply? Or is there a term such as "Forwardporting" (which amusingly sounds a lot like "Port Forwarding")?

share|improve this question
up vote 17 down vote accepted

It's the same as the opposite of a backslash. Everyone wants to call it a forward slash, but really it's just a "slash." The opposite of backporting is simply "porting."

share|improve this answer

This does not generally happen as you would fix said issue in the V2.0 codebase, and optionally backport it. :) In terms of version control, this is simply called merging.

share|improve this answer

Backporting is a special case of patching, and given that the norm is "forwardporting" I think you can safely use patching (or applying a patch) when discussing patches that only apply to future versions.

share|improve this answer
From what I can tell, Backporting often can involve adapting the code to make sense in that version. For example, variable names could differ from version-to-version. The same can easily hold true in the either direction. Also, in my experience, patching has usually referred to the act of applying a patch to a binary. – Avian00 Oct 18 '12 at 13:58
@Avian00 From a development perspective "forwardporting" is simply development. Future versions aren't here yet, you're building them now. Backporting usually involves an already distributed binary, you patch existing versions of the software, if you had the choice of doing anything else you'd might as well distribute a current version. – Yannis Oct 18 '12 at 14:04

Backporting in the opposite direction is just porting, but there's no reason to do that in the context you describe.

share|improve this answer

I think the term "backport" refers only to the action of bringing a feature of a new release of a program to an older of the same program, for the benefits of still using it.

As you don't develop new feature on old, closed, versions no "reverse" backporting exists (if you are, by definition, the version is not old).

What you're calling a "forwardport", fixing a problem both in an old and a new verion, is a mere bugfix or patch.

share|improve this answer

I guess I would use the terms: future-proofing or, alternatively, forward compatibility:

From Wikipedia future-proof:

Future proof: The phrase future proofing describes the exclusive process of trying to anticipate future developments, so that action can be taken to minimize possible negative consequences, and to seize opportunities.

And forward-compatibility:

Forward compatibility or upward compatibility (sometimes confused with extensibility) is a compatibility concept for systems design, as e.g. backward compatibility. Forward compatibility aims at the ability of a design to gracefully accept input intended for later versions of itself.

Or both "future-proofing through forward-compatibility".

Oh the buzzwordry :)

share|improve this answer

There is not a commonly used term for merging a set of changes from an older branch of software to a newer one. Unless the latest branch of the software is highly unstable most developers will develop bug fixes on the latest branch of the software regardless of what version the bug was found in. This is done in order to reduce merge conflicts since the latest branch of the software changes more frequently than older branches. Any software bug reported by a customer is by definition reported in an earlier version than it is fixed in since the customer doesn't have access to the latest branch of your software.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.