• 0 Posts
  • 25 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle

  • Hi, Android dev here. This is a different issue albeit a tangential one. But ultimately it has no bearing on the matter.

    The Oracle v Google case revolves around Google’s reimplementation of the Java APIs on the Android platform. This is key. Back when Android started, they used Apache Harmony to provide the Java API set on Android. Harmony was an open source implementation of the Java API set. Sun (the creator of Java) didn’t care, they held the copyright to the Java implementation, but made their money in different ways, so they let the Harmony project live.

    Fast forward a decade. The Apache Harmony project is dead. Android is stuck at Java 6 level APIs because of it, Android devs are annoyed they can’t even get Java 8 features. And Oracle bought Sun, and is monetizing the shit out of Java. They started charging money for the official Java SDK. Google didn’t want to pay Oracle, so they started reimplementing the newer Java APIs into Android, to pick up where Harmony had left off. Oracle saw this, found some code in Google’s reimplementation that was similar to the official implementation from Oracle (which is out in the open in the openjdk project) and sued the shit out of them looking for the payday they didn’t get when Google refused to pay Oracle a license.

    Ultimately, the SCOTUS ruling says that APIs themselves are not copyrightable (ie you can’t copyright the .toString() function name). But you can copyright the implementation of that function. Ultimately Oracle still won a bit, because they found something like 6 function reimplementations that Google could not successfully defend as clean room implementations.

    Why this is irrelevant to the Portal64 issue, is because the dev is not using the open source reimplementation of the Nintendo APIs. He’s literally using the Nintendo owned implementation of the APIs. That’s why he says he needs to switch to open source libraries. Those open source libraries have the same functions within them, but the implementation of said functions aren’t the same as the Nintendo ones (or they are and Nintendo just hasn’t sued the project into oblivion yet, I have no idea about the details).


  • From what I read, the codebase is using Nintendo proprietary sdk libraries in its codebase. So that is technically Nintendo IP. The fix is to switch to open source implementations of those libraries. But the dev is hesitant to put in that work without Valve’s approval, because if he does that work Valve can still fuck him over for using their Portal IP, and an n64 game isn’t distributable on Steam, so there’s literally nothing in it for Valve to bless/support it. So he’s worried that all that effort would be for naught. And Nintendo already threatened Valve in the past when Dolphin was attempting to distribute on Steam, and Valve backed down. So the theory is that Valve doesn’t want to piss off the big N in any way legally.

    Now, we can ask ourselves why almost 30 year old sdks are still valuable to Nintendo, but unfortunately copyright law being what it is, it’s technically illegal to do what the dev did. He should have seen this coming and used the open source libraries instead of the Nintendo proprietary ones. But I say this not knowing how good those open source libraries are, they could have problems, be incomplete, etc., or maybe not exist when he started the project. But either way a dev should have known using Nintendo IP in any form is fraught with peril.









  • Not what you wish to hear, but for web browsing, use Firefox. The Android version still supports plugin like uBlock Origin and Privacy Badger. Ad blockers are effectively dead in Chrome with the advent of manifest v3.

    Firefox accounts work very much like your Google account in chrome, so it was relatively straightforward to migrate. Just install firefox on your desktop, get your Mozilla account set up, and use the desktop tools to migrate from chrome to firefox. Then once it’s good on your desktop, install firefox on your android devices and sign in to your Mozilla account, everything should sync.

    Passwords I’d recommend not using any browser solution and instead use something like bitwarden.

    Breaking the Google chains are tedious but doable!