http://www.aiide.org/starcraft-competition - October? 2012
http://bwapiproject.netii.net/ - December 2012 (must be a student, also has a fundraiser)
Also planned for 2012 is the release of BWAPI 4.0.
But, what is BWAPI?
BWAPI stands for Brood War Application Programming Interface. It is generally a C++ interface that gives access to routines in Starcraft Broodwar, allowing users to write competitive AI (bots). However, the interface can be used in other languages, the most supported being the java bridge.
But, wouldn't they cheat?
BWAPI does not reveal information about units that the player does not know about unless a specific flag is enabled. The flag called "CompleteMapInformation", when enabled, will notify other users that it has been enabled. During Tournaments, the request to enable this flag will be rejected by the tournament module (a module that has the ability to control the flow of tournaments). However, if you consider 50000 APM cheating, then by all means they cheat, but the other bot has the same capabilities as your own.
Why would I want to use BWAPI?
Even if you are not interested in the competitive tournaments, you can essentially get more familiar with programming and play Starcraft at the same time.