Here we go again. Another round of developer outrage because your favorite open-source library just went commercial. This time, it’s FluentAssertions (source). But hold on—didn’t we just go through this with Moq? (source).
Let’s be real: You never learn.
Dependencies Are Risks
News flash: Open-source libraries aren’t free ponies running through a magical field of rainbows. They’re risks—security risks, performance risks, legal risks. Every time you dotnet add package
, or npm install
you’re introducing a potential grenade into your project. And then you act shocked when one explodes?
If you’re blindly adding libraries without considering the long-term implications, you’re basically speed-running the "Tech Debt Olympics." Gold medal in Future Problems, incoming.
Ask Yourself: Do You Really Need It?
Yes, I get it. Fluent syntax is awesome. Writing Should().Be()
makes you feel like William Shakespeare. It’s expressive. It’s readable. It’s... unnecessary?
Let’s not forget:
Your test suite doesn’t run in production.
Fancy helper methods aren’t mandatory.
Simpler alternatives exist.
If your tests are drowning in third-party helpers, you’ve missed the whole point of testing: to validate behavior, not to create a dependency on half the internet.
Keep It Simple, Stupid
Here’s another revolutionary idea: Write tests with plain assertions. Yes, they might be a bit clunky, but they’ll also be portable, future-proof, and free from licensing drama. Plus, your tests should be boring. They’re not the place to showcase your obsession with "clean code."
Final Thoughts
Dependencies are not your friends. They’re ticking time bombs, just waiting to go off the moment someone decides to slap a commercial license on their work—or worse, abandon it entirely.
So, the next time you’re tempted to add a library for the sake of "expressiveness," maybe pause and ask yourself: Do I really need this? If you like me, do like expressiveness, choose the tools and languages that have it natively instead of relying on tons of packages.
And while you’re at it, build that license tracker. You’ll save yourself—and your legal team—a lot of headaches when the next licensing meltdown happens.