Apple ma problem z kodem źródłowym iOS-a dostępnym w sieci. Firma żąda wyłączenia części GitHuba
Niecały tydzień temu informowaliśmy o wycieku istotnego fragmentu kodu źródłowego iOS-a. Publikacja trafiła na popularną wśród programistów usługę GitHub. Teraz Apple żąda jej częściowego wyłączenia.
W repozytorium GitHub użytkownik ZioShiba upublicznił kod źródłowy iBoota z systemu iOS 9.3. Nie wiadomo skąd go uzyskał, ale sama publikacja jest pewnym problemem. iBoot to jeden z kluczowych elementów systemu iOS. W teorii znajomość jego struktury może doprowadzić do opracowania złośliwego oprogramowania, które ominie zabezpieczenia telefonu, w tym ekran blokady czy mechanizm szyfrowania danych.
Dodatkowo, znajomość tego kodu mogłoby doprowadzić do otwarcia urządzeń z iOS na alternatywne systemy, pozbawione zabezpieczeń antypirackich czy umożliwiające łatwą instalację gier i aplikacji z innych źródeł, niż App Store. Nie jest jednak jasne, czy najnowszy iOS – wersja 11.2.x – nadal wykorzystuje iBoota w niezmienionej lub podobnej formie, co w iOS 9.3.
GitHub na prośbę Apple’a niezwłocznie usunął publikację, i słusznie, bo naruszała ona prawa autorskie tej firmy. Jak jednak wiadomo, w Internecie nic nie ginie. Po usunięciu oryginału użytkownicy, którzy zdążyli już pobrać kod, zaczęli go publikować na nowo.
Apple zaczął walczyć z klonami. W końcu uprzejmie poprosił o… wyłączenie części GitHuba.
Na każdy zauważony przez Apple’a mirror na GitHubie z rzeczonym kodem źródłowym firma reagowała stosownym żądaniem o usunięcie publikacji. W myśl amerykańskiego prawa GitHub musi się zastosować do tych żądań lub walczyć z nimi w sądzie. Nie mając podstaw do sporu, administracja repozytorium posłusznie reagowała na wszelkie prośby.
Problem w tym, że ten mechanizm okazał się niewystarczający. Prawo zezwala Apple’owi na wskazywanie konkretnych publikacji do usunięcia, a te mnożą się jak grzyby po deszczu. Dział prawny firmy wystosował więc nowe pismo. Z uprzejmą prośbą o wyłączenie całej sieci związanej z forkami iBoota.
Fork to nie widelec.
GitHub to repozytorium budowane z myślą o programistach. Dlatego też jego struktura przypomina proces technologiczny powstawania programów i kojarzenia pokrewnych modułów programowych. Kod źródłowy iBoota dodawany jest na zasadzie forków do usuniętej już publikacji.
Fork, dla niewtajemniczonych, to rozwidlenie rozwoju programu. Miejsce, w którym jego dalsza ewolucja zostaje rozbita na kilka kierunków. Dla przykładu, system operacyjny Amazon Fire OS jest forkiem Androida. Silnik renderujący Blink jest forkiem WebKita. A kolejne klony kodu źródłowego iBoota są, w myśl systemu wykorzystywanego przez GitHub, forkami usuniętego już oryginału.
Apple, licząc na dobrą wolę GitHuba, poprosił o zamknięcie całego forku. Problem w tym, że na takie żądanie GitHub reagować już nie musi. Prawo nie zobowiązuje do prewencyjnego usuwania treści, które być może naruszają prawa autorskie. Wniosek o usunięcie publikacji musi wskazywać konkretne publikacje, a nie ich grupę, w których między innymi znajdują się treści naruszające prawa autorskie.
Na razie nie jest jasne jak zareaguje GitHub. Apple i administracja repozytorium na razie odmawiają komentarza mediom. A kod źródłowy iBoot dostępny jest już w zasadzie dla wszystkich zainteresowanych. Również i poza GitHubem.