jak Dawid Goliata pokonał

cała historia zaczęła się w czerwcu tego roku od “pomyłki”, którą zrobił pracownik firmy Apple przeglądając najnowszą wersję aplikacji Hey założoną przez twórców platformy Basecamp. David Heinemeier Hansson zwrócił uwagę na Twitterze, że darmowa aplikacja, która nigdy nie miała opcji płacenia za cokolwiek, nagle została odrzucona ponieważ nie umożliwia płacenia za używanie serwisu Hey przez jedyną akceptowaną przez Apple drogę - czyli AppStore, który pobiera 15-30% od każdej płatności.

David klarownie próbował tłumaczyć, podobnie jak jego pracownicy, że aplikacja nigdy nie miała opcji płacenia bo służy po prostu do logowania się do portalu gdzie trzeba już mieć konto. okazało się, że wg. obecnej wykładni (do tego jeszcze wrócimy) weryfikującego, każda aplikacja musi mieć opcję płatności i nie jest możliwe realizowanie usług z aplikacji bez opcji z płatnym kontem. na co ponownie David klarownie wytłumaczył, że jest wiele takich aplikacji w AppStore i nikt nie robił do tej pory z tego problemu (choćby Spotify, ale nie tylko). sprawa urosła do rangi poważnej walki i dość powiedzieć, że w końcu zakończyła się nie tylko zwycięstwem Davida i Hey nad wykładnią AppStore, ale również ogłoszeniem, że Apple wprowadzi możliwość reklamacji “wyroku” recenzenta AppStore.

w międzyczasie w związku ze skandalami w które od paru lat ciągle uwikłany jest Facebook i jego zakłamany prezes, atmosfera wokół dużych firm takich jak rzeczony FB, Google czy właśnie Apple zaczęła się zagęszczać, z uwagi na takie rzeczy jak kwestie prywatności (i autorytarnych jurysdykcji typu Rosji czy Chin), (nie)płacenia podatków i wyciągania ich przez różnego rodzaju sprytne mechanizmy do rajów podatkowych i tak dalej i tak dalej.

i tu dochodzimy do powodu, dla którego zdecydowałem się napisać ten post. nie chodzi o to, że jakoś szczególnie podziwiam Apple czy zamierzam tej firmy bronić. napisałem ten post, ponieważ uważam, że sposób w jaki Epic Games zaatakowało oblegane z każdej strony Apple jest przykładem hipokryzji w najgorszym stylu.

po pierwsze, Epic Games wchodząc zarówno do sklepu Apple jak i Google, podpisywał umowę. widział z jaką opłatą od sprzedaży musi się liczyć. i nagle, po tylu latach ocknął się i postanowił walczyć o “pieniądze swoich użytkowników”? a gdzie była ta szlachetna pobudka do tej pory?

po drugie, zamiast podobnie jak David, od początku pociągnąć sprawę transparentnie, postanowił zagrać w zaciszu “przyjacielskich maili”, dopóki nie stało się oczywiste, że równie dobrze może próbować grozić galaktyce Andromedy. co więcej, wygląda że cała akcja została zaplanowana od początku z założeniem, że Apple się nie zgodzi, żeby idąc do sądu mieć za sobą powszechne oburzenie na Apple i innych gigantów rynku IT.

a po trzecie, Epic od początku prowadził podwójną grę - w środku dyskusji postanowił naruszyć reguły regulaminu Apple Store i ukrył w kodzie nowego uaktualnienia gry Fortnite opcję płacenia bezpośrednio sobie z pominięciem płatności do Apple.

ale po kolei.

mała dygresja.

o producentach większości nowych gier mam zdecydowanie jak najgorsze zdanie, choć akurat nie dlatego, że mam coś konkretnie do Fortnite. od premiery Fortnite (w którą grał mój młodszy syn) oraz najnowszej części Modern Warfare (w którą grałem i pogrywam czasem ja), miałem okazję zorientować się, jak niewiarygodnie amatorskie platformy budują teraz firmy takie jak Epic Games, Blizzard czy Activision. Blizzard, który zbudował kiedyś Diablo, Activision który jest twórcą jednych z lepszych gier na 8 bitowe komputery - w 2020 roku odstawiają fuszerkę za fuszerką.

platformy sieciowe, które mają za zadanie łączyć nie tylko setki tysięcy graczy na całym świecie ale również zapewniać dystrybucje uaktualnień, budowane są przez najgorszych nieudaczników, jakich zna świat producentów oprogramowania. o ile warto docenić jakość kodu używanego przez silniki gier do synchronizacji poczynań postaci w samych grach, podejrzewam, że są one tworzone i cyzelowane przez samych autorów (albo wręcz przez twórców danego silnika, tak jest np. z silnikiem Unreal). natomiast platformy utrzymywane przez dystrybutorów i wydawców, które potem obsługują “poczekalnie” dla tych gier, albo pozwalają (właściwie wymuszają, bo dzisiaj w coraz więcej gier nie da się grać bez a) połączenia z internetem i b) przed ściągnięciem i zastosowaniem najnowszej łatki) ściągnąć uaktualnienia, to najgorszy rodzaj oprogramowania, z którym się dotychczas spotkałem.

