Apple is doubling down on open source
techrepublic.com
techrepublic.com
Just off the top of my head, projects they have had a large hand in: WebKit & JavaScriptCore, Objective-C, CUPS, LLVM, Clang, Bonjour/Zeroconf, Darwin, launchd, libdispatch, CoreFoundation, dtrace.
And more recently Apple Lossless Encoder, LZFSE compression, and of course Swift.
And this is only a tiny fraction of what they are users of.
The much larger set of where they are mostly users, like the BSD userland tools, curl, Python, Perl, Tcl, Ruby, and so forth, I omitted. There are just too many.
It would be nicer still if they stopped thinking their browser only needs to get new features once per year. Safari is rapidly getting a reputation as the new IE6. Fully supporting ES6 means nothing when everything is being transpiled and minified anyway, and the (arguably) dominant mobile browser your (kinda) forced to target doesn't support features that shipped in every other browser years ago, heck many missing features have even stabilised in other browsers years ago. The dev builds on desktop are just a token gesture that further displays how far behind the times WebKit/Safari/MobileSafari are falling.
Here are just a few things not supported in any Apple browser, Including the "Technology Preview" on desktop:
CSS Motion Path; CSS Device Adaptation; Client Hints: DPR, Width, Viewport-Width; inputmode attribute; MediaRecorder API; Network Information API; Web Animations API; Pointer events; Web App Manifest; seamless attribute for iframes; Payment Request API; Credential Management API; Push API; FIDO U2F API; Permissions API; Screen Orientation; Object RTC (ORTC) API for WebRTC; Proximity API; Ambient Light API; Battery Status API; Vibration API; Web MIDI API; getUserMedia/Stream API; WebAssembly; 'SameSite' cookie attribute; Public Key Pinning; XHTML+SMIL animation;
http://www.theregister.co.uk/2016/11/07/apple_mozilla_kill_a...
- CSS motion path is not an official standard; it is implemented only in Blink (Chrome/Opera).
- CSS device adaptation is a W3C working draft. It is available prefixed in IE/Edge and Opera Mini, but is unprefixed in 0% of shipping browsers.
- Client Hints: DPR, Width, Viewport-Width is an IETF working draft implemented only in Blink (Chrome/Opera).
- inputmode is supported in 0% of shipping browsers.
- MediaRecorder API is a W3C working draft supported in Blink (Chrome/Opera) and Firefox but not IE/Edge or Safari.
- Network Information API is not an official standard; it is supported only in Chrome for Android.
(Source: caniuse.com)
I stopped going through the list at this point. At least from the top of your list, none of these features are "shipped in every other browser" and some are shipped in no browsers at all. I'm not sure how it shows that Safari is "far behind the times."
If anything, the list seems to show that Chrome implements many non-standard APIs not available elsewhere. Combined with its mindshare (if not marketshare), this suggests that Chrome--not Safari--is in some ways the new IE6.
But I can't agree that Chrome is in any way the new IE6. Chrome is actively participating in the public view in the process of web standards. Apple seems to 'participate' insofar as they are on lists of participating companies. Apple pretty much adds just one batch of features per year, and does so through a completely opaque process that outside developers are almost completely irrelevant to. Chrome at least listens to outside opinions, while one of the defining traits of the IE6 years was having to work under the umbrella of a "we don't care, just use what we gave you" attitude from the IE6 developers.
Also, the fact I had to open chrome in order to post this comment to HN is an amusing addition to this little "how broken is the web" discussion.
As for opening Chrome to post your comment, are you having issues with other browsers when you do so? I generally use Safari in Mac OS X and iOS without a problem.
Your Safari will work just fine, but it is still behind Firefox or Chrome [0]. I am not saying that Safari is new IE because we will struggle with IE11 for years to come.
Before Safari 10 ES6 was supported in 54% then in Safari 10 is 100%. This is wrong approach to web, it is the same approach that MS had in the past. Ignore standards and make some improvement with new version for bragging rights.
[0] https://nolanlawson.com/2015/06/30/safari-is-the-new-ie/
gp: As for opening Chrome to post your comment, are you having issues with other browsers when you do so? I generally use Safari in Mac OS X and iOS without a problem.
My comment on using Safari is in response to ggp saying Chrome was necessary to post to HN, not about general use or for development. Or am I misreading ggp?
How is implementing some of a standard, and then completing work to implement 100% of that standard "ignoring standards"?
It's usually because they had some pet project / approach relying on the "standard" that they couldn't run right in MobileSafari, even though it had no adoption whatsoever, Cupertino is DESTROYING the web for not including it, battery life, privacy, reasonable userspace restrictions, etc BE DAMNED.
Don't believe it.
Some of their contributions are. See Swift.
It would be nicer still if they stopped thinking their browser only needs to get new features once per year.
Safari Technology Preview ships every 2 weeks. I use it as my main browser. It is as solid as any other browser.
And that is just a ridiculous comparison done by people who have never witnessed that period or are having a different agenda.
One of my first jobs (more then a decade ago) as a young developer was being a web developer for an American/Belgian e-commerce site. One of the things that was very important - because every customer counts - that the site displayed and worked perfectly in any browser (IE6, FF/Mozilla, Safari and Opera at the time)
That was a situation that wasn't a lot of fun because you had standard HTML that more or less worked in any browser with the exception of IE6. There where a lot of moments that I really hated my job because of the frustrations that IE6 often brought to the table. That is in no way comparable with Safari today.
And while I would like to have Apple more rapidly implementing new API's, with IE we could only dream of having an IE version that got new features every year. Years have we have witnessed the fallout of IE6, that will never be the case with Safari to this day.
IE6 was a vehicle to create an internet that only worked with Microsoft standards so that others couldn't be a valid alternative hence the IE6 markup vs the rest. You can't do that by dragging your feet when implementing API's, you only price yourself out of the market in that way.
It is like with CSS 10 years ago. This nice new CSS feature (HTML5 API) which would perfectly solve your problem? Sorry you can't use it because IE (Safari) does not support it (maybe never will).
Would you care to give some examples?
The last time this played out on HN, the list of unsupported things was not HTML5, and many were unfinished/unstable, or listed as in-progress by the WebKit team.
But you are correct, not all of those are HTML5 APIs.
-----------------
To be fair, they had a 9.1 release this year, which included: Picture element support
Support for CSS variables
Etc https://developer.apple.com/library/content/releasenotes/Gen...
So if they do this again, we're looking more at 6 month cycles.
The whole safari is the new IE6 stuff is hyperbole which I don't actually hear that many developers saying.. IE6 was bad because it didn't follow any standards, not because it updated slower than the competition.
(From what I've heard, I don't know how true it is, Apple became less open with Darwin, around the time of the PPC-Intel transition, out of fear it was making life easier for people trying to use OS X on non-Apple hardware easier.)
I'm not sure if the problem is Apple or a lack of interest and community.
I'd definitely be up to trying to build it sometime in the future. I'm a little busy at the moment. I'd expect it to take a few days at least based on my experience with Linux from scratch.
Why? Without the UI and OS X GUI programs it's not something many would care to run as opposed to Linux or FreeBSD, and most haven't.
So, now I have a non-GUI app for (among other platforms) macOS, I want a build machine for compilation and automated tests. Ideally just a VM somewhere (maybe even in the cloud). To legally run macOS in such a way, it needs to run on Apple hardware, which adds expense and complexity. However, I could run a Darwin VM legally on any hardware. Now of course, Darwin isn't quite macOS, but for a non-GUI app it might be close enough (depending on exactly which APIs it uses and whether those APIs fall into the open source Darwin subset).
Is that a particularly common use case? Probably not. But there probably are multiple open source projects and maybe even some proprietary software packages for which that use case would exist.
[1] https://opensource.apple.com/ 10.11.6 is latest macOS release at the time of writing.
http://www.techrepublic.com/article/apple-is-doubling-down-o...
I flagged the post because it downloads a file of obscure, unstandardized format designed to send tracking information to Google.
It should at least have an [AMP] tag like other "non-HTML file format" posts do.
Edit: I'm sorry if my post comes across as needlessly hostile, any hostility is only directed at the AMP situation. AMP seems very much deliberately designed as an attractive way to get webdesigners to let Google to track more consumers. What the hell is with people excusing the fact that each and every AMP page makes requests to Google servers, as defined by the "standard"?
Also, I don't think every page makes requests to google. All the ones I see go to a CDN (one designed for AMP, sure). So standard caching applies. But again, author's choice - are other CDNs any better?
I don't mean they can't have 3rd party dependencies, but no specific 3rd party should be required, especially if they don't support graceful degradation in the case where the 3rd party is unreachable.
And on the CDN, it's run by Google, just read the whois data:
Registrant Organization: Google Inc.
At least the AMP link limits my exposure to Google hosted static files instead of the usual (according to uBlock on the "normal" link) Facebook, Twitter, Google Analytics, Optimizely, CNET, Adobe, Taboola, CBS, Tealium, Soasta, Netseer and ShareThrough.
If it's an AMP page, I can't just block the AMP script because it does not gracefully degrade. It's having a broken page until HyperGoogleTextEngine loads.
that would be HTML.
The fact that it loads from Google's CDN (though it doesn't seem to...maybe the URL was changed?) is a matter of the URL, not the page format.
AMP requires a script loaded from one particular URL and is designed so that it's incompatible with browsers that don't support Javascript, i.e. <img> tags are replaced by <amp-img> and thus images won't work without the AMP script.
It might formally be a subset of HTML but it is one that excludes non-JS-supporting user agents by means of custom tags which are interpreted by "the AMP engine" script.
From what I gather (welcome to correction, as I haven't looked at this in depth), there are two main things going on here:
- replacing GPL code with BSD code
- staying with earlier versions of GPL code rather than update to GPLv3 versions
Can't really blame them either. This was the exact result that most (outside of the GPL bubble) predicted when v3 was released.
Admittedly, for some people this may have been part of its intent- to draw more lines in the sand, to force out those that the FSF deems as having insufficient ideological purity. The FSF doesn't shy away from calling out its enemies- to my eyes, over the decades it has been far more concerned with condemning what it perceives as being evil, rather than promotion of what it perceives as being good.
The problem is that by v3 the GPL was so ingrained as THE OSS license that many projects and devs just used v3 out of habit.
Now for some they may be fine with it, and that's cool, but I think it's telling that we've seen a resurgence of MIT, Apache, Mozilla, LGPL, and BSD licenses.
GPLv3 has been extremely damaging to OSS, intentionally or not, as companies associate OSS with it - which is a shame.
As Stallman would point out, GPL is Free Software, not OSS.
> GPLv3 has been extremely damaging to OSS, intentionally or not, as companies associate OSS with it - which is a shame.
If companies really want to continue shipping crapware locked-down IoT and ARM systems they can pay for the development of the software themselves. Since it is effectively impossible to run your own Linux distribution on the vast majority of Android devices, contributing ARM-related Linux code as a hobbyist is literally working for Google/phone manufacturers for free. Stallman did not start GNU so you could sit on your Macbook writing ad-tech apps to deploy to AWS and the Google Play Store.
Yes I know that, you know that, but it had positioned itself (deliberately) as the first choice & was very effective at it.
Or put another way: a PC doesn't have to include Windows but there's a reason the campaign was Mac vs PC not Mac vs Windows.
Also you seem to think I care what Stallman thinks or wants. I really don't.
GPLv3 is about stopping TIVO-isation, but TIVO tactics is what Apple specializes in. Locking people in with other people's (F)ree software.
The sad part is that GPLv3 is just fine for all (F)OSS project. But to them, it's about making sure their project governance can never really be moved to a more neutral foundation if they ever feel the need to put all their energy behind one project and close it down again... The "freedom" to take away freedom from others isn't one.
A bit like how Android 3.x was code-dumped after the fact, when 4 came out... Open you say?
And yes, non-copyleft would work as well, and I have nothing against them a priori, but that's as long as the governance model is built around neutral foundations, proper community management, etc.
What the GPL does, is prevent the imbalance when a company decide it doesn't care about the community around a project because they have the bigger share and run with it.
I would understand more discussions around AGPLv3, but GPLv3 is just fine.
(On a side note, I'm always fascinated by the GPL bashing here... well... I guess it is expected considering money > freedom for some who can't think passed their project's legacy.)
1) Many people at top of the talent pool know that the internet makes it possible for them to not only make huge differences at companies they work for, but they can also (if allowed) make enormous differences to the entire world. If they don't have to compromise their free time in order to do that, it's an enormous benefit.
2) The people a company like Apple wants to hire are interviewing the company just as thoroughly as they are interviewing the candidate. If the candidate has not already seen a large portfolio of their work there's no real guarantee (even if you're Apple) that you can convince them that they'll be working on amazing teams with amazing engineers.
3) When you're at the top of the talent pool your goals and incentive structure are almost certainly not tied directly to compensation. Of course you want to be compensated fairly, but when it comes down to it you're passionate about what you do, and as a consequence you've become great at what you do. You generally don't become the best at something because you believe it will compensate you better.
It would most likely be hw specific quirks and drivers given most of the hardware they use is standard and already supported by Linux. (With Intel building in their Wi-Fi chips even Broadcom wireless stuff won't be an issue.)
Doubling down on Open Source is not really doubling down if you just continue to dump code on github.
Apparently it's a market that has never heard of the notion "opportunity cost".
Making changes to support few hundred or fewer users who want Linux in a “nice package” is shooting itself in the foot. From a business perspective it simply does not pay. And what is Apple? Big money-oriented business. If you have a business and want to please everyone you will fall, it's just that simple.
They make money on users who don't even know what Finder is and rest so called “pros” should just don't give a fuck and use it as they usually do...
That project looks dead, but essentially, it would be XNU paired with GNU, operating similarly to Linux (Though you'd still end up with MACH-O binaries instead of ELF). Honestly though, I find the Unix inside Apple to be more than enough for my general needs, and VMs step in where it is not.
Also, iTerm2 is still better than anything I've used in Linux. I work in both Linux and macOS every day, Mac is still a better experience.
Oh, and you can add to that support for Vulkan on their platforms.
That's already a problem and discriminates against a major part of FOSS projects.
Does apple actually forbid certain licences, or is this just another case of GPL fans assuming everyone else has to adapt to them?
The question is why a developer can't publish gpl3 code to the App Store?
Is it because of an apple rule or is it because gpl3 says the developer can't do that?
Indeed it isn't, we weren't even talking only about GPL. We were discussing that claims about Apple "opening up to FOSS" are bogus, until they'll fix the glaring examples of being hostile to FOSS, like above.
> Is it because of an apple rule or is it because gpl3 says the developer can't do that?
It's clearly caused by Apple's restriction on the store, since there is no problem releasing GPL software from many other stores and repositories.
See what I did there?
Given that the article is specifically titled open source not "free software" I don't even see how your "point" came up.
The GPL doesn't allow the users rights to be restricted in this way, hence the incompatibility.
[1] 18 U.S. Code § 31
Can you point to the App Store rule that says this?
http://www.apple.com/legal/internet-services/itunes/us/terms...
> SERVICES AND CONTENT USAGE RULES
> Your use of the Services and Content must follow the rules set forth in this section (“Usage Rules”). Any other use of the Services and Content is a material breach of this Agreement. Apple may monitor your use of the Services and Content to ensure that you are following these Usage Rules.
> All Services:
> - You may use the Services and Content only for personal, noncommercial purposes (except as set forth in the App Store Content section below).
[...]
> App Store Content:
> - The term “App” includes apps, iMessage and Apple Watch apps, in-app purchases, extensions (such as keyboards), stickers, and subscriptions made available in an app.
> - You can use Apps on any device that you own or control.
> - Individuals acting on behalf of a commercial enterprise, governmental organization or educational institution (an “Enterprise”) may download and sync Apps for use by either (i) a single individual on one or more devices owned or controlled by an Enterprise; or (ii) multiple individuals on a single shared device owned or controlled by an Enterprise. For the sake of clarity, each device used serially or collectively by multiple users requires a separate license.
> You may use the Services and Content only for personal, noncommercial purposes
Um, this:
> (except as set forth in the App Store Content section below)
what