User blog:Planetn9ne/What do you need to create an OCF?

I was wondering, how do people create OCFs? What do you need to learn to create an OCF? I hope I can learn something and maybe try to create one myself.