In the world of reverse engineering, piracy and copyright law have always been a subject of debate, often filled with a wild variety of opinions. Being a hobbyist reverse engineer, one inescapable fact that I have come to realize while interacting with professional reverse engineers around the world is that the majority of us became drawn to this field by software piracy.
In my teenage years, I was the child of a single mother. I grew up in a small mountain town of less that 3000 people, 40 miles from the nearest city. Money was always scarce in our household. For me to have $20 dollars in my possession was something I considered a substantial amount of money. I was fascinated by chess in my youth and wanted to further my expertise so that I may one day become a famous chess player. While these dreams eventually faded years down the line, it led me to the underground chess scene where many rather expensive chess programs were being shared free of charge. These were programs which I had dreamed of having, but knew I could likely never afford. Many of these programs had protections on them that prevented me, as well as the rest of the chess forum from accessing them. There were several community famed software doctors, as they were called, that were breaking these protections in their leisure. They were using their carefully honed skills to make these programs available free for all the underprivileged chess prodigies to enjoy. To me they were heroes. They represented a sense of selflessness by giving these programs to the community without any desire to be rewarded or praised for their efforts. To me, this deed is what I considered to be the true beauty of the world.
As time went on, I became fascinated by the methodologies they were using to reverse engineer these applications, and began researching what went into this endeavor. Within a few months, I managed to crack my first chess software. It was such a rush at that time to feel like an entire community of like-minded people benefited from this mere act of selflessness. I felt like a comic book hero who had defeated an arch-nemesis. From this point onward, I spent countless hours reading tutorials. What started as a simple patching endeavor evolved into the more advanced skill of keygenning, unpacking complicated protections, and ultimately releasing what is probably over 1000 doctored applications. What started as a mere fascination, grew into an obsession.
Fast-forwarding 10 years, and having the short-lived experience of running a software company of my own, I began to understand the other side of the spectrum. For over a decade, I viewed software developers as wealthy, greedy people who were making millions off of a single piece of code. I didn't realize that most of them were simple people, just like me, who were trying to earn enough money to support their families and buy more time where they could be home to raise their children without having to work 2-3 jobs just to support them. From a market perspective, $100 for what at the time was "the strongest chess program ever created" was not an unreasonable price, but to my youthful, student mind, it seemed greedy.
While I look back on these aforementioned memories with guilt, I still feel that there are some instances where software piracy could be morally justified. These are instances where software developers are charging exorbitant amounts of money for a niche software, priced primarily for wealthy corporations, while offering no reasonably priced avenue for hobbyist users or new startup companies to obtain a legal copy of equal functionality. These are programs that cost in excess of $1000+. Not only does this create unrealistic boundaries of entry for startup companies who can't compete financially with wealthier corporate entities, it ultimately increases the cost of educational programs built around them. These programs are often equipped with further anti-piracy measures they require you to plug in a usb "dongle", a security device that is used for software license validation, every time you run the software, in order to unlock it. If for some reason you misplace this tiny device, or it becomes stolen or destroyed in a fire, you will no longer have access to this software. Many developers refuse to replace this device in these circumstances, forcing you to pay the full price of the software again in order to restore your access. Imagine being a startup company, who went through all of the legal hurdles to get your business up and running, to have a disgruntled or negligent employee, or even a dirty competitor, steal or destroy your software dongle. While this is a negligible loss to a wealthy company, this could cause a startup company to close their doors.
While I know this is not a legally justifiable argument, nor am I directly promoting piracy, I feel that piracy of these programs protest these corporately geared prices, and what I feel are greed-based protections. However, a true, legal solution to this dilemma would be to collectively work together to create free, open source alternatives to these programs. When the NSA released its free reverse engineering software Ghidra in March of 2019, it became the first free and open source competitor to the popular IDA Pro software, that with all of its decompiler plugins costs nearly $10,000 a license. Since Gidra's release, IDA Pro's developer Hex Rays has begun development of a home edition of their program, that on its May 2020 debut, will cost a justifiable $365.
In my teenage years, I was the child of a single mother. I grew up in a small mountain town of less that 3000 people, 40 miles from the nearest city. Money was always scarce in our household. For me to have $20 dollars in my possession was something I considered a substantial amount of money. I was fascinated by chess in my youth and wanted to further my expertise so that I may one day become a famous chess player. While these dreams eventually faded years down the line, it led me to the underground chess scene where many rather expensive chess programs were being shared free of charge. These were programs which I had dreamed of having, but knew I could likely never afford. Many of these programs had protections on them that prevented me, as well as the rest of the chess forum from accessing them. There were several community famed software doctors, as they were called, that were breaking these protections in their leisure. They were using their carefully honed skills to make these programs available free for all the underprivileged chess prodigies to enjoy. To me they were heroes. They represented a sense of selflessness by giving these programs to the community without any desire to be rewarded or praised for their efforts. To me, this deed is what I considered to be the true beauty of the world.
As time went on, I became fascinated by the methodologies they were using to reverse engineer these applications, and began researching what went into this endeavor. Within a few months, I managed to crack my first chess software. It was such a rush at that time to feel like an entire community of like-minded people benefited from this mere act of selflessness. I felt like a comic book hero who had defeated an arch-nemesis. From this point onward, I spent countless hours reading tutorials. What started as a simple patching endeavor evolved into the more advanced skill of keygenning, unpacking complicated protections, and ultimately releasing what is probably over 1000 doctored applications. What started as a mere fascination, grew into an obsession.
Fast-forwarding 10 years, and having the short-lived experience of running a software company of my own, I began to understand the other side of the spectrum. For over a decade, I viewed software developers as wealthy, greedy people who were making millions off of a single piece of code. I didn't realize that most of them were simple people, just like me, who were trying to earn enough money to support their families and buy more time where they could be home to raise their children without having to work 2-3 jobs just to support them. From a market perspective, $100 for what at the time was "the strongest chess program ever created" was not an unreasonable price, but to my youthful, student mind, it seemed greedy.
While I look back on these aforementioned memories with guilt, I still feel that there are some instances where software piracy could be morally justified. These are instances where software developers are charging exorbitant amounts of money for a niche software, priced primarily for wealthy corporations, while offering no reasonably priced avenue for hobbyist users or new startup companies to obtain a legal copy of equal functionality. These are programs that cost in excess of $1000+. Not only does this create unrealistic boundaries of entry for startup companies who can't compete financially with wealthier corporate entities, it ultimately increases the cost of educational programs built around them. These programs are often equipped with further anti-piracy measures they require you to plug in a usb "dongle", a security device that is used for software license validation, every time you run the software, in order to unlock it. If for some reason you misplace this tiny device, or it becomes stolen or destroyed in a fire, you will no longer have access to this software. Many developers refuse to replace this device in these circumstances, forcing you to pay the full price of the software again in order to restore your access. Imagine being a startup company, who went through all of the legal hurdles to get your business up and running, to have a disgruntled or negligent employee, or even a dirty competitor, steal or destroy your software dongle. While this is a negligible loss to a wealthy company, this could cause a startup company to close their doors.
While I know this is not a legally justifiable argument, nor am I directly promoting piracy, I feel that piracy of these programs protest these corporately geared prices, and what I feel are greed-based protections. However, a true, legal solution to this dilemma would be to collectively work together to create free, open source alternatives to these programs. When the NSA released its free reverse engineering software Ghidra in March of 2019, it became the first free and open source competitor to the popular IDA Pro software, that with all of its decompiler plugins costs nearly $10,000 a license. Since Gidra's release, IDA Pro's developer Hex Rays has begun development of a home edition of their program, that on its May 2020 debut, will cost a justifiable $365.