Backporting là hành động lấy các phần từ một phiên bản mới hơn của một hệ thống phần mềm hoặc thành phần phần mềm và port chúng sang một phiên bản cũ hơn của chính phần mềm đó. Đây là một phần của bước bảo trì trong quy trình phát triển phần mềm, thường được dùng để sửa các vấn đề bảo mật trong những phiên bản cũ hơn của phần mềm cũng như cung cấp tính năng mới cho các phiên bản cũ.
Trường hợp đơn giản nhất và có lẽ là thường gặp nhất của backporting là một lỗ hổng bảo mật đã được sửa chữa trong một phiên bản mới hơn của phần mềm. Xét ví dụ đơn giản sau:
Bằng cách sử dụng phép sửa đổi đã chữa lỗ hổng trên Phần mềm v2.0 và thay đổi nó để áp dụng lên Phần mềm v1.0, ta đã backport được bản vá này.[1]
Trong thực tế, các sửa đổi đối với một khía cạnh nào đó của phần mềm có thể có mức độ rất đa dạng: từ đơn giản (chỉ thay đổi vài dòng trong mã nguồn) cho tới phức tạp và khổng lồ (nhiều sửa đổi trên nhiều tập tin mã). Ở trường hợp thứ hai, backporting có thể diễn ra trong thời gian dài, kém hiệu quả, và chỉ nên thực hiện nếu phiên bản cũ của phần mềm thật sự cần thiết so với phiên bản mới hơn (ví dụ như nếu phiên bản mới vẫn gặp phải các vấn đề về độ ổn định khiến nó không thể được sử dụng trong những tình huống quan trọng).[2]
Quy trình backporting có thể được chia đại khái thành các bước sau:[1]
Thông thường, nhiều sửa đổi như vậy sẽ được gộp chung vào một bản vá.
Các bản backport có thể được cung cấp bởi nhóm lập trình viên cốt lõi của phần mềm. Do backporting yêu cầu phải truy cập vào mã nguồn của phần mềm, đây là cách duy nhất để tiến hành backporting với các phần mềm nguồn đóng – các bản backport thường được bao gồm trong những bản nâng cấp nhị phân cùng với dòng phiên bản cũ của phần mềm. Với phần mềm nguồn mở, các bản backport đôi lúc được tạo ra bởi các nhà phân phối phần mềm và sau đó được gửi lên những lập trình viên cốt lõi của phần mềm dó.[2]