RTEMS DevKitPro/LibOGC Copying Of Code Without Attribution
- RTEMS Project
- May 6, 2025
The Real-Time Executive for Multiprocessor Systems (RTEMS) Project maintainers were informed in January 2025 about a potential concern that source code was lifted by the devkitPro/libOGC
project from the RTEMS project without appropriate attribution. We took the concern seriously as we consider copying any code without following licenses and respecting copyright in any form is important in the open source community. The github link: https://github.com/derek57/libogc was shared with us. We reviewed the upstream code comparing it with historical versions of RTEMS and came to the conclusion that sufficient evidence exists pointing to a systematic effort to copy source code from RTEMS (roughly version 4.5 to 4.6) with removal of attribution and licensing information. During the investigation, we also found that the devkitPro/libOGC
project has lifted some code from the Linux kernel with minimal transformation. For example, the spinlock implementation is copied directly from Linux circa 2.4 or 2.6 release series. It is also possible that other projects have had code reused in a way that violates their license.
We are saddened to see the effect this is having on the videogame homebrew community. RTEMS is open source and this means RTEMS can be copied and used as long as the license conditions are met and copyright is maintained. We are at a loss why there has been removal of license details and copyright and a general disregard to apply appropriate attributions. As a result the RTEMS license and copyright holders reserve their rights in relation to the copying of RTEMS code.
RTEMS is a widely-used real-time operating system (RTOS) and we have approached those involved with copyright and license issues for their input. Our priority was, and still is, to avoid having this unnecessary copyright infringement becoming something that detracts too much from the RTEMS Project mission. Our goal now is to provide education on how the behavior engaged in by the devkitPro/libOGC
project is a very good example of what not to do.