actually its so simple: Opt-In approach says properties that are considered to be part of DataContract must be explicitly marked otherwise will be ignore, while Opt-Out means all of the properties will be assumed to be part of the DataContract unless marked explicitly.