Your favorite open source software developers have officially sold out! How could they possibly commercialize their software?!
Mediatr? AutoMapper? MassTransit too?!
I'll share a few different perspectives on this... Let's discuss!
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, we are going to the comments for a question. I'm not going to say this username out loud, but question is uh what do you think about packages like automapper, mediator and mass transit announcing moving to a commercial model? What could this mean for other Nougat packages if successful or the if successful in the future of open source? Sorry, brain kind of uh stopped working there. Um, I think this is a great question. Uh, for those of you that aren't familiar with these packages because you're not a .NET developer, um, AutoMapper, Mediator, and Mass Transit are three extremely popular packages that get used in a lot of different applications. Automapper, and Mediator are by uh, Jimmy Bogart. I'm sitting at my computer, so I have in I have Jimmy Bogart's Oh, that's that's bright. I have his his blog post up and then dark mode on this site.
Uh Mass Transit. Um why can't I ever remember this gentleman's name? Um sorry, my my apologies. I can't I can't remember his name. Uh he's got a really funny uh he's got a funny handle though. Uh it's like fat boy something. Um anyway, uh it'll probably come to me later, but um their their packages uh that a lot of .NET developers use and they've just announced that they are going to commercial models. And of course, given that they've been open source and everyone's using them, it's got a lot of people freaking out about this kind of stuff. And it's not the first set of uh open source projects to do this. So, um, going to kind of give you my perspective on this stuff. If you have questions that you want answered in the future, leave them in the comments below. Otherwise, you can reach out to Dev Leader on social media.
That's my main YouTube channel as well. And if you send me a message on social media platforms, and I will happily uh keep you anonymous when I try to answer your questions. Uh, or else you have a funny username and I'm not going to say it out loud on on the channel. Um, okay. So, my thoughts on this maybe are not going to be the same as how everyone's reacting and the the DLDDR is like it's their choice and I think if they want to do it, they should do that. Um, end of video. No, but in all seriousness, like I think uh if you've watched my other videos, I try to look at things from different angles so that we can I say we can talk about these things. It's it's me talking about them, but I I I want to be able to kind of share different perspectives so that we can try to do a bit of an analysis, right?
We can have an understanding from these different angles because I think that I don't like my videos just being event session. I like that people can try to learn or get some perspective and I think that's my goal when I put these together. So, um, part of me wants to talk about this from the perspective of the maintainer. That's probably going to be my my primary focus, probably where my bias comes in as well. So, I want to call that out. I want to talk about it from the perspective of the the consumer of these packages. And total transparency, I've never used Automapper. Um, I actually like I don't know why I I like mapping my objects myself. I don't want to use AutoMapper. I've never never had the desire to do that. Uh, I don't use Mediator. I've made YouTube videos about Mediator. If you want to check them out, they're on my main channel.
It's spelled M D I A TR, like not Mediator, but Mediator R. Um, very clever. Um, so I don't use Mediator, but I've made videos on it. And Mass Transit I do use, so I'll be able to kind of share some perspective as a consumer of one of these packages. Um yeah, I think and then part of the tail end of this question was like what is it if these are successful? What does that mean for the future of open source? Right? Like I don't have a crystal ball, but I can try to round out the the video with some of that perspective from from my point of view, I guess. Okay. So, um let's talk about it from the perspective of the maintainers, right? So, I think if you read Jimmy Bogard's um blog post on this, I got to cover my eyes again. It's so bright.
Um, I think he does a good, in my opinion, he does a good job explaining why, right? It might not be something that you like and you might be butth hurt about it, but like I guess like unfortunately too bad, man. It's like it's open source and even though it's going commercial, like other there's comments on this blog post and it's did anyone fork this yet? And he's like, yeah, man. There's like 2,000 forks of this. Like fork it, right? it's open source. Um, but the way Jimmy talks about this, it's like he's saying that and he has a graph of the commits to this, right? Like when he was working before he basically had he was basically getting paid to like maintain this and contribute to it even though it's open source, right? So he said five years ago, so that would be January 2020, he went off on his own to do his own consulting.
And if you look at, and I'm not filming at my desk, but these videos, I don't do screen sharing. I don't edit all that kind of fancy stuff. That's on the main channel. Maybe I'll make another follow-up video on the main channel, but it's it's all just kind of hype stuff right now, and I don't like doing that on my main channel. Um he has a he has a graph of his commit history or like the the actual contributions and you can see in the start of 2020 it goes it just stops. There's like three blips over five years whereas before it was like super super active. So he's just like I don't got I don't have time and explicitly calls out like it's not like no one was using this or something. He's like there's a backlog of like people asking for stuff and just like haven't got around to it.
But in his in the rest of his blog post, he kind of says like I actually don't know what this is going to look like and goes on to say like I'm just trying to be transparent that like this is going to be a change and I I'm trying to sort it out, but like I don't know what it looks like yet. And um in my opinion, what he's doing is not like it's almost like the opposite of abandoning this. It's like look, it needs it needs some TLC. It needs attention, but like also I have a job, right? Like I think people forget this kind of stuff. It's like when he was working on this before and he was contributing to it like it was basically part of his job was to be able to do this. I want to read it out what he atring my time on OSS was directly encouraged and sponsored by them.
I could use time between projects to invest back into existing OSS or new OSS because it benefited the client, the company and the employees. And then he says, "Me and my co-workers." I I don't know. Like to all of you that are watching this, and I'm sure there are plenty of people that I don't want to say plenty of people that will watch this. Of the of the handful of people that watch my YouTube videos. I'm sure, yes, some of you contribute to open source projects. I don't know how many of you have projects like Mediator or projects like Automapper that are ridiculously big, but like it would be a full-time job to maintain these. Just it just is what it is. So, if he's already swamped with his like his business as a consultant, I can absolutely understand that he's like, I don't have time to do this.
So, like I get it. I have empathy in the situation for this individual. Like, he just doesn't have time to do it. Whereas before it was literally part of work. So, it's uh it's definitely challenging, right? Um someone comments are they're awesome. Um someone says just think about how many users contributed and promoted those packages. This this doesn't feel right. You got to I got to go to jimmyogard.com or if you just search it on Google, you'll like search uh like mediator commercial or automapper commercial. person responds and they're like, "Ah, yeah, so many contributors." And then if you look, it's like there's a list of people, but there's like three people that have commits that are like a handful of contributors, maybe four, sorry. And the rest are like, you know, single commits. It's not really even that many people. It's like it's this the a couple people carrying the weight of this, right?
Um, we got a few people saying, "I support your decision." Uh, he Jimmy Bogart did tweet. It doesn't say I think it's a maybe it's Reddit. I can't tell from this. I think it's Reddit. Yeah, I should know. I'm on social media, but um it says someone has a screenshot and says, "Nah, never. You can print it on a te on a shirt. I will never commercialize mediator in quotes and I will sign it with like splatter paint or something." Someone goes, "Is this your comment?" And he's like, "Yeah, it is." Um but apparently he couldn't go back and and delete it. So he thought about it. Um someone deleted the uh original post and he can't do anything about it. So anyway, um I think there's a handful of people that actually were commenting about how they support this. Um but in my head it's like I don't see this as abandonment.
I see this as someone who's like I I actually want to get back into making sure that I can do the right thing with this. and he's trying to figure out the the model that will follow. But basically, he only got so much time. So, he could either just do what he's doing, which is, and I don't mean this in a condescending or negative way, but like kind of give up on it because if he's not able to keep up with the requests and that kind of stuff, it's like it's basically not getting the love and attention it needs. So he can keep doing that and that's been a pattern for 5 years or if he can find a way to commercialize it and he hasn't said how there's been other models where people are just licensing support. So if you think about it, if you are an organization, as a business, it might make a lot of sense for you where you're like, "Hey, this is open source.
We can use the code." Great. And we actually would be willing to pay for support because that means with priority, however the model's set up, if we have enhancements or fixes we need, we can pay to have that done. Kind of seems like a win-win. We'll talk about mass transit in a second. It's a little different. Um, but like he hasn't said how he's going to do this, right? But in my mind, to me, it seems like he's trying to say, "Look, I want to I want to do the right thing for this project." And the only way that he can see that happen with his contributions is if his time is compensated for somehow. That's how it was done before when it was him contributing a lot. So, makes sense to me. We'll talk about the other perspective in a moment, but I want to go to mass transit.
a slightly different story. Um, and I like Mass Transit. I think the guy's name is Chris. I said I was going to get it. Mass I'll just search it because I'm here. Mass transit author. Come on. I'm typing with one hand because I got to hold this mic. Come on. No, not it. Autocomp completed to Mass Transit Authority. That's not what we want. Chris P. It was Chris. Chris Patterson. His handle is fatboy G. I knew it was something awesome. Yeah, Chris Patterson. Fatboy G. He's also it's a fat boy with a ph. He's he's not fat. Um anyway, Chris Patterson. Um he has a he has a blog article as well. So if you go to masttransit.io and look for the the version 9 announcement again, you can just Google mass transit commercial. First thing that comes up. Um this is why the change mass transit started in 2007.
Bunch of stuff because of its extensive capabilities. It's grown. It's missionritical foundation for organizations worldwide. He's not wrong. Uh it absolutely is trusted by enterprise in more than 100 countries across industries. By making V9 a commercial release, we can accelerate mass transit's evolution, delivering even better scalability, security, and performance. while continuing to support the existing community. Okay, says change is hard. Why now? We know that the change, especially in the open source world, can be challenging. There's a lot of people really pissed off. You've been relying on mass transit as a free and open source solution. You might be wondering what the shift means for you and your team. We want to be clear. We deeply appreciate the community itself. Decision wasn't made lightly. Okay. By moving to a commercial model, we're ensuring that mass transit can continue to evolve with dedicated resources. Okay. Blah blah blah for mass transit v8 remains open source, right?
So, back to the other point about people saying, "Oh, fork like mediator, fork uh automapper." Like, yeah, it's it's all the code's there. You can go take it. Saying it still remains open source up to V8, but beyond that, when they're adding new stuff, that's where they're going to start to lock it down. I got to get rid of this cold, man. Um, Mass Transvate remains open source and we're committed to making this transition as smooth as possible. Our goal isn't to take something away, but build something even better. Um, so I don't know like if I'm kind of skimming through this, so I don't know if you can kind of get the the hint so far what this means for you. Mass Transit V8 remains open source. So existing codebase will remain open source. Same license, security patches and critical bug fixes will continue for a transition period.
So, they'll happen and they're going to stop. Community support remains available for V8 users. Okay. Mass Transit V9 becomes commercial product. Um, expert assistance, SLAs's, long-term uh stability guarantees. Okay, cool. Um, transition plan date Q3 2025. Uh, V9 pre-release packages. Q1 to 2020. So, there's some time here, right? Q1 2026. Mass Transit official release for V9 uh ongoing mass transit V8 security patches and then after 2026 end of official maintenance for Mass Transit V8. So we have one more full year. So 2026 of critical maintenance for Mass Transit V8. So this one's a little interesting because in Jimmy Bogart's case for automapper and mediator could be we don't know what the model's going to be could be anything right some people were saying that they're like hey like go with the support model support license model that way it stays free and then people that
want support packages pay for it right Q&A how much will it cost this is when I read this the first I was like ah this kind of feels like it's it's crappy, right? Like I don't know. I will I'm going to stick to V8. You'll see exactly why it's it's good. Um understandably, the most uh asked question is about the cost, right? So, with good reason. Pricing will be pricing will be reasonable and split into small medium-sized businesses and large organizations and subscription based. Um, by the way, um, that means if you are, uh, not a small medium-sized business, you're not included in the the small the low end of the pricing, unless I'm missing something from this, okay? Because he starts with small to medium-siz businesses, then large organizations and subscription base. The best pricing will be annual subscriptions. Uh, so equivalent to 10 monthly payments.
You get a little discount. That's very nice. Ready? The price target for small/mediumsized businesses is $400 a month. Remember, he didn't list a lower package. So, for me, not quite a solo dev outside of like on the side outside of my my career, $400 a month to use this package or $4,000 a year. Okay. For large organizations with multiple teams or complex enterprise level procurement policies, the price target is closer to $1,200 a month or $12,000 a year. Those might be totally reasonable for businesses. Sorry, my my dog just burst in and she's she snorts a lot. So, if you hear snorting, it's cuz there's a dog running around snorting. Um, like as a so like as a solo dev or like very small dev team, uh, like indie or whatever, like outrageous. I could never afford this. Doesn't make sense. Um, so I'd stick to V8 and that's fine, right?
It is what it is. Um, so unless we start making tons of money and I don't even I don't know how I would justify $4,000 a year on this personally. Don't get me wrong, I think mass transit is absolutely awesome. I cannot comprehend spending $4,000 a year on this. Just how it is. If we had a I don't even know how much our business would have to be making for me to justify spending that before spending $4,000 a year on something else. This is this is why it's kind of ridiculous as like a someone running a small business, let's say. Like $4,000 I I mean I could do a bunch with that, but if you're a large company and it's 12 grand a year, like who cares, right? It's not going to notice it. So, I guess my point when I read this is like feels like Um, I'll stick to V8.
So, like I don't care. It's not like I'll stick to V8 and then I got some time to figure things out. Uh, might just remain good enough for forever and we got the code. So, if we need to change anything, we can after 2026. I'm not really that concerned. Um but like yeah like going beyond that I don't know I can't I can't justify it. So perhaps what this looks like for my usage over the next few years would be like stick to V8 if like 3 to four years from now it's like sure maybe um going to add some extra code into V8 just to do something magical for us. Um, and I would love if my story is like in like 5 years like we're we got money and we can spend 12 grand a year cuz we have a an organization that's like able to support that.
Otherwise, the four grand a year cuz we're a small business and at that point it is justified. I just can't rationalize it. So interesting. Uh, not a fan of it. Um, will there be a, so let me scroll down a little lower because, uh, there's a little bit more. Um, a non-commercial license for V9. Um, no, he just says you won't be forced to update. So, and he says it's like it's almost two years, right? and he says it's a longer longer support uh window for some net than some net versions. Uh will there be a free license for nonprofits um case by case basis? And then they even said, "Did you coordinate with Jimmy to break the news?" No, just coincidence. We both chose to not announce on on April 1st for April Fool. So, they both tried to dodge that and then said it today.
Uh, I'm recording this on the 2nd. So, okay. So, that's some thoughts. Um, but again, like it they're allowed to do this. This is their thing. Like, whatever. I like I can't I don't like the pricing of mass transit. I think it's silly as a as a person who's running a very small development team. silly for me. Does it makes do I think it makes a lot of sense for Chris Patterson trying to say, "Hey, I want to turn this into a business and support it." He he he writes to accelerate it and to do all this stuff. But I mean, I say just call it what it is. You're just turning it into a business. And I I don't think that that's wrong if you want to do that. Is it going to piss people off? Absolutely. But I think it's if you want to make money from it, I think it's going to be a model that works.
It has been proven that people rely heavily on this. Are they going to lose a ton of users? Absolutely. Of course they will. Those users aren't paying. So it it doesn't matter, right? They they will make money from this. So I think it's for them great free great move. Let's talk about it from the other side, though, right? I gave you a little bit of um perspective as a from the mass transit side, right? As a consumer of it. Um and I guess I wasn't planning to do that yet. I kind of jumped the gun. But I I do think um because I want to generalize this, not just talk about mass transit, but for me, I kind of explain my strategy, what I'll be doing, or at least what I anticipate.
Um, I think the extension of this that I wanted to add though was like I see a lot of people saying, "Well, that's what you get for like not writing your own stuff." And it's like, "Yeah, man, but like you're you're going to write all of your own you're going to write your own mass transit." Like no, you if you were writing your own mass transit from from the beginning, you odds are if you were doing that for every, you know, powerful package like this that you were using, you'd be so screwed because you'd never get anywhere. You'd be too busy building this stuff. I'm not saying it's wrong to do it, by the way. I've made other videos on this if you are interested in learning how these things work. I think it's a great opportunity to try building your own. you'll get a lot of appreciation for what goes into this stuff for sure.
So, I don't think there's anything wrong with building your own. I think that it's not a wise move if you're trying to get a working product in a short period of time. Why? Because you have to go build all this stuff by hand. Now there are strategies around this where every time you're integrating a third party library you put your own little shim layer around the integration right the API surface area you make your own right the stuff your code your core code talks to a shim layer that's your code too that way when you want to swap this stuff out you can and people people freak out about this stuff right it's oh it's over abstraction it's you're You're planning for something you'll never need. Sure, you're right. But then don't complain when something like this happens. Like that's all I have to say. I I am definitely an overabractor.
But like it doesn't seem to slow me down. So it's just how my brain works. That's how I operate. Um and then if I have a situation like this like it doesn't matter, right? So, the code that I have that uses mass transit, there's only a couple spots that I would say like I've kind of like bled the uh the APIs like a little bit too much. Otherwise, they're wrapped in my own So, if I can't use Mass Transit anymore, it's like my entire code base breaks. I have a few implementations of things where I'm like, I got to go figure this out now. Pick something else if I need to. Right? So I'm not going to be the person who's like, "Oh, I have I'll never trust another Nougat package or you know um third party package library to use." No, I will continue to do that as necessary.
Uh I will keep for the most part putting shims in place like uh give you an example. Um what I don't abstract away from generally is like Microsoft um like core libraries that are interfaces there. They still have some core libraries that are not interfaces like uh I don't know not to get into the details like some of the the file system stuff is not abstracted by interfaces. So I'll have my own wrappers and interfaces I'll use. Um but otherwise like I don't have my own shim layer for logging that wraps the eyeloger from Microsoft like no Microsoft Microsoft has the has the interface for it. I'll use that because everyone else is conforming to it. If I'm building int I don't really have a choice. I mean I do but I'm going to use that.
Um and I think that there are some other things like this that if Microsoft is kind of owning the base like kind of interface that people will code against then I will not put abstractions in between that otherwise I will. So to give you an example, I use Sarah log for logging, right? I don't have an abstraction over Sarah log because Microsoft has the ey logger. So I just use their abstraction works for me. Um there are situ like I will do uh like Dapper for example I build a repository. So, Dapper is an OM and object relational mapper. So, your SQL queries and stuff. Uh, it'll map to objects for you. Um, I build repository interfaces and implementations. So, all of if I if Dapper went commercial and I had to switch to something else because I was I was forced to. Oh my god, my ad block just decided to update right now and blind me.
Thank you very much. Two open two tabs to blind me. Insane. Um, thank you. The worst. I don't even know what I was saying now. Oh, Dapper. Um, yeah, it's the implementations of my repositories use Dapper. If I had to change, my repositories have to change. the rest of my code. No, because there's an interface. It's fine. So, I don't know. I'm not for for me, this kind of stuff doesn't really bother me. Does it Does it suck? And do I like the pricing models and some of this stuff? No. Like, I'll work around it. So, I'm not going to go build my own stuff. I don't recommend everyone else do that. I just recommend you think about putting shim layers in place as they make sense for you. Um, some people might hate that advice. That's why I said like you can hate it. That's totally fine if you don't like building that way.
Too much abstraction literally doesn't affect me. It doesn't bother me. Just don't complain when this stuff happens. That's all I have to say. Um, so I think that's my take on it. What does it mean for the future of open source stuff? That's what OSS stands for, right? open source stuff. Um, I don't know. I think that I think that if honestly if people that are creating open source stuff are spending so much of their own time maintaining stuff then especially like the the models where it's like commercial but like it's just for support. I think that makes a lot of sense. Like if that's what if you're spending so much time doing it. I think it makes a lot of sense. Um, I don't know. I think there are some people that like philosophically are against it, right? So, you'll have some people, maybe that I don't know have stats on it.
Maybe that's the vast majority of people that make open source stuff. They are just philosophically against commercializing it because they went into it because they just wanted to make sure that they were giving back, right? Um, you know, and I'm not I'm not trying to call out Jimmy here, but I think that in his case, it's like it it was it was almost easy to be in a position like I'm saying easy easier to be in a position like that when it's your your work is getting sponsored because it was this it was a similar model. Someone's paying you to work on this stuff, right? So, I don't know. I could see more stuff going in this direction. Um, and yeah, maybe that's another good reminder for folks like contribute back to the open source projects you're using. Try to be part of it because if uh if someone's dedicating all their time to just try and maintain stuff like I I don't know a lot of people that love working for free, man.
It's just kind of a reality. So, I think that's my take. I don't know if it's a popular take. That's how I see things. I'm sick. I'm tired. I'm a little cranky, but I think I don't think I said anything out of spite, though. So, it's where I'm at. So, I think it's a great question. Again, friendly reminder, if you want questions answered, leave them below in the comments. Otherwise, reach out to Dev Leader on social media. I'll do my best to answer your questions. Thanks so much for watching. I'll see you later. Take care.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- Why are popular open source .NET packages like AutoMapper and Mediator moving to a commercial model?
- I think the maintainers, like Jimmy Bogart, are moving to a commercial model because maintaining these large projects requires a lot of time and effort, which they can no longer dedicate for free. For example, Jimmy was previously paid to work on these projects as part of his job, but now he has other consulting work and can't keep up with the backlog. Commercializing allows them to get compensated for their time and provide better support and development.
- How does the commercial transition of Mass Transit affect existing users and pricing?
- Mass Transit version 8 remains open source with continued security patches and community support until 2026, but version 9 will be a commercial product with expert assistance and SLAs. Pricing targets $400 per month for small to medium businesses and $1,200 per month for large organizations, which I find reasonable for businesses but too expensive for solo developers or small teams. I plan to stick with version 8 for now since the pricing doesn't make sense for my small development setup.
- What strategies do you recommend for developers to handle changes when open source packages become commercial?
- I recommend putting shim layers or abstraction layers around third-party libraries you use, so your core code depends on your own interfaces rather than directly on the package APIs. This way, if a package changes its license or pricing model, you can swap it out or modify your shim without breaking your entire codebase. While some may see this as over-abstraction, it helps avoid major disruptions when popular packages change their business model.