copying source code and getting 8 years of prison

A phenomenal article on software engineer working on Goldman Sachs’s algorithmic (high frequency) trading system, copying a portion of the code, and then getting arrested.

I vaguely recall reading about this a couple years back, and the way it was portrayed was something like, “guy (nefariously) copies HFT source code, probably to sell or somehow exploit, and got busted.” The article–and assuming it’s an accurate portrayal of events and characterization of the protagonist–tells a very different tale. And upon reading the full story, my opinion of the case and of the person at the center of it is very different.

Sergey Aleynikov, the accused, had no interest in people, money, or worldly luxuries. His interest was in solving complex logical or programmatic problems. Taciturn and introverted, he preferred focusing on narrow puzzles, complex and impossibly difficult to the average person. Employed at GS, his interest was software, not the business itself. He was paid handsomely, but his motivation was his enjoyment of his work. He didn’t realize his monetary value to the company–he was regarded both within the company and by headhunters outside of GS as one of the most valuable people at the firm.

He was arrested for reasons unknown to him shortly after his voluntary departure from GS to work at a new company. He was to build a new HFT platform from scratch. The code base (computer source code) would be completely different than what he worked with at GS and even in a different programming language. None of the GS code would have been useful to him. And as any software developer knows, it’s often easier to re-write from scratch than to re-engineer an existing monolithic code base anyway.

Questioned by law enforcement, he came to realize that they didn’t know anything about algorithmic trading or about computer programming. They used buzz words liberally and without any understanding of what they meant. A “subversion repository” must sound very damning (it’s used to “subvert” after all!); anyone reading this with an IT background will know that Subversion (SVN) is a very popular source code repository, used to store versioned source code, allowing many developers simultaneous access to the repository for collaborative development, and with a history of all code changes. It’s not so insidious after all. (I’ve worked at several companies that use SVN.)

Many developers utilize open source or other freely available code. This is the sort of code that is “generic” and non-specific to any industry. Code that performs such menial tasks as parsing a string (sequence of characters) or traversing a list of nodes (containing arbitrary data) need not be re-written every time. There are web sites that provide this code and respond to questions pertinent to developers (such as the well respected Stack Overflow web site). Many developers write code at home to maintain their skills, but most of their coding is at work, meaning that most of the answer-seeking and response-providing happens in that context as well. Imagine answering a question and providing a code snippet, and then being accused of theft.

Sergey’s actions were less benign, but certainly not nefarious. He downloaded a few megs of code that contained some of his work, including some modified open source code, presumably with the goal of keeping that code handy in case he wanted to refer to it later, and possibly so he could strip out the open source portion (from the proprietary GS code), and contribute it back to the community (again, it would be “generic” code, not related to HFT).

Sergey’s motivations were benign. Keeping some code to refer back to later doesn’t really damage GS. It’s not like someone who obtained that code could suddenly start an investment bank from their garage and then start making automated trades. And incorporating such code into a competitor’s system would be fraught with peril as well, possibly counterproductive. Sergey’s interest was in problem solving, logic, and programming, not in HFT per se or even in making money.

Based on prodding from GS and from ostensibly “coached” employees at  GS, and based on Sergey’s “confession,” he was sentenced to eight years in prison. What I find disgusting about all this is that it it seems so obvious that law enforcement duped him into making statements just to use his openness and lack of worldly knowledge against him. They just wanted a conviction, truth be damned.

Law enforcement should protect people like Sergey, people who are geniuses in problem solving, but who are utterly naive on matters of interpersonal intelligence, the legal system, and the “real world.” Instead, they victimized him. A lamb was pursued by a corporate wolf and eviscerated by the wolves in law enforcement.

It’s so easy to sympathize with Sergey because I’m familiar with the personality type. While I’m both more cynical and also more socially aware and competent than Sergey, many engineers are inward focused and extreme when it comes to thinking logically and systematically, a trait shared by high-functional autistics. Unlike the people on the Sales team, software engineers have trouble lying, because to lie means to create cognitive dissonance. The untruth contradicts the perfectly reconciled “system” fabricated by their minds. Tell an engineer a joke and they’re sure to pick it apart and point out the technical or semantic problems with it; the Sales guy will just laugh it off or play along. Some logical thinkers take things to an extreme, their compulsive desire for order and perfect systems forever assaulted by the entropy of the world around them, hence the desire to be inward-focused, seeking the protection afforded by our own minds.

In the end, Sergey was let go on appeal, broke and divorced. Yet he described himself as better off, closer to his children, and happier. I suppose the incident in a way extricated him from the bonds of his hyper-logical mind, one where systems must be understood and problems with these systems must be reconciled. The slavery wrongly imposed on him by his former employer and by federal authorities ironically liberated him.

Goldman Sachs issued a response to the article, and it is appended toward the bottom of the article. While GS’s position is reasonable on this point, I don’t believe Sergey’s motivations were at all monetary in nature or would ever have involved damage of any kind to GS. Having said that, I don’t blame GS for doing what it did. They believed that Sergey stole intellectual property and they reported it. I’ll take them for their word that they believed a theft had occurred. But law enforcement should have gleaned from the interview with Sergey and the facts of the case that Sergey had no nefarious intent and that emailing some source code (and not even the “juicy” part that would be used to game GS’s trading strategies, by the way) violates GS’s code of conduct but not the law. They failed in that task, though later corrected the error by acquitting him on appeal.

This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s