Preheat oven to 350 degrees F (175 degrees C). Grease and flour a 9x13 inch pan.
In a large bowl, cream together the butter, oil and sugar until light and fluffy.
Beat in the eggs one at a time, then stir in the vanilla.
In a separate bowl, sift together the flour, cocoa powder, baking soda, baking powder and salt. Gradually beat into the creamed mixture alternately with the buttermilk or sour cream.
Spread evenly into the prepared pan.
Bake for 25 to 30 minutes in the preheated oven. Cake is done when it springs back to the touch.