Does "drush dl" allow to download a module from a site that is not drupal.org? I have created a Drupal test site on Openshift, and I got Drush 6.2.0 installed. Reading the online help for drush dl, I see the following: 


  Download Drupal core or projects from drupal.org (Drupal core, modules, themes
  or profiles) and other sources.


Looking at the rest of the help text, I don't see any option to say to the command the module I want to install is not hosted on drupal.org.

Can drush dl really download a module from a site that is not drupal.org, e.g. my git repository on github.com?
It looks like the source url for project downloads is context-specific - so you can set, for example, cli.source to something other than the default Drupal server, and Drush will look there for new releases. 

I can't see anything in the code that would suggest that this can be done per-project though, just globally/per context (it's in [drush]/commands/pm/downloads.pm.inc if you're interested).

It is possible per-module using core functionality, i.e. adding this to your module's install file:

project status url


which:


  Allows module maintainers to define a URL to check for updates to their module using the Update status module. No module released on drupal.org should define this parameter. URL should point to an XML feed that accepts requests in the form of http://my.domain.com/projects/{project}/{core}. In that example, project status url should be set to http://my.domain.com/projects.


But it looks like Drush is expecting the remote server to provide data in Drupal's update XML format regardless of the source, so I don't think you'll be able to integrate this with Github without implementing some middleware.