Two main points have to be addressed to answer to your comment:
- in general, a datasource (meaning the “data-generator”) can be anything: a Web API (for example Wolfram Alpha or Cryptocompare), an external secure environment where to delegate executions (for example a virtual machine on AWS), a sensor (for example an IoT device) or even a human (for example Vitalik)
- the oracle is a party acting as a “data-carrier”, fetching the data from a datasource (where a datasource can be any on the ones mentioned above) and delivering it to a smart contract. Different implementations of an oracle exist. As an example, Thomson Reuters implements a solution where the “data-generator” (datasource) and the “data-carrier” (oracle) are the same entity (as Thomson Reuters delivers to smart contracts its own data only). A different approach is the one followed by Oraclize: Oraclize acts as a “data-carrier” and fetches data from external datasources (available in the real-world, but not strictly produced by Oraclize). The approach you seem to propose is the one firstly experimented by Orisi a few years back: a multitude of individuals, each of them monitoring the blockchain to spot data-requests from smart contracts, retrieves the data and delivers it to the smart contract. This is one possible implementation of the system, however it brings with itself relevant dowsides (i.e. no incentive for individuals to do this, smart contracts should trust anonymous individuals, consensus issues among others).
I hope this explanation helps! :)