Maybe in another life Rorschach, from Watchmen, was a software vendor.
Software lock-in is, in simplest terms, what happens when you pick a piece of software and are stuck with that decision, locked-in. What usually comes to mind is proprietary software - vendor lock-in by method of proprietary data formats, that ensure customers use the vendor’s software for eternity. Working with open source software like Django we’re immune to this issue though, right?
Close! But not quite.
As a framework, Django offers a lot of features designed to avoid lock-in. As a WSGI-compliant library you can use any WSGI application you want to serve your app. The ORM supports multiple databases, with first class support for PostgreSQL and MySQL. You can take the same app and run it against different databases and largely expect it to work exactly the same using each. Of course your app will be “locked-in” to Django, but let’s take a few things as given here. However, once you start using backend-specific features or unique backing systems, you give up some optionality and the switching costs start to increase. That sounds bad, right?
If you’ve had your morning coffee you’re probably asking some questions now:
Forever yours because no other formats work the same way,
Ben
Learn from more articles like this how to make the most out of your existing Django site.