Distinguishing between right and wrong in a world full of absolutes is no easy task. We look into some of the ethical situations the Maker community has been faced with over the years.
As makers, we build a lot of things. Sometimes they’re entirely new, or sometimes they’re just incremental improvements on other things that have already been created. Either way, we love to pull apart things to understand how they work, and use our new-found knowledge to build bigger and better projects. The techniques, tools and terminology we use to solder, screw and superglue our projects together are not set in stone. As they change, makers and enthusiasts are forced to make decisions about what is okay and what isn’t. Let’s consider some interesting and controversial decisions we’ve been faced with over the years.
Reverse Engineering and Hacking
Reverse Engineering is closely synonymous with “Hacking”, although most makers will make a distinction between the two. Hacking is usually understood as exploiting some aspect of a product to accomplish something that shouldn’t otherwise be possible. Reverse engineering is usually the precursor stage to hacking, and is essentially a fancier term for figuring out how something works.
In this photo from Issue 52, we pulled apart a motorised telescope in an effort to control it ourselves. There was no documentation online and no way of understanding how it works without reverse engineering it. Was this unethical?
Neither hacking nor reverse engineering is necessarily unethical. Many attempts are done in an effort to better understand and diagnose flaws in the target product. However, many attempts also have malicious intent, so the waters of “Hacking Lake” are often muddied by those who exploit the shortcomings of manufacturers.
How, as makers, do we navigate this? We have an obligation to act in the best interests of our community and hobby. As with many niche communities, the line between designer and end-user is blurred. Many of us design and sell our own electronics gadgets in different ways. Promoting and selling electronics designed to be hacked is something that we makers have come to expect.
However, not everything we use for our projects is designed to be pulled apart. Mass-produced items by large companies have little documentation and are typically difficult to reverse engineer in an attempt to thwart both competitors and hackers.
One such example of this is DSLR cameras and lenses. The protocol that allows lenses to communicate with the camera body is usually kept secret by manufacturers, however, it hasn’t taken long for clever makers to reverse engineer them.
Canon, for instance, closely guards the EF Lens protocol - but that hasn’t stopped the emergence of Arduino compatible libraries specifically designed to control Canon lenses with an Arduino. While some functions of the lenses haven't yet been reverse-engineered, it’s possible to largely emulate the functionality of a camera body with an Arduino. As a result, we makers can use very high-quality lenses with our DIY projects.
But, is it ethical? Canon has not authorised this activity, and they clearly do not have a good attitude towards third-party manufacturers, banning or restricting the external use of Canon lens interfaces. However, one could argue, despite going against the best wishes of a corporation, scientific, enthusiast and academic research will benefit greatly from using high-quality optics in projects. Using professional-quality optics whilst having the ability to easily control it with an Arduino (or some other embedded platform) is highly beneficial to many fields.
And, of course, this discussion extends far beyond this specific case. For example, many mobile devices are computationally extremely powerful and can be used to collect data from their surroundings. However, makers and software developers are often functionally limited to the SDKs (Software Development Kits) that the manufacturer provides. While Apple’s iPhones are usually the first thing that comes to mind, Android phones and their SDKs are just as restrictive in some ways.
Should we hack or reverse engineer these devices to innovate in our fields and learn more about our world? Or should we operate within the terms of services these businesses provide?
Right To Repair
In 2023, the phrase “Right To Repair” is no longer a fringe term. Mainstream consumers are now conscious of purchasing products whose manufacturers are embracing the demand to repair one’s own product.
Essentially, “Right To Repair” comes down to the idea of truly owning a product. That is, when you buy a product, you should have the means to own all aspects of the product. But, what exactly does this mean, and how far should this go?
When you own ‘all’ of a product, should the manufacturer provide a repair supplier with readily available parts? Or should they go as far as to provide end-users with full physical and electronic schematics, allowing proficient enthusiasts and technicians to do the repairs themselves? Many manufacturers are attempting to find a good balance between pleasing consumers with repairability and retaining a viable business model.
Luckily for the maker community, many of our favourite suppliers lean into this idea and provide the exact resources the original product designer has used. Adafruit, for example, releases schematics and hacking guides for many of their breakout boards. Many of our local suppliers here in Australia link directly to these guides and the datasheets for the parts used.
These decisions are not coincidental - electronics suppliers don’t do this solely out of the kindness of their heart (although, that may be a factor!). The ability to source and modify parts to create new, innovative ideas, is integral to how we makers enjoy our hobby. It sparks demand for businesses, and thus, it is a hugely successful business decision just as much as an ethical one.
Having websites that sell parts online is a really big deal. It used to be that if you wanted to order parts to make something, you had to dig through a catalog, and they probably wouldn't even send you one if you weren't a professional.
Limor Fried, Founder of Adafruit (WIRED, 2011)
Redefining SPI
SPI is an incredibly popular short-distance communication protocol for microcontrollers to talk to sensors, chips and other microcontrollers. It’s a simple protocol and can run on almost any hardware platform.
In late 2020, maker electronics designer Sparkfun partnered with the Open Source Hardware Association to rename parts of the protocol. More specifically, the ‘Master-Slave’ terminology involved with pin designations such as MOSI (Master Out, Slave In) and MISO (Master In, Slave Out) was considered to be reminiscent of slave labour and human violence.
These terms were changed to CIPO (Controller In, Peripheral Out) and COPI (Controller Out, Peripheral In) in order to phase out the usage of the ‘Master-Slave’ naming convention. SDI (Serial Data In) and SDO (Serial Data Out) can also now be used where either device can be a controller.
While this isn’t an opinion piece, we are supportive of these changes and love to see inclusive and socially-responsible changes to the hardware we know and love, even if no functional change results.
The end-users of electronics that have implemented this change will not know or care that anything has changed, but certain enthusiasts have voiced their varied opinions. The Hackaday article featuring this SPI renaming announcement had nearly 300 reader comments with some rather heated viewpoints.
Some claim it is dismissive and disrespectful to human history - however dark it may be - while others claim it complicates technical documentation by adding yet more confusing terminology.
Nonetheless, it appears as though many enthusiasts are still supportive of this change. The new terminology - ‘SDI’ and ‘SDO’ especially - is arguably much easier to understand at a glance when looking at a circuit board. The effort required to implement this is minimal, and for most development board manufacturers, it would come down to simply changing the silkscreen text - for example, from “MOSI” to “COPI” - on the board.
However, in the realm of a broader discussion, where do we draw the line when it comes to changing our engineering terminology to be ethical and socially-responsible? Many terms in engineering - and in everyday life - exist solely because they are easy to remember, even though they may have connotations attached to them. ‘Male’ and ‘Female’ are easier to remember than ‘plug’ and ‘socket’ for most people, and the term “execute” in software development means to run compiled code - regardless, these terms cannot be taken literally from their real-life meaning.
Final Thoughts
We’ve probably raised a lot more questions than we’ve answered in this article. However, as with any ethical discussion, there is rarely an objectively correct answer. Next time you’re using your Arduino, doing research for a new project, or learning a new programming language, consider the ethical considerations the designers or writers have had to make. You never know - you might have to make one of your own someday.