Groklaw has just published Prof. Owen Astrachan rebuttal to Oracle's Andriod lawsuit against Google.

The article is actually a good read, as Owen Astrachan clearly recognizes that most adjudicators haven't got the slightest idea about how to program, or even how a computer actually works. In his attempt to describe what we as programmers do in the simplest of term, he produces a variety of analogies and explainations that would make any teacher of Java fundamentals proud.

Take this description of the distinction between an API and it's implementation:

"Different implementations of APIs are similar to different sets of driving directions that take someone from point A to point B. In this analogy, the starting point, A, is like an argument, and the ending point, B, is like a return value. Like an API implementation that is constrained by the method declaration, every set of directions that goes from point A to point B will begin and end the same way (“leave the parking lot at point A,” “enter the parking lot at point B”); however, there may be many other variations between the directions. For example, one set of directions might take the highway, while another might take back roads. One set of directions might prioritize giving directions in the fewest number of turns, while another set of directions might take more turns, but use those extra steps to avoid an area of high traffic. Another pair of directions might be identical, except that one adds special steps to be taken during rush hour."

The brief is filled with great, descriptive nuggets like the analogy above. Even if you could care less about the Andriod lawsuit, it's actually a fairly interesting read.

http://www.groklaw.net/article.php?story=20110907141407472