The Largest Online Community
for Software CEOs and Executives.

Software Intellectual Property Blog

A softwareceo.comBlog

Bob Zeidman of Safe Corp discusses issues of software intellectual property, analysis, and forensic engineering.


Was the Microsoft Empire Built on Stolen Goods?

The history of the computer industry is filled with fascinating tales of sudden riches and lost opportunities. Take that of Ronald Wayne, who cofounded Apple Computer with Steve Wozniak and Steve Jobs but sold his shares for just US $2,300. And John Atanasoff, who proudly showed his digital computer design to John Mauchly ?who later codesigned the Eniac, typically recognized as the first electronic computer, without credit to Atanasoff. Perhaps the most famous story of missed fame and fortune is that of Gary Kildall. A pioneer in computer operating systems, Kildall started the company Digital Research and wrote Control Program for Microcomputers (CP/M), the operating system used on many of the early hobbyist personal computers, such as the MITS Altair 8800, the IMSAI 8080, and the Osborne 1, before IBM introduced its own PC. Kildall could have been the king of personal computer software, but instead that title went to his small-time rival Bill Gates. For years, rumors have circulated that the code for the original DOS operating system sold by Microsoft is actually copied from the CP/M operating system developed by Digital Research.

Read More

Just Enough Electronics to Impress Your Friends and Colleagues

My new book is a great addition to any IP lawyer's library.� It takes you on a whirlwind tour of the fundamentals of electronics.� By the end, you'll be familiar with the basic concepts of various kinds of modern electronic technologies and devices.� Especially for IP attorneys without an engineering degree,�it will enable you to converse with your experts and consultants.��For those IP attorneys who have been away from technology�for a while, this will help you brush up. The topics covered�are:
  1. Electricity
  2. Linear Devices
  3. Electricity as Sound
  4. Nonlinear Devices
  5. Transmission Lines
  6. Digital Logic
  7. Semiconductor Technology
  8. Memory Devices
  9. Application Specific Integrated Circuits (ASICs)
  10. Programmable Devices (CPLDs and FPGAs)
  11. Computer Architecture
  12. Engineering Equipment

You can order your copy on Amazon here�or at other online and brick-and-mortar bookstores.


Vote for IP Watchdog

If you want to get up-to-date information on the world of intellectual?property, and you want it to be interesting, passionate (yes, some people are passionate about IP) and sometimes even controversial
(yes, IP can also provoke fiery controversy), then you definitely need to sign up for Gene Quinn's IP Watchdog blog.

IP Watchdog is considered one of the most influential IP blogs in cyberspace. In fact, the American Bar Association runs a poll each year to rank the best law blogs, and IP Watchdog usually comes out on top or near the top for IP blogs. But as they say on DWTS, you need to vote! There's no guarantee that your celebrity will win. So I'm asking you to vote for IP Watchdog in the ABA blawg 100 competition. Go here
to vote and look for IP Watchdog in the... where else?... IP category.


S.A.F.E. Releases CodeSuite 4.7

Software Analysis and Forensic Engineering has just released a new version? of CodeSuite that has some really great new features.

PID? spreadsheets

What's? a PID? It's a partial identifier. Or more specifically, a partially?matching identifier. That's where two identifiers in code almost match. So for example, the identifiers identifier1
and confident_boy share the partial identifier (or "PID") ident. CodeMatch has always been able to correlate PIDs and use that in calculating the identifier correlation score as a component of the
entire correlation score between two source code files. But there can be so many PIDs that users got blurry-eyed trying to view them all and find suspicious ones in a CodeMatch HTML report.

So we came up with a solution. You can now export the PIDs from a CodeSuite database into a spreadsheet. You can see not only the PIDs, but the original identifiers that share the PIDs. Now you can sort and

Read More

Job Opening: Software Forensic Engineer

Zeidman Consulting, a leading research and development company (and sister? company to SAFE Corporation), is looking to hire a full-time software?forensic engineer. Acting as a high-tech sleuth, this person will analyze and reverse-engineer software using CodeSuite? and other state-of-the-art software tools, helping to resolve lawsuits involving hundreds of millions or billions of dollars. The employee will also work on one of several ongoing cutting edge research projects. These projects often lead to publication in academic journals, presentations at conferences, patents, and new product spinoffs. Past and ongoing projects include:

  • CodeMatch?, a program for comparing and measuring the similarity of different programs.
  • CodeGrid?, a computer grid-enabled version of CodeMatch?.
  • HTML Preprocessor?, a tool for breaking complex HTML pages into components consisting of text, pure HTML, JavaScript, images, etc.
  • RPG, a tool for automatically generating expert reports for copyright, trade secret, and patent litigation.

