Auto-populate deal source with lead / account source

When creating a new deal, you have to manually enter the source for that deal. This can errors in reporting when agents fail to enter the source or if they enter it incorrectly. It would be nice if this field auto-populated the deal source with the same data as the parent lead or account.