APFS filesystem format
blog.cugu.eu
blog.cugu.eu
---
1. https://developer.apple.com/library/content/documentation/Fi...
Edit: I misrecalled that iMessage was announced as something they were opening.
PS: If you're gonna hate on Apple, at least find some valid points about them to hate instead of just spreading bullshit.
[0] https://arstechnica.com/tech-policy/2013/08/report-after-pat...
As far as Apple not open sourcing anything.
They also published the full git commit history of Swift from the initial commit.
Clang, WebKit and Swift are "proper" open source projects, done in the open. But there aren't many of those. They have no open source apps, and most frameworks such as Cocoa, AppKit etc. are completely proprietary.
Some of their open source efforts have been half-hearted; Darwin was enthusiastically embraced by the community, then essentially shut down by Apple. The XNU sources are APL, but there's nothing open about its development. I/O Kit is closed, I believe.
Wouldn't that apply for most companies? Let's not pretend that Facebook, Microsoft et al do open source as a charity
That, of course, can be a strategy. A company can look cooler and attract talent by developing everything in the open.
Google open sourced Android to get advertising revenue.
IBM supports open source and made money from server sells and still makes money from services.
Apple open sourced WebKit (more than they had to) to gain industry support and later to kill off Flash.
https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
It doesn't harm Apple's competitiveness. Apple doesn't publish source to the hire level OS X frameworks.
JavascriptCore was also based on BSD code, but was then rewritten by the WebKit team and made GPL.
You're right. WebKit itself is BSD but Webcore and the original original JSCore are LGPL. A really weird combination.
React is one of the leaders in JS dev and several other Facebook projects are quite useful.
Microsoft is the company with the biggest number of open source contributors and several of their projects like TypeScript are extensively used and they are the biggest contributors to LINUX https://octoverse.github.com/
Apple made Swift an open source language that runs only on their proprietary devices and that's it...
Incorrect. Besides Linux, like the other poster mentioned, it even runs on Raspberry Pi:
http://dev.iachieved.it/iachievedit/swift-3-0-on-raspberry-p...
I'm not saying that Apple is better, or denying that Facebook does a 'better job', but instead just reinforcing the concept that all these technology companies don't open source out of the goodness of their heart, but instead for the same strategic decisions that Apple does it for.
That's literally what he said.
[1] https://en.wikipedia.org/wiki/Michael_Sweet_(programmer)
https://developer.apple.com/library/content/samplecode/TextE...
[1] https://arstechnica.com/tech-policy/2013/08/report-after-pat...
They forked an existing project, only did sourcedumps every few months, often stripped of all comments, refused to work with the original devs that they had forked from (the KDE KHTML engine), etc.
GPLv3 software can't be on Apple products, yet every Chromebook ships with it, because Saint Google.
> GPLv3 software can't be on Apple products
it is not saying:
> App Store
Here is the Tanegashima's post:
> ...GPLv3 software can't be on Apple products...
And here is jwildeboer's reply:
> ... available on Apples App Store. So no, you are mistaken
And my point is:
No he is not mistaken because you are talking about completely different topics.
Opening up iMessage or FaceTime would have been more of a statement. Either would allow interoperability on platforms they don't control.
Is there something significant they've open sourced, despite some perceived risk?
I am no fan of Apple myself, but it's worth giving them credit where credit is due, they did everything right when open-sourcing Swift and are very responsive to the community, there's really no downside for anybody here, so why the need to criticise? It only needlessly provides the wrong incentives.
Apple gets this bad rap for OSS, because of Google's good PR a few years back on how "Android was open." But it's not like Google has a better track record of supporting OSS when it comes to products that influence their bottom line. Adwords, Google Search, AdSense, Analytics, etc are not open source, and no one ever complains about that.
Why do we seem to tie our personal identities to corporate affiliations, to the point of bringing up corporate rivalries out of context and taking sides in them?
Edit: Maybe Google is getting more credit because of uptake? Chromium, golang, protobufs, material design, etc. So perhaps not how much was open source, but how much of it ended up in non Google projects?
As far as Golang, I doubt that it has the uptake ofClang (even used by MS), CUPS, or Bonjour.
Yes I realized that CUPS was open source before being acquired by Apple but the copyright was owned by Sweets and they could have closed all future enhancement over the last decade.
It was first released in 2008, only 3 years after WebKit was open sourced, and about the same it was starting to gain traction outside Apple. Most of the browsers which didn't have their own engine back then were actually using Gecko or embedding an IE webview. Google embracing WebKit was a huge factor in pushing it to become the mainstream rendering engine.
https://dot.kde.org/2005/06/07/apple-opens-webkit-cvs-and-bu...
Frankly, I'm not sure Apple ever cared for their thoughts on the matter.
Yes, Apple historically doesn't give a shit about the OSS community unless they can exploit it or it becomes a dangerous nuisance. And this is why it gets a bad rep in OSS circles.
> Steve Jobs in particular is a company
As opposed to whom? Choosing an open source approach is a strategic decision, presumably to the benefit of the chooser.
This was even true of Cygnus, the original Open Source business.
I was asking for examples of something they open sourced that would have exposed something like that, something more risky to the walled garden concept. I perhaps could have worded it better, but HN does seem to react to any questioning of Apple with a defensive posture.
What has any company open sourced that would cause them to loose their competitive advantage?
Android is "more open" except for the parts that Google cares about - Google Play Services, and all of the other open source components that Google is abandoning.
https://arstechnica.com/gadgets/2013/10/googles-iron-grip-on...
And there are few if any open source drivers for the cellular chips or graphics chips.
Certainly, Android is more open than Apple's mobile OS. Google does hold some important bits back. But, still, it is "more risky". Hence the question. I may be missing other areas where Apple was open sourcing things that were more core to them.
They simply lied. They never said "We'll open Facetime, but only if it's implemented as a p2p protocol & client"
Changing one's mind based on changing circumstances isn't lying- it's common sense. The 'thing' that Steve Jobs wanted to publish as an open protocol stopped existing due to a lawsuit, the 'thing' that replaces it shared only its name.
The CEO of a multi-billion dollar company gets on stage during their main annual product conference and says a newly announced product is going to become an open industry standard.
This turns out not to possible in exactly the way the company had planned due to a lawsuit, so the company drops the plan entirely.
That's a lie by definition. You asserted that you'd do something and then you didn't do it. Does breaking a promise imply that there can't be any mitigating circumstances? No, I'm sure there were some reasons for why FaceTime wasn't opened.
People & companies make product buying decisions based on things like these, e.g. some company might have bought a bunch of iPads for video conferencing expecting that in a couple of years they'd be inter-operable with any device they could buy, including non-Apple devices.
This excuse that they couldn't open the p2p thing they initially planned to open is absurd. Apple could absolutely have just opened & standardized what FaceTime ended up being, i.e. an open video chat client/server allowing anyone to run a server. I.e. some sort of IRC or Jabber for video messaging.
Even if they couldn't open or release some specific component due to patent concerns they could still have opened & standardized almost everything else, see e.g. how open source video players ship pluggable codec support without direct support for some proprietary & patented codecs.
Bringing this back to my original comment on APFS, do I think they won't open that? No, they probably will. I just thought I'd point out that Apple has a documented history of abandoning their open source / standardization plans after making some very public announcements about them, so people should be wary of counting their chickens before they're hatched when it comes to Apple.
But why? There's literally no point to doing that. The whole point of opening up FaceTime was so people using non-Apple devices could talk to people using Apple devices. After the lawsuit that became no longer possible.
Telling a lie is to say something you know isn't true. If they honestly intended to open source FaceTime and then changed their mind (for whatever reason) that is not a lie by any definition.
But I agree with you that it casts doubt on their determination to follow through on their open source promises. And that sort of doubt is extremely detrimental to any uptake of open sourced software.
APFS is Apple's new filesystem, intended to be used across all of their devices (Macs, iOS, watchOS, etc). For Macs, it will be replacing HFS+, a direct descendant of the Hierarchical Filing System which has been used since 1985. (The original Macintosh Filing System, from 1984, was suitable only for floppy disks; among other things, it was a flat filing system and didn't really support folders.) The main improvements HFS+ made over HFS were support for larger files and Unicode; Apple has since added some more features but the core filesystem remains a 30-year-old format which was designed for early hard disks.
If you ask what innovations APFS brings to the overall FS landscape, the answer is probably "none".
The iPhone 5c will have the shortest support window from its release, at 4 years.
[0] https://raw.githubusercontent.com/ianopolous/Peergos/master/...
Also check out https://ohmlang.github.io/ and view the maths demo in your local copy.
They also have a web version[0] with a bunch of example files if you want to check it out without installing it locally.
https://developer.apple.com/legacy/library/technotes/tn/tn11...
Timestamps are 64bit nanoseconds
As far as I can tell, this will overflow in just 11 years – 2028-06-15 09:33:27.3709551615 UTCWhy would this go into a new standard? Is there a practical use for such a high level of granularity?
edit: off by a factor of 10 in my calculation... It's actually
2554-07-21 23:34:33.709551615 UTC
http://wolframalpha.com/input/?i=2%5E64+nanoseconds+from+now...
The granularity is probably useful for establishing an ordering (even somewhat arbitrarily) for highly concurrent file system operations, and thus potentially skipping a bunch of expensive synchronization.
"this hight result in" => "might"
"and seams to be related" => "seems"
"sometimes spaceman" => "sometimes called spaceman" ?
Very interesting read, thanks!
Some things that came to mind: I like that some of the block types are "acronyms" of their meanings: 5 = S(pace man), B = B(-tree), C = C(heckpoint). Also, I wonder why the volume superblock magic is "APSB", while the root (container) magic is "NXSB"; maybe this refers to NextStep? Seems a bit anachronistic, but I don't know.
I realized B = B-tree and C = Checkpoint, but I missed 5 = Spaceman. Good idea!
These are useful for apps like SQLite or other stores which implement a multi user, log structured store.
The biggest problems I encountered were (1) occasional bugs with Homebrew formulas, and (2) Adobe's applications cannot be installed on a case-sensitive file system.
That was a problem with older versions of Adobe suite, but since lots of people on Macs used Adobe Apps...
So CS HFS+ is not glitchy, and CS APFS will not magically fix applications with CI dependency.
Yes: https://arstechnica.com/apple/2017/02/testing-out-snapshots-...
I'm hoping it will make Time Machine a lot better.
> but games have been played by CPU manufacturers
Plural? Intel and who else?What Apple added for the existing Time Machine on HFS+ was an extension of the Unix concept of hard links to files (where there is only one copy). They added hard links to directories. Generic Unix avoids doing that for a number of reasons.
That would be stupid, Apple doesn't make money from users data, Apple doesn't listen to conversations like Google does to sell ads.
So why would they support servers (and there are a lot more of android users than iOS users) for people that didn't bought anything from them? For people that bought Androids to like them? They don't need that.
It has nothing to do with open source, the open source community doesn't need this and Apple couldn't care less about the GNU types after GPLv3 incompatibilizes with their business (while Android OEMs break the license every single day, but the community turns a blind eye, because it's Google)
Also, they would lose a few of their product sales and lots of 30% shares on sticker packs and other Apps for iMessage they sell.
I am just interested in knowing more about why Apple has the reputation it does around open source. The thread has delivered on that. Also delivered on the idea that apple fans are oddly defensive. Honestly not trolling, but the reaction seems as if I did succeed in that somehow.