Backporting - Backporting
Backport jest działanie przy części z nowszej wersji z systemem oprogramowania lub składnika oprogramowania i przenoszenie ich do starszej wersji tego samego oprogramowania. Stanowi część etapu konserwacji w procesie tworzenia oprogramowania i jest powszechnie używany do rozwiązywania problemów związanych z bezpieczeństwem w starszych wersjach oprogramowania, a także do zapewniania nowych funkcji w starszych wersjach.
Przegląd
Najprostszą i prawdopodobnie najczęstszą sytuacją backportingu jest naprawiona luka bezpieczeństwa w nowszej wersji oprogramowania. Rozważ ten uproszczony przykład:
- Oprogramowanie v2.0 miało lukę w zabezpieczeniach, którą naprawiono, zmieniając tekst „is_unsecured” na „is_secured”.
- Ta sama luka w zabezpieczeniach istnieje w oprogramowaniu v1.0, z którego pochodzi baza kodu dla nowszej wersji, ale tekst może brzmieć „is_notsecure”.
Biorąc modyfikację, która naprawia oprogramowanie v2.0 i zmieniając ją tak, aby dotyczyła oprogramowania v1.0, skutecznie przeportowano poprawkę.
W rzeczywistych sytuacjach modyfikacje, którym poddano jeden aspekt oprogramowania, mogą być proste ( zmieniło się tylko kilka linijek kodu ) lub ciężkie i masywne (wiele modyfikacji rozsianych po wielu plikach kodu). W tym drugim przypadku backporting może stać się żmudny i nieefektywny i powinien być przeprowadzany tylko wtedy, gdy starsza wersja oprogramowania jest rzeczywiście potrzebna na rzecz nowszej (jeśli na przykład nowsza wersja nadal ma problemy ze stabilnością , które uniemożliwiają jej użycie w misji -sytuacje krytyczne).
Procedury
Proces backportingu można z grubsza podzielić na następujące kroki:
- identyfikacja problemu w starszej wersji oprogramowania, który wymaga naprawy przez backport
- ustalenie, która (zazwyczaj niedawna) modyfikacja kodu rozwiązała problem
- dostosowanie modyfikacji do sytuacji starego kodu (odpowiedni backporting)
- jeden lub kilka poziomów kontroli jakości – testowanie, czy backportowana wersja zachowuje poprzednią funkcjonalność, a także czy prawidłowo wdraża nową funkcjonalność.
Zwykle liczne takie modyfikacje są powiązane w plastra zestawie.
Backporty mogą być świadczone przez rdzeń deweloperskiej grupy oprogramowania. Ponieważ backporting wymaga dostępu do kodu źródłowego oprogramowania, jest to jedyny sposób, w jaki wykonuje się backporting dla oprogramowania o zamkniętym kodzie źródłowym – backporty będą zwykle włączane w binarne aktualizacje wzdłuż starej wersji oprogramowania. W przypadku oprogramowania o otwartym kodzie źródłowym backporty są czasami tworzone przez dystrybutorów oprogramowania, a następnie wysyłane w górę (to znaczy przesyłane do głównych twórców oprogramowania, którego dotyczy problem).
Przykłady
Wiele funkcji systemu Windows Vista zostało przeniesionych do systemu Windows XP po wydaniu dodatku Service Pack 3 dla systemu Windows XP, ułatwiając w ten sposób zgodność aplikacji (głównie gier) pierwotnie z Vistą jako minimalnym wymaganiem do uruchamiania na XP SP3 jako minimalnym wymaganiem. Projekt Debian od września 2010 zapewnia oficjalną usługę backportingu dla niektórych pakietów oprogramowania Debian Linux , a Ubuntu Linux również obsługuje backporty, jednak Ubuntu Backports nie otrzymuje żadnego wsparcia ze strony Canonical i jest całkowicie utrzymywane przez społeczność.