dlaczego tak twierdzę? ponieważ z konieczności stałem się Tatą od internetu i napatrzyłem się nie tylko jak te platformy komunikują się z graczami, ale też jak działają i próbują (podkreślam słowo próbują) zapewnić sobie redundancję. mam do dyspozycji parę łącz i profesjonalny sprzęt sieciowy, panuje nad tym jak pakiety opuszczają naszą sieć, jak są oznakowane i jakimi trasami poruszają się do miejsc docelowych w internecie. widzę, jak stosy sieciowe gier radzą sobie z IPv4 i IPv6, z jakim filtrowaniem sobie radzą a z jakim nie i tak dalej i tak dalej. w skrócie - naoglądałem się tego z dokładnością do zer i jedynek bardzo dużo. i z całą odpowiedzialnością mówię, że te platformy działają tylko dlatego, że internet jest tak dobrze zaprojektowany. ludzie, którzy odpowiadają za te buble, powinni się wstydzić wszystkiego co zrobili i mam nadzieję, że obecnie zamiast na Hawajach, dożywają swoich dni gdzieś pod mostem, bez grosza w dłoni i żałują głęboko, jaki syf postanowili napisać i wypuścić w świat.

nie pomaga to, że w ramach “uaktualnień”, platformy te próbują przepychać co parę dni dosłownie gigabajty uaktualnień, które nie dają zupełnie nic, ale najwyraźniej łatają tysiące błędów. uaktualnienia te, ściągają się z różnych centr dystrybuji (dlaczego nie wykorzystują istniejących CDNów a zamiast tego starają się wynaleźć koło od nowa?), które niezależnie gdzie jesteś i w którą z gier grasz, są najbardziej awaryjnymi, zawodnymi i po prostu gównianymi kawałkami softu jaki kiedykolwiek napisano. zapewne dramatyczna jakość kodu “platform” jak i wielkość “uaktualnień” nie pomaga i wzajemnie sobie przeszkadza.

a więc Epic Games vs Apple

Epic tak jak napisałem, postanowił zatem wykorzystać nagonkę na Apple i pomimo tego, że od samego początku wydawał się rozumieć zapisy kontraktowe wchodząc do AppStore’a, nagle postanowił również wykonać woltę i spróbować zmusić Apple do uległości i umożliwienia nie tylko ominięcia płatności w mobilnej wersji Fortnite via Apple, ale co więcej, dodania płatności bezpośrednio do Epic Games. co śmieszniejsze, prezez Epic Games pisał maila do zarządu Apple najwyraźniej na kolanie, ponieważ po pierwsze pod koniec myli mu się Apple’owy iOS z systemem Android, a po drugie - w fałszywym zgrywaniu cyfrowego Robin Hooda, pomylił próbę dyskusji z zachowaniami godnymi bossów mafii.

oczywiście, w ramach głębokiej troski o pozostałych developerów, Sweeney o mailu publicznie nie wspomniał. po co, skoro jeśli się zgodzą, można wyjść na bohatera?

oto pierwszy mail z 30ego czerwca (ważna data, bo oznacza, że Epic zaczyna natarcie widząc jak dobrze idzie Basecampowi):

Dear Tim, Phil, Craig, Matt,

Because of restrictions imposed by Apple, Epic is unable to provide consumers with certain features in our iOS apps.

zaskoczony? dopiero teraz?

We would like to offer consumers the following features:

  1. Competing payment processing options other than Apple payments, without Apple’s fees, in Fortnite and other Epic Games software distributed through the iOS App Store;

  2. A competing Epic Games Store app available through the iOS App Store and through direct installation that has equal access to underlying operating system features for software installation and update as the iOS App Store itself has, including the ability to install and update software as seamlessly as the iOS App Store experience.

czyli w zasadzie: “oddajcie nam kawałek tortu, bo urośliśmy tak bardzo, że uważamy, że się nam należy”.

If Epic were allowed to provide these options to iOS device users, consumers would have an opportunity to pay less for digital products and developers would earn more from their sales. Epic is requesting that Apple agree in principle to permit Epic to roll out these options for the benefit of all iOS customers. We hope that Apple will also make these options equally available to all iOS developers in order to make software sales and distribution on the iOS platform as open and competitive as it is on personal computers.

ciekawe kto zauważył żeby dopisać ostatnie zdanie, bo inaczej słowo requesting mogłoby zostać uznane za bezpośredni szantaż :)

