AutoMapper Goes Commercial: What It Means and What To Do About It

Introduction

AutoMapper is a popular open source object-to-object mapping library for .NET that has been a staple in developer toolkits for years. Jimmy Bogard, its creator, recently announced that AutoMapper will be going commercial.

While this move will enable him to provide better support and continuous improvements, not all teams will be able or willing to move to a paid solution. For these teams, this transition has significant real-world implications for their projects. In this blog, I’ll explore what they can do about it.

The Problem for Existing Users

AutoMapper’s impending commercialization raises uncertainty, particularly with regard to licensing and the cost to use the library. However, it’s important to understand that you should direct these concerns toward the future state of your project rather than the current state. There are a few reasons for this:

  1. AutoMapper is licensed under an MIT license, which is a perpetual, permissive, irrevocable license. This means that any version of the library that you downloaded under the MIT license will remain under this license. You should have no legal or financial concerns about using these versions.
  2. AutoMapper is mature. There was a one-year gap between the last two releases, and even minor releases often have a multi-month gap between. AutoMapper also has no active, unresolved Github issues as of this writing. With these factors in mind, you can trust that this is a fairly stable product that you can depend on for some time.
  3. AutoMapper solves a conceptually simple problem. While it will require a nontrivial amount effort to extricate it from your codebase, and significant planning to determine how and when this will happen, it will not require specialized expertise.

Migration Options

Despite the reassurance for existing users, some may still consider migrating away from AutoMapper to avoid future commercial licensing or to explore alternative solutions. I have provided some options below for migrating away from AutoMapper.

  1. Use A Different Library

    A perfectly valid option is to find another library that does the same thing. This may work well for some teams, but I think this is going to be a worst-of-both-worlds approach when compared to writing your own mapping logic or forking AutoMapper.

    The biggest concern is that there is no guarantee that the library you move to will not also go commercial sometime in the future. This obviously impossible to predict, but since mapping objects is such a core component to many applications it probably makes sense to use this chance to make it a part of your own codebase rather than outsourcing it to another FOSS library.

    If you do move to another mapping library, here are some factors to consider:

    – How similar to AutoMapper is the API and programming paradigm?
    – Is the library licensed under a permissive license such as MIT?
    – Is the code for the library well written and legible?
    – Is the code for the library updated frequently?
    – If not, are there active issues for it?
  2. Fork the AutoMapper Code

    An alterative to writing your own mapping code from scratch is forking the AutoMapper codebase and maintaining the fork yourself. As long as you fork an MIT-licensed version of AutoMapper you should be free to use and modify it for any purposes you require.

    One major advantage to this approach is that your development team is already familiar with AutoMapper and its uses. Any new mapping solution requires retraining the development team.  You also benefit from the years of institutional knowledge earned by those who developed and maintained AutoMapper, which could help you avoid many mistake in rolling your own solution.
  3. Create Your Own Mapping Logic and Library

    The approach that is most likely to be the best long-term investment for your code is to gradually migrate to your own mapping logic. As a reminder, AutoMapper solves a very simple problem at its core, that of mapping the properties of one object to another. While the implementation of any replacement is likely to be tedious, it is not a high-risk effort, can be done gradually, and ultimately your team will own the mapping library once it is complete.

Conclusion

The commercialization of AutoMapper marks a significant shift in the landscape of .NET object mapping libraries. While existing users can continue to use the software under its current license without legal concerns, exploring alternative solutions can provide peace of mind and potentially better performance or features.

If you would like help with this transition, you can contact the experts at Trailhead who will be happy to help!

Picture of Andy Wilson

Andy Wilson

Andy earned his B.S. in Computer Science and Applied Mathematics from Appalachian State University (Boone, NC). In the fifteen years since he has developed, architected, and deployed systems in the industries of healthcare, telecom, DoD, financial services, and education. He finds great joy in leading teams toward the common goal of improving business efficiency and effectiveness through the thoughtful implementation of technology. Andy’s experience includes a six-year stint as an information security engineer where he developed a passion for engineering tools and processes that balance the security of systems with speed of delivery. He leverages his experience with several technologies, including C#/.NET, SQL Server, static analysis security testing, and software composition analysis to meet the needs of our clients. Outside his professional work Andy enjoys spending time with his wife and three daughters, playing guitar, weight lifting, outdoor cooking of all varieties, and Appalachian State/Carolina Panthers football.

