Apple: We have decided to no longer release Libm source (2013)
openradar.io
openradar.io
The trend here has been to close up more and more stuff for quite a long while already :(
Apple is about anti competitive as they get.
http://news.cnet.com/Apples-Jobs-calls-for-DRM-free-music/21...
I would argue that Apples strength is it's ability to make daring technology choices which drives the whole market forward. (Adoption of USB, dropping floppies, CDROMs, introducing iPhone, iPad) and in the long run that is very pro-consumer.
Jobs called for DRM free music because he saw that he was going to run into serious anticompetitive charges if he didn't allow for people to use iTunes purchases outside of iTunes and iPods.
That's going to need some really impressive fact-based justification.
I think a good case could be made Apple's the only PC maker focused on making mass market consumers happy (vs enterprise or technology buyers).
They've also seemed more focused on the product experience than on market share.
- - -
Some TL;DR specific thoughts on each of your examples:
- "finally offering larger screens for the iPhones" -- the giant screen move feels anti-Samsung, not pro-consumer. There is an ideal one handed screen size, and the 6/6+ are not it. The 5 series was already pushing it. The problem for Apple is in the big box or mobile store, bigger looks better. In every day use, once the phone is part of you, one handed becomes natural when right sized. (If you've only used bigger, you don't know any better.) In the store handling with two hands, you don't realize it won't go well. Buying experience and using experiences are at odds here, though I grant the bigger screens are nice when you are not mobile.
- "finally making iTunes (partially) DRM free" -- it's well documented that movie, TV, and record industry execs were the problem here, not tech providers, and Apple's fight to liberate music was quite public.
- cross compatibility -- this is a bugaboo (something that causes fear or distress out of proportion to its importance). with rapidly evolving technologies, it's extraordinarily difficult to have an end to end ecosystem 'just work' for normals not interested in diagnosing why it fails. Apple controls that end to end to make sure it works. Even then, things happen, like the Airport Extremes and iOS 8 WiFi, but because they control both, they can release updates to both to fix it. They don't have to support the lowest common denominator, they can push for performance and stability both. The bargain a user makes with Apple is "buy into the ecosystem, get peace of mind and eliminate the need for a tech guru."
Not the open source friendly one, that developers that only know Apple since Mac OS X days seem to think about.
Maybe they require it for their users' benefit or something, or say they do, but Apple is very much about control in a way that I, as a hackerish kind of guy, am not ok with for the core of my computer usage.
My parents have Macs on the other hand, and are very happy with them - it seems to be a good system for the kind of people who don't hack on stuff and like the tight integration.
I have things that I think are far more interesting to work on than worrying about hardware compatibility. If I ever reach a point on Apple hardware + software where I can’t hack on the things that I want to hack on, then I will leave it. But as of right now, it gets out of my way and lets me do those things that I want to do. (Some of the various Linux distros have gotten better about this, but they aren’t there yet, even for me—and definitely not for my wife.)
I've never used an Apple system, but I have the impression that only a subset of third-party hardware is compatible. Is that accurate? I've perhaps deduced incorrectly from the number of one-star Amazon reviews that decry 'lack of Apple drivers'.
To me that would be frustrating since there are only two parties that can resolve such an issue ( Apple and the vendor ) rather than in OSS world where there's a chance of reverse-engineering a driver.
And I have had occasion to hack on low-level stuff like kernel drivers, now and then, so knowing the whole system well because I use it every day has been an advantage.
I'm shocked at hearing those complaints from people that want to be hired to use computers, though. If I (as a developer) couldn't handle installing a post-2010 Linux system within a few hours, I'd be ashamed, not indignant.
I recently built an OpenSuse box for a client, and since there is no "good" motherboard manufacturer for Linux, I have to just randomly hope whichever one I get works.
I've gotten Gigabyte, MSI, Asrock, and ASUS boards in the past. Of those, only Asrock supports dhcp online updates to the firmware, which is nice considering most of them supply some shitty proprietary firmware installer on Windows without firmware imgs. So I went with an Asrock board.
Now, I know from experience Asrock boards wipe their EFI boot menu when you update the firmware, so you need a thumb drive to boot into a Linux to readd your OS to the boot menu. Their proprietary EFI gui is all right, better than ASUS' in my book.
Problem is the board came with a mini-pcie slot, which did come with an Atheros NIC, but something in that pipeline (board -> PCI -> NIC) meant that handshakes would always time on when attaching to wifi. Dmesg was never useful, it would just keep retrying requests without getting responses.
And then sometimes it works, randomly. It is probably an electrical problem somewhere along the chain, but considering it was just a perky extra rather than an important part of the system, I'd rather not go through the pain in the ass of RMAing a board to get on back that might work.
I think fundamentally the problem is that unless you buy from Zareason / Thinkpenguin / System76 (in the US, that does not have consumer protection laws that mandate systems be made available without OSes like in Europe) you are stuck building your own, and there is no computer you can assemble that whole stack has Linux support.
I know that Mushkin and Kingston have SSD firmware updaters for Linux. AMD and Intel obviously support Linux. RAM vendors do not need to care about OS, that is the firmwares problem. But not a single motherboard vendor supports Linux, and that is a real problem.
(I also tweak my environment—I maintain my own cross-compatible dotfile environment that gets me running on Linux or OS X in minutes, and the same for my vim config. But I’m not interested in playing with the kernel or graphics card or whatever. I’m interested in a computer that works with as little intervention from me as possible.)
I could probably switch much easier to a Linux system now, but most of the systems that I’ve played with just don’t have the same level of polish that I expect from a desktop system, and I don’t want to hack on kernel drivers—it just doesn’t interest me.
Other people will make other choices. To make a slightly tortured analogy, I need a pre-assembled propane barbecue, because I have food to make. Other people want to go through the whole process of building their barbecue (or at least putting its pieces together), but I’d rather be cooking. De gustibus, ya know.
That's kind of funny :-)
https://plus.google.com/u/0/+DavidWelton/posts/96kQRRC1L2W
Am I the only one who almost never uses a moble device one-handed? Anything that requires fairly rapid accurate tapping, I just can't do reliably with my thumb.
Actually, now that I think about it, it probably has to do with the fact that I turned off auto-"correct" from the very beginning, so when I'm typing I have to tap every single character manually.
It's a bummer to see a reduction in the amount of open source, but their license is fairly clear and I can't say that I blame Apple for trying to keep competitors away. Further, it looks as though most implementations is closed-source-y since the source code is highly tied to CPU idiosyncracies...
Links:
Apple's libm license: http://opensource.apple.com/source/Libm/Libm-315/APPLE_LICEN...
Intel: https://software.intel.com/en-us/articles/intel-math-kernel-...
AMD: http://developer.amd.com/tools-and-sdks/cpu-development/libm...
Android: https://android.googlesource.com/platform/bionic/+/master/li... (from FreeBSD?)
I certainly can. They restrict their users freedom to own the machines they buy by disrespecting their customers by giving them software without available source.
You can always blame them. It is not something that is ok, it is ethically wrong to sell someone something without giving them the proverbial floorplan. If it is a "competitive disadvantage" for others to know how your software or hardware works, then you must not have a very compelling product if it cannot stand on its own in the open.
That doesn't mean it's a nice thing to do. Was this derived originally from FreeBSD code? This could be why the GPL is a good thing.
(Personally I'm not sure if it's even possible to definitively say which situation is better; you can't do something scientific like releasing a library under both licenses and seeing which people use, because they would interfere - you really need two parallel universes to see the true effect of that one change)
OS X's libm contains only assembly functions re-written from scratch, originally in PowerPC assembly and then in IA-32 and x86-64, to be faster, more accurate and more standards-compliant than the FreeBSD versions.
I hope that this announcement will at least result in some interest in the versions that have been released as open-source and are still available, because this is beautiful code. But I am an optimist.
http://floating-point-gui.de/xkcd/
A good quality math library that is optimised to take advantage of new processor extensions whilst still being correct is worth a lot.
I would imagine that there is a lack of engineering time to make this open source, rather than some nefarious purpose.
502 Bad Gateway
nginx/1.4.1 (Ubuntu)
(edit: non sequitur) $ cd source/Libm
$ git status
... snip ...
new file: Source/Intel/nsa_random_number_generator.c
new file: Source/Intel/nsa_random_number_generator.h
**CARRIER LOST**
Disclaimer: yes yes I know, it's discouraged, but the point remains that it has become virtually impossible to trust a closed sourced OS, and steps backward like this do little to improve things.