Also some fun takeaways: it also makes external calls to azure to load configuration and stays silent after updating for 2 weeks before showing warnings.

Moq is unusable. Needs to be forked or repoaced. Time to switch to NSubstitute.

  •  coehl   ( @Coehl@programming.dev ) 
    link
    fedilink
    English
    26
    edit-2
    1 year ago

    Kzu wanted to thank everyone that supports the project. That should be easy, as now nobody does.

    Just sent an email to the brass at work letting them know. I imagine this will result in a painful gutting of this library from the entire stack. Might take months.

    Moq is going to be a vulgar term for us soon enough.

    Maybe it’s time we check to see if there’s a new epidemic that only affects the tech sector, turning them into desperate self sabotaging fools.

    Edit: btw thank you op

    • If your usage is that ingrained, the other option is to fork it and drop the dependency, or swap to any of the already-numerous forks that do so. Unless there’s licensing concerns with that approach?

      • You’re relying on the fork to remain maintained, or else you risk you run into build/functional issues at some undetermined point in the future when it becomes incompatible with other changes in your environment/project. If you don’t trust the fork will be maintained, you should begin decoupling your project from the library anyway. I would be more willing to trust an alternate (or no) mocking framework over a Moq fork to be supported in the long term. That might change in a couple months if one becomes established.

        I would personally wait a couple months, or until the original Moq creator reverses course. (If he does that, I think it’s unlikely a fork will compete with the original, so I’d start removing the dependency as I can’t trust the author anymore.)

  • Holy shit. This is so bad. That’s my entire September gone… I actually fought internally for my company to donate to this and a couple of other projects, but I guess this one is off the donation list at this point.

  •  rookeh   ( @rookeh@geddit.social ) 
    link
    fedilink
    English
    14
    edit-2
    1 year ago

    Sounds like the dev was unsatisfied with the low sponsorship numbers on his project, which when you consider how many devs only ever interact with Moq via the package manager or command line might be a fair complaint…but the decision to just start harvesting user data like a lowlife as an alternative source of income is some galaxy brain shit.

    It’s not like this would even be sustainable. What did he think was going to happen, devs would just blindly accept a new shady looking package appearing in their dependency stack with no further investigation?

    As a result of this stupidity Moq will now be on the shit-list of every corporation using .NET, especially those based in Europe due to GDPR implications.

  • Update: https://github.com/moq/moq/issues/1374#issuecomment-1671166436

    Dev is still defending his action and apparently believes he’s done nothing wrong. Harvesting developers email and extorting them by sabotaging builds is no big deal.

    Absolute clown. OSS needs a better solution to funding devs hard work, but it is not a vehicle for an egomaniac to get rich.

    I’m still pro-not mocking. Maybe this is a good opportunity to stop using so many mocks in our tests, and write validation on the actual behavior of your code.

  • No need to rush out and replace Moq, you’re fine if you’re on a lower version. We are using 4.16 or something at work, and I don’t see any need to take any action there. Didn’t have a reason to upgrade anyway.

    If the SponsorLink package comes back, and kzu is determined to push forward with it (which is absolutely his right to do) then long term I guess we’ll move to something else. My preference would be to stop using mocks altogether.

  • This is not the first time it happens with Dotnet Open Source packages, there are some pretty funky things going on namely:

    Imagesharp (They re-license from Apache 2 to something like Community/Commercial licenses and threw a huge fit over it)

    Fody (It expects the software contributors of Fody to be a patron.)