Metalama 2025.1 Will Be Open-Source #388
Pinned
gfraiteur
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We’re thrilled to announce that Metalama, the most complete and innovative meta-programming framework for .NET, will soon become a free and open-source project. This is a major milestone for us and the .NET community, and we’re excited to share our plans and gather your feedback as we move forward.
What is Metalama?
Metalama is a framework that enables developers to write cleaner, more maintainable code by automating repetitive tasks and enforcing architectural rules. Built on top of Roslyn, it allows you to write classes called aspects that modify other code at compile time, reducing boilerplate and improving productivity—typically by 15%.
Metalama provides a unique combination of simplicity, power, and extensibility thanks to its innovative, type-safe C#-to-C# code templates that let you add new behaviors to hand-written code.
After over ten person-years of work, it is now a stable and mature product, and we’re ready to share it with the world.
If you haven't heard about Metalama before, you can give it a try now and follow this getting started guide, knowing that most features will soon be free and open-source.
Why open source?
We believe that open-sourcing Metalama will remove barriers to adoption and foster innovation within the .NET community. Over the past year, we’ve seen how difficult it can be for a framework to gain traction with a commercial-first approach. By making Metalama open-source, we aim to:
What’s changing?
As we transition Metalama to our new model, you will see that most of the components will be made open-source, while a few will stay proprietary.
Open-source components
We’re open-sourcing the majority of Metalama, including:
We are leaning toward the Apache 2.0 license, but this decision is not final.
Proprietary components
To ensure the project’s sustainability, some components will remain proprietary, including:
These components will be available through our commercial offerings.
Our commercial offering
To fund the ongoing development and maintenance of Metalama, we’ll offer four editions:
Testing frameworks
Most extensions
All aspect libraries
- non-commercial use,
- individuals,
- teams of 3 or less.
+ Visual Studio Tooling
+ Architecture Validation
+ Code Fixes
Access to source code
Long-term maintenance
Dual licensing model and long-term maintenance
To support both open-source and commercial users, we’re adopting a dual licensing model:
This approach ensures that Metalama remains sustainable while giving the community access to the latest innovations.
Contributed pull requests
We intend to encourage and accept pull requests from the community into our main repos as long as they meet the same quality criteria we apply to ourselves.
You’ll need to sign a Contributor License Agreement (CLA), similar to the one used by the .NET Foundation. This ensures we can continue to offer long-term support to enterprise customers.
Timeline
Here’s what to expect in the coming months:
We’ll share regular updates on our progress.
Why this matters
We think this could become one of the biggest news in 2025 for the .NET community.
Metalama will be one of the largest and most complex non-Microsoft open-source projects in .NET.
But this is significant even beyond the .NET ecosystem. Metalama brings many innovations in the realm of meta-programming. It is the most advanced implementation of the concepts behind aspect-oriented programming, but completely reimagined for a modern programming language.
What’s next?
We're now in the process of reorganizing our codebases. We’re eager to hear your feedback and ideas as we finalize our plans. Share your thoughts on in this thread or join the conversation in our Slack workspace.
If you haven't tried Metalama before, you can start today, keeping in mind that a few namespaces will not be open-sourced.
Together, we can build a thriving ecosystem around Metalama that benefits the entire .NET community. Thank you for being part of this journey!
Beta Was this translation helpful? Give feedback.
All reactions