Apple points out that the new terms are required for third-party app stores and third-party payments. Not for browser engines.
I'm expecting both Google and Mozilla to make their browsers, with their engine, available in Apple's regular store in the EU.
(And even in the new agreement, it's not half a euro per update. It's per year that contains an install or update. If you update 12 times a year, you're not paying 12 times. You're paying once.)
The requirements list is very interesting.
For example:
> Meet the following functional requirements to ensure your app is using a web browser engine that provides a baseline of web functionality: Pass a minimum percentage of tests available from industry standard test suites: 90% from Web Platform Tests and 80% from Test262
And:
> Program security requirements: You must do the following: Use memory-safe programming languages, or features that improve memory safety within other languages, within the Alternative Web Browser Engine at a minimum for all code that processes web content;
Is WebKit written in C++? That language certainly isn't "memory-safe" (I am not dumping on C++ here!). I assume that Apple uses fuzz testing and static analysis to find memory safety issues. So... does WebKit pass this rule? Hmm... And, are there any browsers written in memory-safe languages? I assume they would be too slow (Java, C#, etc.) I'm not sure if Rust is considered memory safe here. (Can you have null pointer exceptions in Rust -- dereference a null pointer?)
But not many people will see it here buried down deep in this thread. I suggest you submit it as a new link to HN though. Very interesting stuff!
Apple’s default construction for getting payments for the usage of their IP is via commission on revenue.
This is by definition a differential pricing strategy because not everyone has to pay for the usage of Apple’s IP.
Many didn’t like the commission structure and made all sorts of arguments against it. It would just be for payment processing, it would just be for distribution, etc.
Apple has always maintained it was primarily for the use of their IP, all the rest is thrown in as a bonus. They have structured it as such in the developer agreement and US courts have wholesale accepted it as such.
One alternative that has been floated around a lot by people that accept that Apple wants payment for their IP but didn’t like the commission structure regardless was to split off the fee for IP into its own thing.
Now they do that very thing in the form of the CTF (at a more competitive rate than Epic does for Unreal mind you).
In addition there’s a separate commission for App Store services and a separate commission for payment processing.
Now the new complaint is that this payment for their IP for first installs on EU iPhones per 12 months in excess of 1M installs in the EU isn’t good either.
So what is the desired outcome? Use Apple’s IP for free?
I don’t see how this disadvantages third party stores. Does it disadvantage Steam when Epic comes knocking on my door for their share of the pie?
Epic charges me 5% of all my revenue above a million, Apple charges me €0.50 of all my EU installs on iOS above 1M installs in the EU.
Apple’s fee is directly tied to my usage of their IP, I pay them €0.50 in 12 monthly installments for each installation that goes over 1M, but they don’t touch anything else I make off of that install.
Epic wants 5% over every dollar I make over $1M worldwide.
Don’t get me wrong, personally I was content with my 30% and the 15% is a steal for what I get out of it.
But if commission of revenue is the big bad, then the only logical thing for licensing IP is an upfront cost for usage whether you earn money with it or not.
This is how it was with consoles. Thousands upfront for the right to publish and using the IP + thousands for every build to be certified + commission over revenue.
Indies later on got a reduced rate in the hundreds, until you got big.
I only ever want to see 2 app stores on my phone, the AppStore, and an FDroid alternative full of free, open-source apps. Anything else is good to be disincentivized.