This post is long-winded even for me. Don’t read it.
This whole subject of software development is quite nostalgic for me at many levels. I actually know somewhat more about computers and software than it might appear. But only in an educated layman’s sense, and my knowledge is somewhat dated.
I was an in-house lawyer for IBM for 17 years, and most of that time was spent in development labs, not in headquarters locations. In 1982, it might have been fair to say—just might—that I was the most knowledgeable lawyer in the world about software matters. I had just finished a 3-year stint as the lawyer for IBM’s largest software lab in San Jose. I worked on nothing but software matters during 1979-1982, a time when virtually no lawyers knew anything, professionally, about software. During those three years I essentially lived every hour of my working life surrounded by programmers. I like programmers.
It was my favorite job of all time. I came in late, left early, and took long lunch breaks to jog in the Almaden hills, shirtless in the ubiquitous sunshine. The Santa Teresa Lab has a stunning modern architecture—very un-IBM—and it was like a college campus. Only the managers wore ties, in an otherwise starched IBM culture where wearing a striped dress shirt was usually a career risk. Guys and girls even held hands walking around the grounds. Very, very un-IBM.
In order to give legal advice about software matters, one has to understand the technicalities of the software development process at some level of detail. One of IBM’s big concerns then—they were under antitrust suit from the federal government and 25 private plaintiffs at the time—was to avoid illegal software “tie-ins”, which is an antitrust concept that no one at the time knew how to apply to software. The reigning legal example of a tie at the time was from the 50’s. Ford then had a requirement that you couldn’t buy one of their cars without one of their Delco radios being included (“tied in”). The supposed competitive evil of a tie is that it deprived Zenith and Philco the opportunity to sell their radios into Ford cars. Ford lost the case and was forced to offer cars without radios at all, so that consumers could choose a Delco, a Philco or whatever. So, it then became the rule that it was legal for Ford to tie a carburetor into a car, but illegal to tie in a radio. Carburetors are more “kernel-like”.
With software, however, which embedded functions are more like carburetors and which are more like radios? I had to draw up a set of guidelines for the company. My guidelines would not have allowed a browser to be embedded in an operating system, which is the most current example of this still-ambiguous area of antitrust law. My first guideline asked whether someone else was offering, as a separately-priced product, the function which IBM was proposing to embed in the softare package.
One of my real career highlights came when the Lab Director told me that they were beginning to suspect that the Japanese, Fujitsu and Hitachi, were copying IBM’s software en masse. I said how do you know that. He said because they compared the hex object code and found many modules to be identical. I said what’s hex, what’s object code, what’s a module, etc. Well, a year later, I was giving courses on it.
Indeed, we could print out the JCM hex code and found it to be identical to IBM's module, except for a blank rectangle in the hex printout. Then we realized the blank rectangle was the space that used to contain the legend: “Copyright IBM Corporation”. The JCM's had literally copied the code, merely deleting the IBM copyright legend. I was a big hit in the legal department, and court, when I would slide transparencies of the JCM hex over the IBM hex to show this.
None of my legal superiors understood any of this at first. I once created a huge flow chart on about 10 sheets of large flip chart paper and paste it on the wall of an executives office in Armonk. The chart demonstrated hex, BAL and HLL’s, and how code could be compiled and assembled, and also decompiled and disassembled. I had to explain how and what was being copied. I had to explain source code, commented source code, and how the coding merely implements an underlying logic or algorithm.I was of the opinion that copyright law at the time could probably protect against the copying of the source and object code, but that it was unlikely to protect the detailed logic of the program. Thus a pirate could steal the real value of the program, the algorithm, simply by making the code sequences different enough to fool a jury. I published my copyright views in a 50-page article in the Houston Law Review in 1983. Six years later I was proved largely correct. Pirate M$ appropriated much of Apple’s operating system ideas—windows, pull down menus, icons, etc.—but implemented the ideas with sufficiently different code statements to avoid copyright.
I had to explain all this to endless legions of software-ignorant IBM lawyers and sales executives (who ran the company in those days—technical guys only got so far), because my primary recommendation to stop the copying was not a legal thing, but a business thing. In those days, IBM shipped all software in source code form. I recommended shipping object only, as the most practical way to deter copying. I had to explain how shipping heavily commented source was a roadmap for the pirates. I also recommended implementing licensing restrictions against reverse assembly and reverse compilation. This was heresy to the sales executives, of course, because the all-important customers NEED the source. Well, in the end, IBM adopted an object-only policy for most of its programs.
What fun, though I didn’t know it at the time. It’s also the time I grew to love Northern California. I should never have left, and didn’t want to. However, I was too insecure and chicken to look for another job in those days. Thus began the devolution of my IBM career.
Well, this was a huge waste of time. I’m mad at my new Mac again because the magnetic cover latch is broke and I can’t figure out the Powerpoint incompatibilities.
I’m typing this in MS Word and will copy it into the TBN paragraph-destroying text box to see what happens. The paragraphs all got destroyed. I had to recreate them in a post-post edit.