Free Consultation

Sign up for a FREE consultation with one of Trailhead's experts.

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Related Blog Posts

We hope you’ve found this to be helpful and are walking away with some new, useful insights. If you want to learn more, here are a couple of related articles that others also usually find to be interesting:

Our Gear Is Packed and We're Excited to Explore With You

Ready to come with us? 

Together, we can map your company’s software journey and start down the right trails. If you’re set to take the first step, simply fill out our contact form. We’ll be in touch quickly – and you’ll have a partner who is ready to help your company take the next step on its software journey. 

We can’t wait to hear from you! 

Main Contact

This field is for validation purposes and should be left unchanged.

Together, we can map your company’s tech journey and start down the trails. If you’re set to take the first step, simply fill out the form below. We’ll be in touch – and you’ll have a partner who cares about you and your company. 

We can’t wait to hear from you! 

Montage Portal

Montage Furniture Services provides furniture protection plans and claims processing services to a wide selection of furniture retailers and consumers.

Project Background

Montage was looking to build a new web portal for both Retailers and Consumers, which would integrate with Dynamics CRM and other legacy systems. The portal needed to be multi tenant and support branding and configuration for different Retailers. Trailhead architected the new Montage Platform, including the Portal and all of it’s back end integrations, did the UI/UX and then delivered the new system, along with enhancements to DevOps and processes.

Logistics

We’ve logged countless miles exploring the tech world. In doing so, we gained the experience that enables us to deliver your unique software and systems architecture needs. Our team of seasoned tech vets can provide you with:

Custom App and Software Development

We collaborate with you throughout the entire process because your customized tech should fit your needs, not just those of other clients.

Cloud and Mobile Applications

The modern world demands versatile technology, and this is exactly what your mobile and cloud-based apps will give you.

User Experience and Interface (UX/UI) Design

We want your end users to have optimal experiences with tech that is highly intuitive and responsive.

DevOps

This combination of Agile software development and IT operations provides you with high-quality software at reduced cost, time, and risk.

Trailhead stepped into a challenging project – building our new web architecture and redeveloping our portals at the same time the business was migrating from a legacy system to our new CRM solution. They were able to not only significantly improve our web development architecture but our development and deployment processes as well as the functionality and performance of our portals. The feedback from customers has been overwhelmingly positive. Trailhead has proven themselves to be a valuable partner.

– BOB DOERKSEN, Vice President of Technology Services
at Montage Furniture Services

Technologies Used

When you hit the trails, it is essential to bring appropriate gear. The same holds true for your digital technology needs. That’s why Trailhead builds custom solutions on trusted platforms like .NET, Angular, React, and Xamarin.

Expertise

We partner with businesses who need intuitive custom software, responsive mobile applications, and advanced cloud technologies. And our extensive experience in the tech field allows us to help you map out the right path for all your digital technology needs.

  • Project Management
  • Architecture
  • Web App Development
  • Cloud Development
  • DevOps
  • Process Improvements
  • Legacy System Integration
  • UI Design
  • Manual QA
  • Back end/API/Database development

We partner with businesses who need intuitive custom software, responsive mobile applications, and advanced cloud technologies. And our extensive experience in the tech field allows us to help you map out the right path for all your digital technology needs.

Our Gear Is Packed and We're Excited to Explore with You

Ready to come with us? 

Together, we can map your company’s tech journey and start down the trails. If you’re set to take the first step, simply fill out the contact form. We’ll be in touch – and you’ll have a partner who cares about you and your company. 

We can’t wait to hear from you! 

Thank you for reaching out.

You’ll be getting an email from our team shortly. If you need immediate assistance, please call (616) 371-1037.