from the faq:
> Is this... legally sketchy?
No. Consider projects like ReactOS, a from-scratch effort to create an OS compatible with Microsoft Windows, GNUstep, which provides an open implementation of Cocoa APIs and other things, or Darling, a compatibility layer for running Darwin (macOS) binaries on Linux. ravynOS is similar and stands on the shoulders of many such projects.
as far as i understand it, most companies don’t bother sending cease and desists to projects you’ve never heard of. the fact that the aforementioned projects have avoided the banhammer of Apple should not be an indication that a successful MacOS clone would receive the same treatment.
but on the other hand, maybe that’s a champagne problem. if you can make a macos clone good enough to get the attention of Apple, you’ve already done something incredible.
can’t speak for Proton, but it’s no wonder Windows doesn’t see Wine as a threat. because Wine sucks to run. any normal person would just run Windows instead of having to fool with Wine. it’s for us hobbyists, because we don’t mind a little pain.
Wine is an integral part of Proton, so they do see it as a threat.
Proton provides a better Windows runtime than Windows itself nowadays. Many games using legacy DirectX versions run perfectly fine on Linux, but need patches on Windows 11.
I think the better example is actually GNU, which endured several challenges as a clean room implementation of unix. I think this is legally sound, but IANAL.
not saying $TECHCO doesn’t know about X project. i’m just saying that if the average person doesn’t know about it, it’s unlikely to get shut down, as it poses no threat.
Maybe. But Microsoft get the bulk of their licensing from enterprise offerings. And Windows comes preinstalled on consumer machines anyway. So I don’t think there’s any risk of ReactOS becoming a problem for MS.
And with Apple, they’ve always approached the market as a hardware company first and foremost. Which is why macOS has always been free vs Windows which, until recently, was not.
Platforms like Linux was always a greater threat to both companies because Linux takes potential customers away from Microsoft and Apples ecosystems in ways that FOSS reimplementations do not.
But that all said, companies of that scale are inherently greedy and paranoid. So I wouldn’t be surprised to them burying those projects under a mountain of frivolous legal demands if those projects were to become as widely known as Linux.
You may be broadly correct, but “macOS has always been free” is definitely not true: all the Big Cat releases of Mac OS X were paid-for, right up until MacOS X 10.8 “Mountain Lion” released in 2012. Only later, from Mavericks in 2013 onwards, were upgrades free. And further back in time I remember buying a software update for my first-generation iPod Touch up to par with the first-generation iPhone way back in 2008. Apple still sells or provides subscriptions to a lot of software (Final Cut Pro, Logic, et cetera) and back in the day I paid a lot of money for some of their more niche offerings Xsan, for example, which I remember cost me an eye-watering thousand bucks per node. Xgrid on the other hand was free, and it’s extremely unfortunate they killed it because in this day and age of Thunderbolt-interconnected Mac Studios with unified memory architectures running AI workloads “here’s a bunch of Macs regard them as a unified computing resource” would be extremely useful (but I digress from the digression).
i inadvertently do this at work anyway. i burn through my monthly token budget on boring-but-valuable tasks, and then i spend the rest of the month doing stuff by hand.
that’s the issue with these newer models. they are able to string together a sequence of “not-serious” bugs in a system that ultimately results in some serious vulnerabilities.
it may not be an issue for ffmpeg, but it might be for an application that bundles ffmpeg.
every tool present in an IDE is available elsewhere. it’s not that the IDE-avoidant aren’t using sophisticated tools, they just aren’t using them packaged up in a single application.
java never had that phase. If anything it had a full binary class (not even source, e.g. long and int are not compatible on binary level) compatibility. Generally you can take an application from '98 and run it nowadays.
It's only recent changes (jigsaw in java9 mostly) that were made them to drop some of that part.
if you have a method "void x(int i)", and change it to "void x(long i)", it will cause NoSuchMethodError if the code is not recompiled, i.e. if it's a dependency on a jar file. Likewise when there were methods in URLConnection that returned (or take) int for content-length, it would not be possible to convert them to long by just changing the existing signatures.
The same applies to having a method "void x(String s)", it cannot be changed to "void x(Object s)" (even though all the code would compile with auto downcast) but both methods have to co-exist being overloaded. There is more to the binary compatibility but I'd leave it here.
The way to do it is keeping the existing public (and protected) methods (&fields), possibly deprecating them, along with introducing new ones. Effectively any removal of anything that has been made accessible, public mostly, is forbidden.
Personally, whenever I had to maintain library code I stuck to the same principle, so folks could grab a new version w/o worrying or doing any changes on their own.
yeah, oracle is literally betting the future of the company on OpenAI owning the majority of the AI market, so it's pretty strange to see such a ban. Their debt is already pretty much junk (and I'm not exaggerating, it is rated BBB- by s&p)
Not sure where u get your information. Oracle Java is OpenJDK with a support license from Oracle. It is widely used in enterprises, and it is updated regularly.
Google's been alleging to try to replace Android with Fuchsia for more than half of Android's existence. It's not happen. I remind myself that Google has almost never created a successful product.
Java is absolutely massive for a huge variety of applications, most of them servers and daemons. The most common user-facing Java implementations are probably Android and Minecraft, but behind the scenes it powers everything from blogs to logistics to networking equipment to SIM cards.
Oracle's own OpenJDK is free but they will only let consumers download Java 8 for free, that's why companies like Jetbrains ship JDKs with their products.
Google is in the middle of moving ChromeOS to Android, they're not replacing Android with Fuchsia any time soon.
> but behind the scenes it powers everything from blogs to logistics to networking equipment to SIM cards.
All because of baked in legacy. This is going to change in the next few years. You beat Java with Python today very easily - write your application and tests in Python, have LLM transpile it to C.
>The second biggest use is Apache Spark/Kafka, but with LLMs now, you can pretty much re implement all of that functionality in pure C.
Spark is written in Scala, precisely because distributed systems are best modelled as a set of pure functions with minimal references to state. This is also why part of the reason why it's ascending successor, Polars Cloud, is written in a functional language, Rust, rather than C.
Android development is also increasingly being monopolized by Kotlin, not Java.