Niech Opera 12 będzie znowu wielka! Co anonimowi zrobią z wyciekłym kodem przeglądarki?
4 kwietnia 2013 roku Opera Software wydała wersję 12.15 swojejklasycznej przeglądarki – jedno z ostatnich wydań „prawdziwej”Opery, tej zbudowanej na silniku Presto. Już w lutym jednakinformowano, że to jej bliski koniec, Presto odchodzi naemeryturę, a nowe Opery będą budowane na bazie platformy Chromium.Społeczność użytkowników zareagowała na to nieprzychylnie,wielu deklarowało, że nigdy nie porzuci klasycznej Opery, pojawiłysię też prośby (i żądania) o udostępnieniekodu źródłowego Presto. Skoro producent tego nie chce, to niechpozwoli chociaż społeczności na rozwój tego, co ukochała. Gdzieżtam – własność intelektualna, patenty i umowy z partneramikorzystającymi z Opery jako przeglądarki wbudowanej w ichurządzenia sprawiły, że o żadnym uwolnieniu kodu mowy być niemogło. Aż do teraz, gdy kod uwolnił się sam, z niewielką pomocąanonimowego darczyńcy.
15.01.2017 | aktual.: 15.01.2017 11:30
Niespodziewanie dla wszystkich w ostatni piątek, trzynastegostycznia na GitHubie pojawiło się repozytorium o nazwie prestocore,opisane jako „silnik renderujący Opery 12.15”. W pliku README.mdmożna było przeczytać: „to repozytorium zawiera silnikrenderujący Presto, używany do Opery 12. Pokój z wami”. Żadnychidentyfikujących autora danych nie było, ostatni commit wedługstatystyk GitHuba pochodził z 22 czerwca 1995 roku, a 66,5%dostępnego kodu było napisanego w C++. Łącznie pod adresemgithub.com/prestocore/browser spoczywało niemal pół gigabajtakodu.
Kilka godzin później repozytorium zniknęło, zamknięte na mocyamerykańskiej ustawy Digital Millenium Copyright Act. Prawnicy OperySoftware interweniowali najwyraźniej tak szybko, jak tylko mogli,ale informacja była jeszcze szybsza. W sieci błyskawicznie pojawiłysię kopie – paczki z kodem źródłowym. Błyskawicznie teżprogramiści z wielu krajów przystąpili do analizy znaleziska,odkrywając, że to nie tylko silnik Presto. Wyciekło dosłowniewszystko, włącznie z kodem klienta poczty M2, całym interfejsemużytkownika, skryptami systemowymi, dialogami, shaderami bibliotekigraficznej Vega…
Z tego ładnie opisanego, wysoce modularnego kodu źródłowego(oprócz C++ także C, Python, Perl i assembler), udało sięzbudować działającą przeglądarkę. Na Windowsie potrzebne jestdo tego Visual Studio 2010, Python 2.7 i Perl 5 w systemie, naLinuksie należy skorzystać z flower (zamienika make) i zestawudeweloperskich wersji bibliotek libvps, cups i sqlite. Zbudowana wten sposób wersja działa bardzo ładnie, można nawet odtwarzać zniej wideo dla YouTube. Szczegółowe informacje na ten tematznajdziecie np. w serwisieBitBucket.
Na 4chanie rzucono już hasło: Let’s Make Opera Great Again –anonimowi deklarują chęć wspólnej pracy, by Operę 12 uczynićznowu wielką. Czy to możliwe? Doprowadzenie kodu Opery 12.15 dopoziomu Opery 12.18, tj. ostatniej wydanej poprawkowej wersji trudnenie będzie. Wersje 12.16 i 12.17 przyniosły tylko poprawkibezpieczeństwa, 12.18 dodała wsparcie dla kryptografii krzywycheliptycznych i wsparcia trybu szyfrowania GCM. To nic, czego zdolniprogramiści nie byliby w stanie zrobić.
Co jednak dalej? Przez ostatnie cztery lata wiodące przeglądarkizrobiły spory postęp, podobnie jak i cała platforma webowa.Superszybki silnik skryptowy Carakan z Opery już dziś takisuperszybki nie jest. Presto nie wspiera tych wszystkich nowomodnychrozszerzeń CSS. Samo doprowadzenie go do poziomu konkurencji wymagaogromnej pracy (choć oczywiście można się będzie inspirowaćpublicznie dostępnym kodem Chromium/Blink i Firefoksa/Gecko). Sęk wtym, że cała ta praca musiałaby przebiegać anonimowo, dosłowniena czarnym rynku. Korzystanie z wyciekłego kodu jest w systemachprawnych większości krajów niedopuszczalne, narusza prawa OperySoftware. Jeśli więc nawet z Opery 12 zrobią nigdy nie wydanąOperę 13, to będzie to skrajnie nielegalne oprogramowanie, zrepozytoriami kodu hostowanymi gdzieś w darknecie, na torze czy i2p.
W najbliższych miesiącach przekonamy się, czy nostalgiaużytkowników (głównie z krajów byłego ZSRR, gdzie Opera przezwiele lat była najpopularniejszą przeglądarką) pomoże w rozwojutego czarnorynkowego opensource’owego projektu.