As you know, Epic was required to accept your standard, non-negotiable contracts, like the Apple Developer Program License Agreement, in order to offer products on iOS devices through the iOS App Store. Epic is also required to comply with Apple’s unilateral standards documents to obtain app approval, like Apple’s App Store Review Guidelines. Apple’s contracts and standards documents contain restrictive provisions that prohibit Epic from offering a competing app store and competing payment processing options to consumers.

po raz kolejny - udawane zdumienie, że wchodząc do kogoś do domu, muszę zaakceptować jego reguły.

i najlepsza część z zawoalowaną “podpowiedzią” jak można wybrnąć z impasu, który sam Epic wytworzył:

Apple would need to provide a side letter or alter its contracts and standards documents to remove such restrictions to allow Epic to provide a competing app store and competing payment processing option to iOS customers.

“side letter”, dla osób niezaznajomionych z amerykańskimi korporacjami to najgorszy grzech jaki w ogóle można popełnić.

zakończenie też nie pozostawia wątpliwości o czym przede wszystkim myśli Epic a co jest jedynie dobrą wymówką:

Please confirm within two weeks if Apple agrees in principle to allow Epic to provide a competing app store and competing payment processing, in which case we will meet with your team to work out the details including Epic’s firm commitment to utilize any such features diligently to protect device security, customer privacy, and a high-quality user experience. If we do not receive your confirmation, we will understand that Apple is not willing to make the changes necessary to allow us to provide Android customers with the option of choosing their app store and payment processing system.

Best Regards,

Tim Sweeney Founder and CEO Epic Games

zwróćcie uwagę na Android w ostatnim zdaniu. albo Sweeney napisał tego maila na kolanie i wysłał go bez konsultacji co samo w sobie źle o nim świadczy, albo mail był konsultowany i nikt tego nie złapał. co świadczy jeszcze gorzej o jego wszystkich współpracownikach.

ponieważ odpowiedź Apple’a nie była taka jakiej Tim się spodziewał, półtorej miesiąca później Sweeney postanowił pójść na całość, widząc że nic nie ugra a jakoś nikt ochoczo nie podchwycił tematu i nie postanowił wesprzeć jego wysiłków (w przeciwieństwie do sprawy Basecampu).

zanim jednak Tim napisał i wysłał maila, upewnił się, że ukryta w aplikacji Fortnie opcja opłaty prześlizgnęła się niezauważona przez proces weryfikacji kodu w AppStore. tyle w kontekście szczerości i transparentności naszego cyfrowego Robin Hooda:

Dear Tim, Phil, Craig, Matt, Douglas,

I’m writing to tell you that Epic will no longer adhere to Apple’s payment processing restrictions.

Today, Epic is launching Epic direct payments in Fortnite on iOS, offering customers the choice of paying in-app through Epic direct payments or through Apple payments, and passing on the savings of Epic direct payments to customers in the form of lower prices.

We choose to follow this path in the firm belief that history and law are on our side. Smartphones are essential computing devices that people use to live their lives and conduct their business. Apple’s position that its manufacture of a device gives it free rein to control, restrict, and tax commerce by consumers and creative expression by developers is repugnant to the principles of a free society.

Ending these restrictions will benefit consumers in the form of lower prices, increased product selection, and business model innovation.

Henceforth, all versions of Fortnite that Epic submits to the App Store will contain these two payment options, side by side, for customers to choose among. We hope that Apple will reflect on its platform restrictions and begin to make historic changes that bring to the world’s billion iOS consumers the rights and freedoms enjoyed on the world’s leading open computing platforms including Windows and macOS. In support of this path, Epic’s public explanation of our payment service will be neutral and factual to provide Apple with a chance to consider taking a supportive route and communicating it in a way of Apple’s choosing.

If Apple chooses instead to take punitive action by blocking consumer access to Fortnite or forthcoming updates, then Epic will, regrettably, be in conflict with Apple on a multitude of fronts - creative, technical, business, and legal - for so long as it takes to bring about change, if necessary for many years.

Tim Sweeney Epic Games

Apple ostrzegło Epic, że ponieważ narusza kontrakt i reguły, zamknie jego konto. I tak się w końcu stało, to samo zresztą zrobił Google w swoim sklepie Play, ponieważ ten regulamin Epic też postanowił złamać.

oczywiście gdzie nam do potyczek wielkich. ale moim zdaniem, wchodząc do rzeki, wiesz na co się szykujesz. bezczelne i bardzo roszczeniowe jest żądać, żeby cały świat zmieniał dla Ciebie swoje reguły, w dodatku pod fałszywym płaszczykiem “dobra klientów”. Apple ma oczywiście swoje za uszami, ale jeśli wziąć pod uwagę ocenę moralną, Tim Sweeney awansował u mnie do grupy tanich cwaniaczków.

można oczywiście być bogatym filantropem albo biednym chamem.

a nie można być po prostu człowiekiem przyzwoitym?