Business justifications to do with new platforms are usually to do with five things:
- Outlay cost
- Running Cost
- Great support through vendors
- Maturity and how well proven something is
- Interoperability with existing key systems and open standards.
Open platforms tend to mop the floor with the first three but that does depend on a company's staff (retraining isn't cheap but if you've already got Linux/Python/Django bods, there's little concern there).
Support from open source is a little more sketchy but it's still there. The key difference is that MS owns the entire ASPNET stack, from OS, through server, to framework. Support is centralised (though that doesn't mean it's good support).
If your Linux server software blows up, you might be able to get support from your main vendor, but they might push you out to the communities. Again, no judgement on the quality of the service... But it's a slightly more intricate process.
Maturity is (IMO) the silliest of the things. Django is well proven. It's how you use it that isn't tested or proven. Of course there are exceptions. Using SVN releases of Django will probably result in the occasional hiccough.
But the BIGGEST issue and blocker for migrating is existing software. ASPNET sites won't* run on Linux but you can deploy Django on Windows. If you have key infrastructure to move over, you might have to stage things, even deploy Django on IIS for a while, until you can chuck Windows out the ...err... window.
Open standards are something relative new to management types. It's basically not finding yourself locked in five years down the road. Of course the Linux platform is great on that front but it is important to note that with any ORM (object-relationship mapper - the biz that manages your database) there is a certain lack of flexibility. You can still access the data from other places but you'll need to concentrate on it.
*Mono might work but... Yeah... There's almost no support there.
The short and curlies: It's really a subjective thing. How much of a pain migrating is really depends on your existing setup. If you have no existing setup to migrate things are easier. If you have the technical prowess, I'd wager most people would swing towards a more open system.
On a personal level, I moved to Ubuntu before I dropped ASPNET. I tried to keep it going through VMWare but eventually decided I needed something better. (This was before the ASPNET MVC framework was available) and eventually landed with Django.
I don't think I'd go back out of choice, even to an improved ASPNET -- Django is just cleaner (in my humblest of opinions).
I freelance so I can mostly suggest what frameworks to use. This has been great for learning Django but if you find yourself working full-time for one company, you might find this isn't possible.
Indeed, if you're looking for work, you're going to find a damned lot fewer jobs for Django than you will ASPNET. I doubt that'll ever reverse itself, but there is Django work out there.