Anyone who has searched this blog in recent years for solutions to generate QR codes in .NET will inevitably have come across my project, QRCoder. I launched the library in October 2013, not primarily because I lacked other tools at the time, but as a personal programming challenge: My goal was to implement the official DIN/ISO standard for QR codes natively in C# from scratch myself. To understand the algorithms, to learn something new.
Over the years, this experiment has grown into a very successful open-source project that has now been downloaded millions of times via NuGet and is used in numerous commercial and private projects worldwide.
After 12 years, I decided in September 2025 to hand over the active maintenance and administrative management of the project. In this brief post, I would like to explain the background behind this decision and introduce the new maintainer.
The Reasons for the Transition
Maintaining an open-source project of this magnitude entails a considerable amount of maintenance work over time. There were essentially two reasons for the handover:
-
Technological focus (Python instead of C#): The main reason lies in my own professional development. For years now, I have no longer been working and developing with C# on a daily basis, but primarily with Python. When you work in a different ecosystem every day, you inevitably lose your routine and are no longer as deeply immersed in the .NET world or as “up to date” as would be necessary to manage a widely used framework.
-
Time constraints: Alongside my full-time job and family commitments, there was simply less and less time to sift through open issues, review pull requests in a timely manner, and maintain support within the GitHub repository.
The upcoming modernization of the code, in particular, the complete replacement of System.Drawing in favor of true cross-platform compatibility and the cleanup of outdated target frameworks, requires extensive refactoring. Since I could no longer dedicate the necessary technical expertise and time to these steps, many important updates were left unaddressed for too long (as documented, among other places, in GitHub Issue #605, where the community engaged in intensive discussions about the project’s future direction). To prevent the project from stagnating, handing it over to new contributors was the logical step.
The new maintainer: Shane32
With developer Shane32, the project has found a new core maintainer. He has been very active in the QRCoder community in the past, knows the codebase in detail, and has already initiated and implemented the urgently needed modernizations.
As part of this, the official repository has been moved and can now be found at the following address:
-
GitHub Repository: https://github.com/Shane32/QRCoder
What’s next?
For existing users, nothing will change in principle. The library remains available under the familiar, permissive MIT license. However, the change in maintainer ensures that QRCoder will remain a stable and actively maintained option even under current .NET versions.
I would like to thank all the developers who have contributed code, reported bugs, or supported the project with their feedback over the past 12 years. I will remain connected to the project as a passive observer.
0 Comments