Visual Profilers: Performance Tooling Within the Open 3D Engine; The Ethics of Open-Source Contributions

Author:
Hilliard, Jacob, School of Engineering and Applied Science, University of Virginia
Advisors:
JACQUES, RICHARD, EN-Engineering and Society, University of Virginia
Morrison, Briana, EN-Comp Science Dept, University of Virginia
Abstract:

Open-source software (OSS) is the foundation of nearly all digital technology. While many software engineers have a positive view of open-source, there have recently been a number of high-profile events that have led people to reconsider this view. For example, the news that ICE was contracting with multiple large OSS vendors created widespread protests within the open-source community, given ICE’s controversial status in the US. Similarly, the US Air Force deployed the open-source project Kubernetes onto the F-16 fighter jet, to the surprise of thousands of engineers who did not want their work to support weapons of war. During my summer internships, I contributed thousands of lines of code to open-source projects, one of which is deployed onto millions of servers worldwide. At this scale, it is quite likely that my work is directly being used to support organizations whose actions I do not agree with.

In my STS research, I investigated the ethics of open-source contributions through three research questions. First, I researched the motivations for engineers to contribute to open-source. Prior studies have revealed that intrinsic motivations dominate over extrinsic motivations, with categories such as Fun, Altruism, and Learning being the primary motivating factors. Critically, pay is not a motivator for the majority of contributors. Second, I evaluated the current “state of the art” with respect to how engineers control the use of their open-source contributions. The current dominant technique is the software license, which describes who can use a project and what the project can be used for. One novel development in this field is the idea of “ethics-driven licenses,” which excludes ethically controversial organizations from using the project (for example, fossil fuel companies or autonomous weapons systems firms). Third, I consider how the collaboration between the OSS community and large companies can continue in the future while avoiding conflict. My major conclusion was that conflict is inevitable between these stakeholders, as their goals are fundamentally orthogonal to each other. I also conclude that more formal ethical research is needed in this area, as retaining the benefits of open-source while limiting the negative ethical impacts on society is an extremely challenging problem to solve.

My technical topic focused on my contributions to open-source, specifically the results of my work on the Open 3D Engine (O3DE). I developed a CPU profiling tool for O3DE that visualizes performance data from the engine, which allows engineers to see the exact breakdown of how CPU time is spent in rendering a frame. Performance tooling such as this profiler is critical for helping engineers debug performance problems within the engine. It is difficult to quantify the exact downstream impacts of this tool, since we did not run quantitative studies on how much it increases developer productivity. However, feedback from all O3DE contributors was highly positive, stating that the tool is something that they would be using in their daily work when debugging performance problems. Additionally, many believe that the tool has immense teaching potential, as it allows engineers to understand the overall flow of data within the engine.

These two projects had incredibly positive impacts on both my technical ability and my awareness of ethical dilemmas within engineering. The key conclusion that I drew from my STS research was that although a project may be open-source, it is not necessarily an ethically neutral project. It may be the case that we need to evaluate the ethics of open-source projects even more critically than that of other projects because OSS works at a much larger scale, and therefore can impact a wider set of stakeholders. This leaves a significant responsibility in the hands of those who work on OSS to think critically about the downstream impacts of their project. Regardless of whether I end up continuing to work on open-source in the future, I hope to carry this ethical awareness into my professional career so that I can help develop systems that are beneficial for all.

Degree:
BS (Bachelor of Science)
Keywords:
open-source, software license, program optimization, developer tooling, CPU profiler
Notes:

School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Briana Morrison
STS Advisor: Richard Jacques

Language:
English
Rights:
All rights reserved (no additional license for public reuse)
Issued Date:
2023/05/09