Jak coś Ci działa, to lepiej nie dotykaj – Aktualizacje

Czy dobrze jest aktualizować oprogramowanie. Odpowiem że, zdecydowanie TAK.

Aktualizacje są nam potrzebne by eliminować błędy oprogramowania, które powstały w procesie tworzenia programu włącznie z zabezpieczaniem urządzenia przed atakami z zewnątrz.

Mam tu na myśli różnego rodzaju urządzenia typu telefony, komputery, serwery, telewizory czy inne.

Aktualizacje nie są wolne od problemów same w sobie:

  • czas i sposób aktualizacji: Jedna z największych zmór użytkownika jest aktualizacja systemu operacyjnego, w środku dobrze rozłożonego pasjansa nagle wyskakuje okienko że twój system zaraz zostanie zrestartowany by dokończyć aktualizacje. W systemach serwerowych po prostu dostajesz komunikat twój system jest zagrożony – “chcesz z tym coś zrobić?” ignorujesz i kończysz partyjkę gry? Ludzie odpowiedzialni raczej coś z tym zrobią, bo nikt nie chce narażać biznesu na potencjalne problemy. Wtedy rozpoczyna się proces testowania oprogramowania z nową poprawką systemu, a to często nakłada na programistów zdania w postaci poprawek kodu aplikacji, której właścicielem jest firma.
  • niepotrzebne potrzebne zmiany: Wraz z aktualizacjami systemu, często wprowadzane są zmiany wizualne, które przyprawiają o mdłości. “Uczyłem się klikać w ikonę cale życie a nagle nie ma ikony. Po co mi taka aktualizacja jak teraz muszę klikać dwa razy.” Ano potrzebujesz kolego/koleżanko. Bo w większości zmiany wizualne to tylko czubek góry lodowej tego co pod spodem zostało naprawione bez wiedzy użytkownika. A tłumaczyć dokładnie użytkownikowi który przez 10 lat opanowywał obsługę myszki co się zmieniło językiem technicznym nie ma sensu. Zazwyczaj producenci oprogramowania prowadzą bloga na którym dokładnie opisują listy zmian. Jeśli masz ochotę wystarczy poszukać.
  • usuwanie starych niepotrzebnych funkcji: Producenci często robią badania oprogramowania które produkują i użycia jakiś funkcji. Wiadomo im mniej funkcji tym oprogramowanie szybsze i mniej narażone na błędy. Technologiczni konserwatyści się denerwują bo często usuwane są z oprogramowania funkcje których oni używają są przyzwyczajeni ale w świecie tylko 0.001% tego używa wiec producent usuwa kod. Tak stało się z klawiatura nowych laptopów firmy Apple. Stwierdzono, że użytkownicy na Facebooku czy instagramie, nie potrzebują klawiszy funkcyjnych, lub nie potrzebują backspace. Mają racje.
  • nowe wersje wymagają mocniejszego sprzętu: Dodawanie coraz to nowych poprawek, często wymusza na użytkowniku wymianę sprzętu. Mało kiedy duże aktualizacje są zgodne ze starszym oprogramowaniem. Dlatego telefon działa nam coraz wolniej. Komputer spowalnia. A producent nie gwarantuje, że nowa wersja będzie działać poprawnie na jego starym sprzęcie. Takie zachowanie często widać obecnie w telefonach. Producenci wolą wydać nowy telefon niż łatkę oprogramowania (mimo że muszą gwarantować bezpieczeństwo w trakcie trwania gwarancji) . Bądźmy realistami : na starym procesorze x386 nie odpalimy windowsa 10 a nawet gdyby komuś się udało to pewnie system ładowałby się dość długo.
  • niespodzianki i niepewność: za każdym razem klikając aktualizuj nie mamy pewności czy to nie będzie nasza ostatnia aktualizacja. Nawet tam zdarzają się problemy. Mogą zakończyć się wizytą w serwisie, bądź wielogodzinnym przeszukiwaniem internetu jak coś naprawić.
  • pożeracz czasu: w trakcie aktualizacji użytkownik zazwyczaj nie jest proszony o to by coś robił przy komputerze. Planowanie aktualizacji robi się tak by cały proces przebiegał bezobsługowo. Jednak użytkownicy bardzo to przeżywają i w większości patrzą wtedy na ekrany co się dzieje. Tak jakby patrzeli na pralkę która obraca praniem. Tu coś z nami nie tak…
  • niekompatybilność wsteczna:  nasz program był napisany dla starszego systemu operacyjnego, a mamy go teraz używać z nowym systemem po aktualizacji, który krzyczy że nie włączy starej wersji, producent czy programiści już dawno nie pracują w firmie. To jest duży problem oraz kosztowny w czas jak i zasoby.  Stare komputery z Windows XP posiadają świetne aplikacje które działają latami, jednak gdy w laptopie strzeli dysk lub pamięć – kupno nowego laptopa nie zawsze wchodzi w grę.

Wszystkie aktualizacje należy balansować z biznesem. Takie życie.

Przyjrzyjmy się najpopularniejszemu językowi oprogramowania używanego najczęściej w internecie zwanego PHP.  Oto lista wersji, które obecnie są w użyciu:

A to już wykres wsparcia technicznego autorów interpretatora PHP:

Kolor czerwony oznacza brak wsparcia oraz brak aktualizacji bezpieczeństwa, kolor pomarańczowy oznacza że wersja nie jest już rozwijana ale otrzymuje poprawki bezpieczeństwa.

W przypadku systemów operacyjnych , Windows, Linux czy iOS  wygląda to mniej więcej tak:

Jak widać świat marnie nadąża z aktualizacjami. Dlaczego tak jest?

Prosta zasada “jak coś Ci działa to lepiej nie dotykaj” i tak własnie budujemy podwaliny współczesnego świata. Potem okazuje się, że coś nie działa i wymyślamy skróty rozwiązania pojedynczego problemu, bo przecież po co zrobić aktualizacje skoro mi tylko jedna funkcja nie działa.  Jak już znajdziemy więcej małych problemów programiści wymyślają takie obejścia a nawet tworzą nowe języki programowania by tylko rozwiązać te problemy.

“Jeśli dziś miałbym stworzyć nowe oprogramowanie tworzyłbym w PHP 5.4 dla windowsa 7, które oba nie posiadają już wsparcia producenta”. Nic bardziej mylnego.  Z czasem te liczby się zmienią. Za 3 lata inny system będzie popularny. Warto tworzyć oprogramowanie w najnowszych wersjach. Gdy oprogramowanie trafi do klientów, wtedy należałoby zatrzymać aktualizacje i skupić się na wsparciu użytkowników zamiast nad ciągłymi poprawkami. Pilnując jedynie poprawek bezpieczeństwa.

 

Źródła:

  1. https://w3techs.com/technologies/details/pl-php/5/all
  2. https://secure.php.net/supported-versions.php
  3. https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.