Copyright law today covers a variety of subject matter. But very importantly, one of the additions to copyright protection which is important for our purposes is computer software, which copyright protects as a literary work. Computer software meaning the actual code underlying the software protected as literary work. Now given that copyright protects most works against both literal and non-literal copy, computer software obtains the same kind of protection. So computer software is protected against literal infringement and non-literal infringement. And for non-literal infringement the question becomes, how does the test for substantial similarity, the two pronged test that we just discussed for the reproduction right, carry over into this domain? Thankfully for us, courts have over the last several years adapted the traditional test for computer software. Which began in a very well known case called computer associates versus Altai, so the test is today known as the Altai test. Very important to remember the Altai test is for non-literal copying or non-literal infringement of computer software. Not literal copying because with literal copying you don't even invoke the substantial similarity test. So the test as I said is called the Altai test or otherwise called the abstraction filtration comparison test. The AFC test based on the three different steps that courts added based on the uniqueness of computer software. Now, one important thing to note about AFC test, the three steps that we're going to talk about called abstraction, filtration, and comparison. Enter the picture for computer software once we have determined that there was actual copying. Because remember, if there was no actual copying, there is no question of violating the reproduction right. So, once actual copying has been proven, once it has been determined that the defendant actually did appropriate content of some kind that is protected from the plaintiff's protected computer software, we enter the domain of applying the AFC test. And the AFC test has three problems. Prong one is abstraction, prong two is filtration, prong three is comparison. What does each end tail? So in the abstraction step, it forms a recognition or it's based on the recognition that computer software much like all other literary work can be described in multiple levels of generality. You can understand the computer software purely in terms of its text, which is the verbatim content. Or abstracted to the other extreme in terms of the purpose of what the code is trying to do, a code to calculate the square footage of land. All right, that's the overall purpose. Now these purposes form something of concentric circles of abstraction and obviously, based on copyrights protect ability doctrines, not all of them married or obtain protection. Why? Because some of them are so abstract as to fall within the realm of ideas. And as we know ideas do not get copyright protection. So what happens in the abstraction test is basically the court is required to map out the content of the computer software in concentric levels of generality. The Altai opinion itself goes into quite some detail on eight different levels.of generality at which computer software can be mapped up ranging from the text itself to sub-routines, to compilation, etc. We map this out at concentric levels of generality. That’s the abstraction test, which is the first step that happens in the AFC formulation. Once that is done, we get to the second step, called the filtration step. Remember the filtration steps happens after the abstraction step. And in the filtration step, what a court is required to do is eliminate or filter out everything that the court thinks is more like an idea or not within the realm of protectable expression. So this includes things that are too abstract, that therefore are more likely in the realm of the idea or things that are dictated exclusively by functional considerations. What does that mean? So for instance, sometimes elements of code are put in not because the computer software creator had a specific design, a creative design on how to actually put it in there, but for purely functional reasons, to make sure that the code is more efficient, or to make it more compatible, with the particular hardware solution. Those kinds of functional considerations, the Altai formulation tells us, renders that expression that was produced because of it unprotectable and is to be eliminated. So the filtration step takes out the un-protectable expression based on things that are too abstract, like ideas or things that are functional dictated by efficacy or efficiency. Again, this is done on a case by case basis, and it's not simple, it varies from the context of one code to another. Sometimes the elimination is at the subroutine level, sometimes it's at the purpose level, sometimes it's at the structure level. But it varies from one computer software program to another, and it's complicated. And in recognition of this complexity, thankfully, courts have made an important modification to the traditional substantial similarity test, and have said that, you are allowed to break down the work, obviously into its component parts. But most importantly, a court and a jury are allowed to invoke the help of expert testimony. So experts who are aware of how computer software works within that particular domain or generally, are allowed to come and testify to the court about the way in which computer software in this area is designed. What elements are dictated by efficiency? What elements are dictated by creative choices? That's the filtration step. Once that has happened and we've eliminated the unprotectable component, we're left with the protectable expression in computer software code. We enter the third step of a comparison. And here the court or the decision-maker has to compare the plaintiffs code that is protected against the defendants code that is alleged to be infringing. And then assess if there is sufficient similarity for it to amount to wrongful copying or to an infringement. So this is an important modification to the original formulation of the substantial similarity test. As you can see, it's very context specific. It's complex because it invokes new answers relating to computer software code. So it's not an easy test, it's not even an easy test to describe in the abstract. But it's a very important test, because courts get into a lot of litigation based on application of this test. The very famous and ongoing litigation between Oracle and Google involves application of the Altai test to determine what elements are protectable of not. And so it shows how important it is today in the market place. And the important thing to notice is that it's a variation of the original substantial similarity test. Before departing I want to note that computer software is in many ways unique because it is probably the only area within copyright doctrine where courts have taken the traditional substantial similarity test, and modified at wholesale for the context of specific subject matter. It's limited to computer software, so the AFC is a very, very, very rarely ever applied outside the context of computer software. And it's only computer software where we see the subject matter modification of an existing doctrine.