Open System
- 1 Overview
- 2 Assessing Risk, Benefits, Drawbacks
- 2.1 Closed platform benefits
- 2.2 Closed platform risks
- 2.3 Open platform benefits
- 2.3.1 Vendor changes exist, but can be mitigated. At the Unix application level, users are more conservative.
- 2.3.2 Excellent initial set of tools, easy access to more without any special effort
- 2.3.3 More variety/flexibility: Lots of desktops and window managers to choose from, most very customizable
- 2.4 Open platform risks
- 3 Data
- 4 Services/Infrastructure
- 5 Hardware
- 6 Game plan
- 7 Applications
1 Overview
Notes on why it’s important to think about migrating to an open platform.
1.1 Why?
When you choose to use a closed platform, you’re incurring a certain amount of risk in exchange for some benefits. A sensible assessment of the risk should include a way out and an assessment of the risks of moving to a more open platform.
In my case, I’m concerned about two things:
- Apple is keeping some of its better new iCloud integrations back from apps that aren’t sold through its own App Store, but because of the sandboxing requirements it places on developers, and because it doesn’t communicate its intentions, buying professional-quality apps through the app store is risky. That undermines the value proposition of Apple’s product line (tight integration), and threatens developers that may have a hard time making the tradeoff between finding an adequate market outside the app store and dropping features to stay in the app store.
- Apple’s sandbox suggests that it might become increasingly onerous to run the Mac as a first-class Unix system in the future.
1.2 Defining terms
1.2.1 Open formats
An open format is a standard for creating a document/file that is unencumbered by patents or other intellectual property regimes.
1.2.2 Common formats
A common format is a standard for creating a document/file that might be encumbered by patents or protected by a vendor, but that is also in wide use and widely understood by applications besides those provided by the vendor. Microsoft Word documents, for instance, can be opened by a variety of non-Word applications (with varying support for all the features).
1.2.3 Closed formats
A closed format is encumbered by patents and not accessible by applications outside the one used to produce documents/files of that type.
1.2.4 Closed platforms
A closed platform is one where a single vendor is in control of the direction the platform takes and is not accountable to the user base outside simple market demand. Closed platforms don’t allow for forking. Mac and Windows are closed platforms.
1.2.5 Open platforms
An open platform is one where no single vendor is in control of the direction the platform takes, and the platform allows for forking. Linux is an open platform.
1.2.6 Open apps
1.2.7 Closed apps
2 Assessing Risk, Benefits, Drawbacks
Some risks and benefits of individual platforms are inherent to the platform. Some aren’t inherent, but exist in practical terms. I’m not going to spend a lot of time qualifying which is which here but instead generalize. Under consideration for me is a move from Mac hardware/software to commodity PC hardware/Linux. I consider Windows and Mac OS closed platforms, while Linux is an open platform.
2.1 Closed platform benefits
2.1.1 Greater polish
2.1.2 More consistent user experience
2.2 Closed platform risks
2.2.1 Vendor changes
If your vendor chooses to change the way your platform works, you don’t have a lot of recourse except avoiding an update. On Windows it’s more the norm for there to be a sizable number of users lagging the latest version of the OS. On the Mac, users tend to update quickly, developers tend to chase the latest, meaning software can fall out of support more quickly.
2.2.2 Data loss/alteration
Vendors sometimes decide to drop features, removing the data those features worked with. Vendors sometimes change file formats and automatically upgrade legacy documents to the new format with little warning.
2.2.3 Forced obsolescence
Closed platform vendors (especially Apple) tend to push hardware forward quickly, phasing out support for certain kinds of devices and peripherals.
2.3 Open platform benefits
2.3.1 Vendor changes exist, but can be mitigated. At the Unix application level, users are more conservative.
2.3.2 Excellent initial set of tools, easy access to more without any special effort
2.3.3 More variety/flexibility: Lots of desktops and window managers to choose from, most very customizable
2.4 Open platform risks
2.4.1 Projects become abandoned.
2.4.2 Projects exhibit a certain unevenness in development efforts.
2.4.3 User experience is usually less consistent.
2.4.4 Sometimes much more bleeding edge chasing is going on within projects.
Getting new features and updates will mean breaking from a distribution’s default packages and sometimes chasing minor revisions of a number of libraries.
2.4.5 Hardware support less likely to be advertised on the box.
Research has to be done before buying, not only into the basic product capabilities, but how well it works with which distribution. Users are not always reliable reporters of what works/what works well, sometimes skip mentioning features of a given product that simply aren’t supported.
3 Data
Before undertaking a complete migration, user data should be saved in common or open formats to the extent it’s practical. If it’s not possible to keep using existing closed platform applications using common/open formats, ongoing export functionality needs to be identified and guaranteed before upgrading an app, e.g. address book data can be saved in vcard.
3.1 Triage
3.1.1 Must-move data
- addresses
- code
- stored receipts, notes
- browser bookmarks
3.1.2 Should-move data
- calendar data
- todo lists
3.2 Syncing Services
Being able to sync addresses, browser bookmarks, open tabs, calendar data among computers and devices
3.2.1 Vendor specific services: Apple/iCloud, Google, Ubuntu (?)
3.2.2 Third-party: Xmarks, Mozilla (?)
3.3 Personal data
3.3.1 Calendar
3.3.2 Address book
3.3.3 Todo lists
3.4 Storage
3.4.1 Hard drive formats on external drives
Linux offers some support for non-native filesystems. My external drives are in HFS+.
3.5 Documents
3.5.1 Open formats
- HTML
- Markdown
- Emacs org files
- PDF (“open enough” for read-only purposes)
- OPML
- YAML
3.5.2 Common formats
- .doc
- .odf
- .xls
- .ppt
3.6 Media files
Migrating out of a closed platform and keeping media files requires awareness of what the most common media players are on open platforms and learning what formats they can play.
3.6.1 Music
Common formats in my collection: mp3, lossless AAC
3.6.2 Video
Common formats in my collection: mp4/m4v, avi
4 Services/Infrastructure
4.1 Email
IMAP is the ideal mail protocol, since it provides server-side organization of mail folders. No need to recreate folders from a local machine, no concerns about conversion from a proprietary mailbox storage format.
4.2 Blogging platform
Should be self-hosted in such a way that databases and files are always avaialble via standard tools. Should be hosted under a domain under your own control, not a subdomain of some provider’s.
4.3 Cloud Storage
Online storage should be easily accessible via standard protocols (e.g. sftp/ftp)
5 Hardware
5.1 Peripherals
5.1.1 Wi-Fi
5.1.2 Printers
5.2 Computing devices
5.2.1 Moving to new hardware
5.2.2 Keeping the old hardware
Apple hardware is somewhat compatible with Linux, but certain features may not always work correctly.
- MacBook Air
- iMac
5.3 Devices
5.3.1 iPad
5.3.2 iPhone
6 Game plan
The goal isn’t to make a big statement and tweet/blog about how awesome everything is now that I’m free of the tyrannical clutches of a closed platform. That’s silly. The goal is to effect a pragmatic, planned, staged move that leaves me able to do all my work at any point in the process, and that allows each decision I make about the tools and technology I’m using to be informed by the best choices for getting work done, not concern that I’m locked in to proprietary apps and won’t be able to get my work done if I ever decide to change platforms.
So the gameplan involves stages that make it possible to continue getting the most out of a proprietary platform (the Mac) without subjecting myself to lock-in or being unable to move away from it if I need to.
6.1 Going portable
6.1.1 Saving files in common or open formats rather than vendor-specific formats that aren’t likely to be readable elsewhere
- iWork files saved in their Office analogs
6.1.2 Organizing
6.2 Leveraging Virtualization
Virtualization provides an intermediate step during which time the migration platform can be assessed and configured without committing fully to it by providing a virtual machine that runs practically full-time and shares files with the outgoing platform.
6.3 Data-only migration
Step one of any migration involves getting data of all sorts mentioned above into a more common format. Ideally open, but even common formats will work.
6.4 Software migration
Some software is easier to replace than others. Some doesn’t need to be replaced at all because it doesn’t store any data of its own besides easy-to-replace bookmarks (e.g. ftp clients, mail clients in conjunction with an IMAP server).
6.5 OS migration
Some hardware may be amenable to running another operating system.
6.6 Hardware migration
7 Applications
An application inventory, with discovered alternatives listed beneath each piece of software.
7.1 Professional Apps
7.1.1 Sequel Pro
7.1.2 VMWare
7.1.3 BBEdit, TextMate
7.1.4 Versions
7.1.5 Transmit
7.2 Day-to-Day Apps
7.2.1 Email
- Mail.app
- Thunderbird
- mutt
- Gmail (web interface)
7.2.2 IM/Voice/Social Networking
- MarsEdit
- Skype
- Skype is on multiple platforms, including Linux
- Adium
- underlying Adium libraries found in open source messaging apps
- Tweetbot/Twitteriffic
7.2.3 Graphics/Photography
- Skitch
- 
- Aperture
- iPhoto
- Acorn/Pixelmator
7.2.4 Word processors
- Microsoft Word/iWork Pages
7.2.5 Spreadsheets
- Microsoft Excel/iWork Numbers
7.2.6 Presentations
- Microsoft Powerpoint/iWork Keynote
7.2.7 RSS readers
- Reeder/NetNewsWire
7.2.8 Music players
- iTunes
7.2.9 Productivity/Finance/Utilities
- SuperDuper
- probably looking at simple scripting to backup to an external drive
- Evernote
- Offers a rudimentary Web client and is available in mobile apps
- 
- 1Password
- 
- OmniFocus
- Emacs org-mode
- PTH Pasteboard
- Quicken
- GNU Cash
- Dropbox
- Available on Linux
7.3 Games
7.3.1 Minecraft
- available on multiple platforms
