Posts Tagged: "computer programmer"

Creating Software Obviously Isn’t Easy – Part 3 with Bob Zeidman

“[F]or a living I reverse engineer code and testify in court. Yet I could not reverse engineer this code. Every time I touched it to make some kind of change to test it, the whole thing broke. And I finally had to write the code completely from scratch because this open source code was such a kludge, such a mess, that it was impossible for me to figure out… [T]here’s a bunch of issues here and maybe some of them are that programmers nowadays aren’t well trained and they’re not well disciplined in programming techniques… [they] write code as quickly as you can, throw it out there, people will debug it for you. So first of all maybe we need to be teaching more discipline to programmers. We need to… convince them, hey, now that you’ve really gone through a rigorous program it’s not just okay to throw stuff together but create something with a structure that’s debuggable, that’s understandable, and that is innovative and patentable.”

Software, Silicon Valley and Computer Programmers – Part 2 with Bob Zeidman

Recently I had the opportunity to interview Bob Zeidman, the president and founder of Zeidman Consulting, who is also the president and founder of Software Analysis and Forensic Engineering Corporation, Zeidman is an software expert. In fact, in addition to consulting with lawyers and technology companies, he is an testifying and consulting expert witness. The premise of our conversation was the upheaval in the patent industry thanks to the Supreme Court’s decision in Alice v. CLS Bank. In part 1 of our conversation we discussed the decision and ways that attorneys can build a specification to satisfy the Alice standard. In part 2 of our 3 part discussion, which appears below, we wrap up our discussion of the Alice decision and dive into a discussion about the fact that many in the computer science world don’t believe what they do to be particularly innovative or even special.

The Problem with Software Patents? Uninformed Critics!

Listening to those who code complain about patents is nearly hysterical. They still haven’t figured out that by and large they are not innovators, but rather merely translators. Perhaps that is why they so frequently think that whatever they could have come up with themselves is hardly worthy of being patented. Maybe they are correct, but that doesn’t mean that an appropriately engineered system isn’t patentable, it just means that those who code are not nearly as likely to come up with such a system in the first place because they rarely, if ever, seem to approach a project as an engineer would. Rather, they jump right in and start coding. In the engineering world that is a recipe for disaster, and probably explains why so much software that we pay so much money for today is hardly worthy of being called a beta, much less a finished product.

Patent Drafting: Defining Computer Implemented Processes

So what information is required in order to demonstrate that there really is an invention that deserves to receive a patent? When examining computer implemented inventions the patent examiner will determine whether the specification discloses the computer and the algorithm (e.g., the necessary steps and/or flowcharts) that perform the claimed function in sufficient detail such that one of ordinary skill in the art can reasonably conclude that the inventor invented the claimed subject matter. An algorithm is defined by the Patent Offices as a finite sequence of steps for solving a logical or mathematical problem or performing a task. The patent application may express the algorithm in any understandable terms including as a mathematical formula, in prose, in a flow chart, or in any other manner that provides sufficient structure. In my experience, flow charts that are described in text are the holy grail for these types of applications. In fact, I just prepared a provisional patent application for an inventor and we kept trading flow charts until we had everything we needed. Iterative flow charting creates a lot of detail and the results provide a tremendous disclosure.

Who Owns Software Copyrights?

Companies enter into software development deals with independent contractors without adequately addressing copyright ownership. Many times, it is assumed by the programmer that the copyright, including the right to modify and prepare derivative works, remains with her or him. From the company side it is generally assumed that when someone is paid to create copyrighted material that flows from the original creation those copyrights will be owned by the commissioning party. Neither assumption is true, which means that when a dispute arises, litigation ensues and unnecessary expenses mount.