Apple To Mandate Sandboxing by March 2012

And so the iOS-ification of Mac OS X continues. Apple has just announced that all applications submitted to the Mac App Store have to use sandboxing by March 2012. While this has obvious security advantages, the concerns are numerous – especially since Apple’s current sandboxing implementation and associated rules makes a whole lot of applications impossible.

Apple announced the deadline on its developer website. “As of March 1, 2012 all apps submitted to the Mac App Store must implement sandboxing,” Apple writes, “Sandboxing your app is a great way to protect systems and users by limiting the resources apps can access and making it more difficult for malicious software to compromise users’ systems.”

The advantages are obvious: a sandboxed application cannot wreak havoc on the system, and thus, the user has far less chance of causing damage to his or her system. The gist is basically that any Mac OS X application can only access the data in its own application bundle (like on iOS), and that in order for the application to do anything beyond that, it has to receive special and explicit permission from Apple, dubbed an entitlement.

Software developer Pauli Olavi Ojala is very concerned about this. He lists all the entitlements, and it’s a shot list – and for each of these, you must receive permission from Apple. You have to actually make your case to do the things listed in the entitlements, and if the App Store reviewer disagrees with you, you’re out of luck. And for anything not listed in the entitlements?

“Need to access hardware using something else than USB, for example Thunderbolt, FireWire or Bluetooth? Tough luck (just because these interfaces are on your Mac doesn’t mean Apple wants anyone to use them via 3rd party software),” Ojala writes, “Need to communicate with processes that your app didn’t directly start, or perhaps take screenshots? Not going to happen. Maybe you’d like to read and write files in a known location on a network disk? Not possible, unless you pop up the Open/Save dialog for every file.”

Another problem is plugins. Many applications – especially professional applications like Aperture, Photoshop, Final Cut Pro, and so on, all use plugins. In the sandboxed world, plugins are impossible, since applications can’t even see them, let alone execute them. AppleScript is in a similar position.

Pauli Olavi Ojala is not the only developer who is worried about sandboxing on Mac OS X. Back when Lion was released, sandboxing was one of the improved features under the hood, and it was Apple’s original intention to mandate sandboxing starting November 2011 (they apparently decided to postpone it). Back then, too, did several developers raise little red flags.

“I think that Apple would have a lot more developer enthusiasm for this feature if it wasn’t so clear to many of us that our apps will be forced to lose features in order to adopt sandboxing,” Daniel Jalkut wrote in September, “And while users may be happy about the prospects of improved security with the sandbox, I think there will be less excitement about the diminished functionality of apps whose features don’t fit nicely into the sandbox confines.”

Jason Snell is concerned as well, expressing the fear that the Mac App Store sandboxing will cause a dumbing down of the Mac application ecosystem. “Not only does this approach risk turning the Mac App Store into a wasteland of arcade games and one-trick-pony apps, it risks dumbing down the Mac app ecosystem as a whole,” he argues, “While developers can always opt out of the Mac App Store, they’re reluctant to do so. Not only are they afraid that Apple will one day make new Macs unable to run apps that don’t come from the App Store, but they realize that if their competitors are in the Mac App Store, they risk losing sales. It’s generally too expensive to develop two separate versions of an app, so the net result of tighter App Store restrictions could be that Mac apps everywhere – on and off the store – will actually become less powerful.”

And this is the core issue, of course. At this point in time, you can still easily install applications outside of the Mac App Store, but the fear (and, let’s face it, the expectation) is that Apple will one day make this harder – only to make it impossible a little later. I’m pretty sure Mac OS X will get a switch first – off by default – to only allow App Store applications. In the release after that, the switch will be on by default. One release later still, and the switch is relegated to some obscure command line command.

This is exactly one of the prime reasons why I decided against replacing my wrecked (somebody bumped a remote control on the display – long story) MacBook Air 11.6″ with another MacBook Air, instead opting for an Asus Zenbook. At least with Windows, there’s generally little penalty in sticking to an older release of Windows (Windows 8, after all, is moving in similar directions), while on the Apple side of things, both Apple and developers alike tend to drop old releases right when the new one comes around the corner.

All in all, it seems that after the first major signs of iOS-ification in Lion, Apple is going full steam ahead with the process of turning Mac OS X into the same kind of ‘My First Operating System’ iOS has been designed to be from the get-go. Call me stodgy, old-fashioned, and bah-humbug, but I find this a very detrimental development, and a clear sign that computers are becoming less powerful instead of more powerful. Windows 8 has me worried for the exact same reasons.

The total disdain and often downright animosity towards more knowledgeable computer users seems to be prevalent in both Redmond and Cupertino, and as far as I’m concerned, this will only have one outcome: more refugees towards Linux.

Goshdarnit, not all of us are satisfied with fancy Twitter applications and weather checkers alone.

70 Comments

  1. 2011-11-03 11:06 pm
    • 2011-11-03 11:58 pm
      • 2011-11-04 12:04 am
        • 2011-11-04 12:11 am
        • 2011-11-04 12:33 am
          • 2011-11-04 1:32 am
          • 2011-11-06 11:36 am
        • 2011-11-04 4:39 am
          • 2011-11-04 8:59 am
  2. 2011-11-03 11:42 pm
    • 2011-11-04 6:42 am
  3. 2011-11-04 12:39 am
  4. 2011-11-04 12:55 am
    • 2011-11-04 8:16 am
    • 2011-11-04 9:25 am
      • 2011-11-04 3:35 pm
    • 2011-11-04 11:56 am
  5. 2011-11-04 2:19 am
  6. 2011-11-04 2:24 am
    • 2011-11-04 9:52 am
  7. 2011-11-04 2:24 am
  8. 2011-11-04 2:43 am
    • 2011-11-04 5:17 am
  9. 2011-11-04 2:46 am
  10. 2011-11-04 4:16 am
  11. 2011-11-04 5:42 am
  12. 2011-11-04 6:45 am
    • 2011-11-04 8:20 am
    • 2011-11-04 8:26 am
  13. 2011-11-04 8:03 am
    • 2011-11-04 11:27 am
      • 2011-11-04 6:51 pm
    • 2011-11-04 4:00 pm
      • 2011-11-04 6:27 pm
        • 2011-11-04 6:40 pm
          • 2011-11-04 7:33 pm
        • 2011-11-04 11:29 pm
    • 2011-11-04 5:44 pm
      • 2011-11-04 7:26 pm
        • 2011-11-04 9:08 pm
          • 2011-11-05 12:53 am
          • 2011-11-05 9:13 am
          • 2011-11-05 12:54 am
          • 2011-11-05 12:20 pm
        • 2011-11-04 11:35 pm
    • 2011-11-04 6:03 pm
    • 2011-11-04 6:10 pm
  14. 2011-11-04 8:55 am
    • 2011-11-04 2:23 pm
    • 2011-11-04 4:03 pm
  15. 2011-11-04 12:55 pm
  16. 2011-11-04 4:06 pm
  17. 2011-11-04 5:19 pm
  18. 2011-11-05 1:47 pm
    • 2011-11-05 5:41 pm
      • 2011-11-05 7:22 pm
        • 2011-11-06 12:01 pm
          • 2011-11-06 2:33 pm
          • 2011-11-06 4:35 pm
          • 2011-11-06 7:37 pm
          • 2011-11-06 10:11 pm
          • 2011-11-07 1:02 pm
          • 2011-11-07 8:54 pm
          • 2011-11-08 7:42 pm