Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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
add comment

7 Answers

up vote 15 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
add comment

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
1  
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
3  
@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 Rizos Oct 18 '12 at 14:04
add comment

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
add comment

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
add comment

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
add comment

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
add comment

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
add comment

Your Answer

 
discard

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.