시몽

Saying "no" to unethical tasks

Back in spring 2019, I was a student working as an intern at the Intel Open Source Graphics Center in Finland. I was mainly focused on improving igt-gpu-tools, the test suite that runs each time a patch is submitted for the i915 kernel driver. I really liked the work I was doing there, and enjoyed interacting with all of the people on site. While I was there, I had an opportunity to say “no” to an assigned task that I considered unethical.

Naturally, lots of Intel kernel developers were working on fixing bugs and implementing new features. When a developer wants to add a new feature to their kernel driver, they also need to provide a patch for a user-space program to exercise the feature in a real-world scenario and prove that the new user-space API is sensible1. For instance, when adding HDR support to i915, the kernel developers worked with the Kodi team.

At that time, I had just been nominated as release manager for the Wayland and Weston projects. Additionally, some Intel engineers were working on upstreaming Weston patches to add a new feature to their driver. In fact, the kernel patches were ready to be merged and only blocked by the user-space requirements. Some deadlines were set too, so it was important to get the patches merged in a timely manner. My manager asked me to help with the upstreaming process. That was a pretty good idea – because my experience could help Intel developers to learn how to contribute to Weston, and because I like mentoring people. So what was the catch?

It turned out the feature being developed was HDCP. It’s a form of DRM that encrypts the video stream between the GPU and the screen. I’m personally not okay with DRM in general, and I find DRM to be unethical. I’m not going to start to argue why I feel this way, because it doesn’t really matter in the context of this article. Feel free to replace DRM with whatever you find unethical.

So, I started participating in meetings and discussing how to get the HDCP patches merged. I wasn’t very comfortable with the whole situation, and tried to stay away from it when possible. I considered saying “no”, but I was scared. I was only working at Intel for a few weeks, I was still a student, I didn’t know my teammates and managers too well, and I was interested in eventually getting a job offer. I just continued as if nothing was wrong.

At some point, after asking advice and discussing with some friends, I realized that I ought to speak up. If I didn’t say “no” this time, it would get a lot more difficult to say “no” the next time. So I ignored the anxiety and clumsily explained to my manager that I’d like to stop working on HDCP.

To my surprise, my manager just said that it was fine, that there was no problem. After this event, absolutely nothing else changed, and at some point I even got an employment offer. When I recall it now, I can only tell myself that it was a lot of fuss for nothing. In hindsight, I should’ve been less scared and said no earlier, but in these situations it’s easy to imagine nightmare scenarios in your head!


  1. See the kernel docs for more info. ↩︎


Questions, comments? Please use my public inbox by sending a plain-text email to ~emersion/public-inbox@lists.sr.ht.

Articles from blogs I follow

Right Out The Gate

Droppin’ Em

via Mike Blumenkrantz

Apple GPU drivers now in Asahi Linux

We’re excited to announce our first Apple GPU driver release! We’ve been working hard over the past two years to bring this new driver to everyone, and we’re really proud to finally be here. This is still an alpha driver, but it’s already good enough to ru…

via On Life and Lisp

I shall toil at a reduced volume

Over the last nine years I have written 300,000 words for this blog on the topics which are important to me. I am not certain that I have much left to say. I can keep revisiting these topics for years, each time adding a couple more years of wisdom and impro…

via Drew DeVault's blog

Generated by openring