Thirty years ago, you had to buy entirely new software when your current program became obsolete. Today, you can download an extension, patch, or upgrade. Thanks to APIs, application programming interfaces, these "modular" additions to software can come from virtually anywhere.