You didn't say what year or model BMW. The service intervals vary a huge amount between models a years.
BMW built since the mid-1980s have a service indicator. You should change the oil when the service indicator tells you to.
On BMWs that specify synthetic oil, you should change the oil when the indicator counts down to zero or once a year whichever comes first.
About every 12 to 18 months
The engine oil should be changed every 3000-5000 miles
Gear oil should be changed every 4,000 to 5,000 miles. Motor oil should be changed every 3,000 miles to keep the engine running clean.
Change the oil filter every time you change the oil.
The average motorist should change the oil every 3000 miles. Oil should be changed more often if driven in dusty condition.
The oil should be changed every 6 months or 3,000 miles, wich ever comes first.
Every 30,000 miles
If you do not drive it often, I would recommend getting it changed every 3 months. That is what many mechanics tell you to do.
I change it every other oil change.
Every 300 hours.
About every 3000-6000 miles
Every 1000km's