The word "billion", and its equivalents in other languages, refer to one of two different numbers.
The original meaning, established in the 15th century, was "a million of a million" (1,000,0002, hence the name billion), or 1012 = 1 000 000 000 000. This system, known in French as the échelle longue ("long scale"), is currently used in most countries where English is not the primary language.
In the late 17th century a change was made in the way of writing large numbers. Previously, numbers were written separated into groups of six digits; subsequently, the modern grouping of three digits came into use. As a result, a minority of Italian and French scientists began using the word "billion" to mean 109 (one thousand million, or 1 000 000 000), and correspondingly redefined trillion etc. to mean powers of one thousand rather than one million. This is known in French as the échelle courte ("short scale") and is now officially used by all English-speaking countries, Brazil, Puerto Rico, Russia, Turkey and Greece.
Use of "thousand million" for 109 and "million million" for 1012 avoids ambiguity. The old word "milliard", also found in many other languages, can be used for 109, but this usage is unfamiliar to many native English speakers. See long scale for a more detailed discussion and usage advice.