Atlassian is set to turn its back on the Mac App Store come March after Apple-imposed restrictions involving application sandboxing saw SourceTree riddled with issues.
As of 1 March 2012, Apple will require all developers to implement sandboxing on all apps submitted to the Mac App Store. The process of sandboxing sees an app operate in its own virtual machine-style container, effectively isolating it from the rest of the system to prevent malware and malicious code harming a user's machine. This rule has fallen foul of Atlassian and its efforts to provide ongoing updates of SourceTree to users via the Mac App Store.
SourceTree is a Mac client for Subversion, Git and Mercurial version control systems. Atlassian purchased SourceTree in October and open-sourced the product.
Atlassian wrote in a blog post that it would no longer submit new updates for SourceTree via the Mac App Store due to the sandboxing restrictions and the limitations it would impose on future versions of the app.
"Sandboxing has a significant effect on SourceTree," Atlassian wrote. "The sandbox was designed mainly with a simple 'document editing' model in mind — ie, that access to files would be granted by users explicitly opening them (thus granting explicit access via a user interaction, with the open file dialog being a privileged system component which cannot be altered by the application), and that the functional process is self-contained. However, not all applications work this way, SourceTree included."
Atlassian wrote that the sandboxing restrictions prevent SourceTree from executing several key functions and damage the user experience.
- Users can't type paths anymore, which, according to Atlassian, damages the user experience
- Users lose file access on restart, meaning that bookmarked repositories will be lost when the application is closed and reopened
- The application runs into secure shell issues
- Integration with Terminal will no longer be allowed
- "Open with" commands will no longer be allowed
- First run of a newly sandboxed application will delete existing user preferences.
While Atlassian feels that the extra effort it has put into its Mac App Store submission has been beneficial for the company and the SourceTree product as a whole, it won't go down the path of fundamentally breaking the app to wedge it into Apple's policies.
"We've agonised over this decision for months, but the bottom line is that the current sandboxing implementation is simply not compatible with a version of SourceTree that we'd be happy to release. We care a great deal about the experience our users have, and being forced to release what would be, in our view, a downgrade of the app is just not something we want to do. For this reason, we are not currently planning on submitting any more updates to the Mac App Store after 1st March," Atlassian wrote.
Despite the issues, Atlassian still feels that sandboxing is a nominal idea.
"Fundamentally, sandboxing is a good idea. Asking applications to be specific about what they need to do, and exposing that to the system and users for validation is a good idea for security.
"The trouble is, the sandboxing implementation currently in place on Mac OS X Lion doesn't allow for all the behaviours that real Mac applications do right now, behaviours which are not at all contentious, are approved in the Mac App Store already and indeed are very much appreciated by users," the company wrote in its blog.
The company will continue to update the SourceTree product for Mac users via direct download on its website. Going forward, Atlassian hopes that Cupertino will relax its sandbox restrictions.
"Our sincere hope is that Apple will address the shortcomings of the sandboxing implementation in the future, and allow us to request the kind of behaviours we need to maintain the features that SourceTree users know and love," Atlassian concluded.
ZDNet Australia contacted Apple Australia for comment on Atlassian's app store retreat, but no comment had been received at the time of publication.