A successful candidate will need the following attributes:

Read More

Be a Pioneer in the Field of Software Forensics

I hope you're all aware of my book The Software IP Detective's Handbook: Measurement, Comparison, and Infringement Detection. It's the first book on Software Forensics, a field that I pioneered at Software Analysis and Forensic Engineering and Zeidman Consulting. Whereas Digital Forensics deals with bits and files, without any detailed knowledge of the meaning of the data, Software Forensics deals with analysis of software using detailed knowledge of its syntax and functionality to perform analysis to find stolen code and stolen trade secrets. The algorithms described in the book have been used in many court cases. The book also describes algorithms for measuring software evolution, particularly as it relates to IP changes.

If you are a teacher, this is a great time to incorporate the materials in the book into your courses on software development, intellectual property law, business management, and computer science. There's something for everyone in the various chapters of the book. Your students and you will be at the forefront of an important and very new field of study.

Read More

HTML Preprocessor Released

S.A.F.E. recently released the HTML Preprocessor. The HTML Preprocessor is designed to transform web pages into files that are amenable to analysis by CodeSuite, DocMate, and other source code analysis tools. The HTML Preprocessor examines HTML files and other markup language files and extracts all embedded code into separate files. These files each contain only one kind of code that can be easily analyzed and compared using CodeSuite and DocMate. The code contained in these generated files are:

  • Scripts such as JavaScript and VBScript
  • Cascading style sheets (CSS)
  • Comment text containing HTML comments
  • Message text containing HTML user messages
  • HTML tags
  • Pure HTML
  • Pseudocode representation of the HTML

Ways to Infringe a Patent

A patent can be infringed in two basic ways: directly and indirectly. These different ways of infringing are important to understand by anyone wanting to enforce patents and by anyone wanting to avoid infringing a patent.

Direct Infringement

A patent claim is directly infringed by some product when that product practices each "limitation" of the claim when the claim is a method claim, or includes a structure equivalent to each "limitation" of the claim when the claim is an apparatus claim, or does both in the case of a means-plus-function claim. The term "limitation" is used by lawyers and those in the know to mean the step or steps spelled out in the patent claim.

There is another way of directly infringing known as the doctrine of equivalents. If a product doesn't perfectly meet the limitations of a claim, it may still infringe on the patent if it does something that a person of ordinary skill in the art ("POSITA" or "OOSITA") would know was equivalent. While this may seem like a loophole, it's actually quite fair. Suppose someone patents a "glass bulb containing a filament that produces light when an electric current is sent through it." The inventor may not realize that a bulb made of specially treated plastic would also work. The key to the invention isn't the material from which the bulb is made. Thus a plastic bulb could infringe on the patent because of the doctrine of equivalents.

Read More

Do Non-Practicing Entities Impede Progress?

On April 12 an op-ed was published in the Wall Street Journal entitled PatentTrolls vs. Progress by Andy Kessler, a former hedge-fundmanager. I would like to correct some inaccuracies. Mr. Kessler attributes Microsoft's recent purchase of AOL's patents and Google's purchase of Motorola Mobility (presumably for its patents) as protection against non-practicing entities ("NPEs") also disparagingly known as "patent trolls." First, no portfolio of patents will ever protect against an NPE. This is because an NPE, by definition, does not produce a product. In a patent litigation between two companies, the typical scenario is that company A owns a patent and attempts to license that patent to company B that it believes is infringing. Company B can pay a fee to company A or it can refuse to pay. Or company A may attempt to get an injunction against company B to prevent it from selling its product that incorporates the invention described by the patent. If company A wants an injunction or requests a fee that company B refuses to pay, then company A will almost

Read More

CodeSuite 4.4 and CodeSuite-LT 1.2 Released

S.A.F.E. recently released version 4.4 of CodeSuite and version 1.1 of CodeSuite-LT. The most important new feature of this version is that these programs now recognizes many different text encoding formats including ASCII, UTF-8, UTF-16, and UTF-32. Characters in alphabets other than the Latin alphabet used for English are now supported. For example, code with comments or strings in Japanese, Korean, Chinese, or Russian can be compared correctly.

The most significant change is to BitMatch. When examining binary object code to find text strings, you can now specify the encoding format of the file. If you're not sure about the encoding, you can choose multiple formats.

As demand for our products increase outside the United States, we realized a need to support languages in those countries also.


Browse all 39 entries in this blog