Release software before the accompanying publication gets reviewed or accepted?
My experience in computer science has been that papers are rarely about software per se, but rather about the science that is either enabled by or instantiated in the software.  Computer science also typically seems to have a fairly open culture where people don't worry much about being scooped.  As such, research software is often available on open repositories like GitHub or Bitbucket long before it is published---it's just that nobody notices or pays attention to it before there is a significant paper to motivate them to do so.

So, to finish answering the question:


Pros: demonstrate commitment to openness, people might use it before publication
Cons: you can't do this with something you want to patent