OpenJDK is Sun's project to develop a 100% open source JDK. They started this project a few years ago, along with big announcements that Java would be open sourced. They couldn't make JDK 6 open source easily, because they used third-party components that they don't own the rights for.
The goal of the OpenJDK project is to replace those components with open source counterparts. One example is the font rendering.
For the future, JDK 7 should be fully based on OpenJDK and should become 100% open source.
Ofcourse the goal for OpenJDK is to be 100% compatible with Sun Java, so anything you've developed with the Sun JDK should run on OpenJDK Java and vice versa.
The Java 6 version of OpenJDK has been the default Java version for Ubuntu and a number of other Linux distributions for a while already. I haven't really used Ubuntu in a while, but a year or so ago there were still a number of incompatibilities in OpenJDK so that not everything worked flawlessly.