8 ms·
More information and motivation in the git repo[0], the link to which I didn't spot easily in the site header. The main design goals are: * source compatibili
by 3np 5y ago
More information and motivation in the git repo[0], the link to which I didn't spot easily in the site header.
The main design goals are:
* source compatibility with macOS applications (i.e. you could compile a Mac application on Airyx and run it)
* similar GUI metaphors and familiar UX (file manager, application launcher, top menu bar that reflects the open application, etc)
* compatible with macOS filesystems (HFS+ and APFS) and folder layouts (/Library, /System, /Users, /Volumes, etc)
* self-contained applications in folders or a single file and a (mostly) installer-less experience for /Applications
* mostly maintain compatibility with the FreeBSD base system and X11 - a standard Unix environment under the hood
* compatible with Linux binaries via FreeBSD's Linux support
* eventual compatibility with x86-64 macOS binaries (Mach-O) and libraries
* pleasant to use, secure, stable, and performant
[0] https://github.com/mszoek/airyx https://github.com/mszoek/airyx
- PaulDavisThe1st 5y ago> source compatibility with macOS applications (i.e. you could compile a Mac application on Airyx and run it) Hard to see how this can be done legally. The libraries (sorry, Frameworks) that make up the user-space runtime for macOS are all proprietary. There's no replacement for the most important parts of it.
- orionblastar 5y agoDarwin can run limited MacOS applications provided they don't use a proprietary Apple MacOS library. Airyx is so limited and doesn't have a lot of users to be worth suing over I think.
- Bilal_io 5y agoProbably cheaper and easier for apple to kill them while small/young
- nine_k 5y agoThey are no threat to Apple; Apple's business is selling hardware, with software bundled to it. This is no more menace to them than ReactOS for Microsoft.
- michaelmrose 5y agoA natural pivot if the software was successful would be to start selling the hardware with the software putting them in direct competition. After all people generally don't buy OS they buy computers.
- nine_k 5y agoExactly. Do people sell computers with ReactOS? OTOH Wine, properly improved and adjusted, sort of made a dent in the market in the form of Steam game consoles.
- michaelmrose 5y agoThey haven't done anything illegal or immoral. Giant company tries to use nonsense lawsuits to illegally destroy competition doesn't make for great PR.
- nobleach 5y agoYeah, if they took the path of ARDI's Executor from the 90's, it IS possible to have a completely clean-room emulation (of Apple) without violating any intellectual property.
- jhawk28 5y agoYou would need to reverse engineer what the frameworks are supposed to do and provide new implementations. (You can see all their external APIs) This is what Google did with Java on Android. The courts currently view this as legal (Google v Oracle).
- cable2600 5y agoThe core of MacOS is Darwin which is open source. Based on the MACH/XNU kernel and *BSD. So any MacOS clone would start with using Darwin code.
- saagarjha 5y agoEmulating macOS at the Darwin layer is not necessary and often not advisable (see: GNUstep).
- PaulDavisThe1st 5y agoThe goal was "source code compatibility with macOS applications".
- saagarjha 5y agoMost Mac apps never call into the Darwin layer directly.
- PaulDavisThe1st 5y agoLots of macOS applications need to drop to a few Darwin related features from time to time, if only to work around bugs in the frameworks. In addition, lots of applications run on macOS that use POSIX APIs, which are (typically) implemented in Darwin and not in the user-space frameworks. But yet, I misunderstood the GP comment, and what I said was not really appropriate in that context.
- spijdar 5y agoSure there are (for some definition of "most important parts). Take a look at GNUstep for a start. Some MacOS frameworks like WebKit are also open sourced from Apple itself. As an example of how this works in practice, the disassembler/decompiler Hopper has both MacOS and Linux versions that are compiled from the same code. Now, how successful they'll be extending the open source frameworks to made this useful in compiling non-trivial software that wasn't written with "dual compatibility" is a fair question, but the starting pieces are there, and patching the compilers and creating a copy of MacOS's filesystem layout would go a long way in making it easier to compile MacOS software on FreeBSD/GNUstep. And in any event, so far as doing it legally, I don't see why this would be any less legal than Wine's recreation of the Win32 API/libraries. Only difference is Apple might be more litigious than Microsoft, but Microsoft doesn't exactly lie down to software theft...
- soperj 5y ago>Some MacOS frameworks like WebKit are also open sourced from Apple itself. It had to be, it was forked from KHtml, which was GPL.
- mkl 5y agoKHTML is LGPL, as is much of WebKit. If it was GPL, Safari would have to be too, instead of proprietary.
- wott 5y ago> Sure there are (for some definition of "most important parts). Take a look at GNUstep for a start. I was following and trying to use GNUstep 15 years ago, and they were constantly chasing a moving target and were not managing to catch up. (Plus naturally the reimplementation bugs, plus the differences in interpretation of the "spec" which forced the programmer to be very careful and not take shortcuts.) That's the huge issue when you are trying to reproduce an API which is not under your control by any mean, and is still alive and changing.
- PaulDavisThe1st 5y agoGNUStep is not current with the frameworks that it corresponds to on macOS (and was never complete). Those frameworks are also a tiny part of the full set that you need to build non-trivial software on macOS. Audio? Video? so much more stuff that nobody has ever tried to reimplement the APIs for. Yes, such a reimplementation would be legal,but Wine has been a project for 20+ years and has a huge headstart compared to any idea of doing this for macOS.
- bobsomers 5y ago> Hard to see how this can be done legally. Why? Things like Wine and Proton exist and Windows is proprietary.
- Jiocus 5y agoEven ReactOS, an open-source implementation of Windows exists.
- PaulDavisThe1st 5y agoHow many years has the Wine project been running? There is absolutely no equivalent for macOS frameworks. GNUStep is a tiny part of the picture, and in addition has not kept up with the fairly radical changes that Apple has introduced to the frameworks that GNUStep does correspond to.
- yjftsjthsd-h 5y agoThat's a practical question, not related to the legal question.
- PaulDavisThe1st 5y agoThe legal question I was referring was related to my perception that the goal was "source code compatibility for macOS applications" now, not after some essentially unbounded engineering task. That may have been incorrect.
- 3np 5y agoThis is addressed in the README I linked to. Reimplementation of APIs is not legally sketchy. See Oracle vs Google. https://www.eff.org/cases/oracle-v-google https://www.eff.org/cases/oracle-v-google https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....
- mkl 5y agoWorking second link: <https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc. https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_...> (it has a "." at the end) That decision only applies in the USA. I think it will be undetermined in many jurisdictions.
- protomyth 5y agoIf it is, then expect everyone selling PCs to get a nicely worded letter from IBM about their BIOS. Any jurisdiction that rules differently will imperil their whole software industry.
- mkl 5y ago(Edited for clarity) IBM hasn't been doing that for decades, despite the supreme court decision being quite recent - I think that was more about clean room reimplementation than APIs. My point wasn't about ruling differently but the lack of rulings/laws making it explicitly legal creating uncertainty and opportunities for Oracle/Apple to go after people. Some countries have other ways to deal with it too, e.g. NZ allows reverse engineering for compatibility purposes, which seems likely to cover APIs (not sure, haven't needed to know).
- pjmlp 5y agoIBM already tried that in the 80's and lost, due to the way Compaq did it, that is why you have PC compatibles.
- protomyth 5y ago
- eafer 5y ago> compatible with macOS filesystems (HFS+ and APFS) How far along is this? I think she's underestimating how hard it is to implement a modern filesystem that won't eat users' data. I've been working on a Linux APFS driver[0] for several years, and it's not fully functional yet. It's a pity that she is working with FreeBSD, or it could have been of use to her. [0] https://github.com/eafer/linux-apfs-rw https://github.com/eafer/linux-apfs-rw
- pwrplus1 5y ago> It's a pity you are working with Linux, or it could have been of use to her. FTFY
- eafer 5y agoOh, I wasn't trying to diss FreeBSD. It would probably have been better to write my driver for fuse to make it portable, but it's too far along at this point.
- atombender 5y agoOut of interest, why can't file system implementations be portable? A shared core that exists as a library that can be tested in userland, and which can then be used by a lightweight shim that implements the kernel-facing interfaces. But I haven't seen any file systems implemented this way.
- Conan_Kudo 5y agoThe irony is that most of the newer ones in Linux are written that way, just nobody writes a FUSE binding to them. For example, both Btrfs and XFS contain fully functional pure-userspace implementations of the filesystem inside their userspace code (libbtrfs and libxfs both contain the complete filesystem code), but nobody has written a FUSE binding to either. Btrfs' implementation is even used to do most of the functionality in the tools (like send/receive) rather than using the kernel to do it (in order to minimize context switches that reduce I/O performance).
- atmosx 5y agoThe problem is lack of support for docker.
- yjftsjthsd-h 5y agoApple's MacOD only supports Docker through a virtual machine anyways, so it's not like that's any different
- infogulch 5y agoIs there a particular reason to reimplement a proprietary FS (a gargantuan task) when FreeBSD already has a world class (cross-platform!) FS in ZFS/OpenZFS? Is there something about Mac apps that rely on HFS+/APFS-specific features?
- pramsky 5y agoI assume some of those apps may not work with case sensitive file systems. Which I believe is supported by ZFS.
- orra 5y agoI love an ambitious project like this. It's a tall order, but sometimes projects like this take off.