Skip Navigation

Dumb question: how do I know if an open source project is trustworthy?

Some background: I'm a software developer, and I've never really participated in the open source software community before. (i.e. I don't contribute to open source projects, I don't know anyone who does, and I don't really know anything about the companies who start these projects to begin with, or what their motivations are for being open source.)

I'm currently trying to find software that my team at work can use to solve a particular problem we have. After doing some googling, it looks like this open source product called OpenReplay is a good fit for what we need: https://openreplay.com/

But when I first visited that website, I noticed that the background artwork looks AI generated. This made me feel skeptical of the project, and it makes me wonder: what if it's actually a huge scam and it's actually malware? For example, maybe OpenReplay is actually a copy of a different legitimate product that I'm not aware of. Maybe all of the stars, forks, and discussions on the GitHub page are from fake accounts. When I Google OpenReplay, there aren't a whole lot of results. How do I know if it's trustworthy if I can't find an authoritative source telling me it is?

Maybe I'm just being paranoid. But this is basically the first time in my career where I've tried to vet a new piece of software for my team to use, and I want to make sure I'm doing it right. How do you know when a product like this can be trusted?

EDIT: I don't mean to cast doubt on OpenReplay specifically, I'm just using that as an example because it's the product I'm currently looking into. My question applies to any piece of software that isn't widely known about.

39 comments
  • First off, good on you for being careful. Ultimately, use the same methods that you would use when vetting other sources, like academic or personnel for hiring.

    Check reputation via stars, active contributors, see what accounts are contributing and what other projects they also contribute to. Check their LinkedIn profile and personal websites.

    See if you can confirm the project is being used safely by reputable groups. See if people, especially public people you trust are using/recommending it without being sponsored.

    Check in private forums with other devs and users, see what people are saying. Check the code yourself, etc.

    Ultimately, there's no way to know 100%, even large companies and organizations have been duped in the past by backdoors or security bugs in OSS they use. You can be very confident however, it's all about how much investigation you are interested in doing.

    And of course, don't ever put all your eggs in one basket.

    And if after lots of investigation, you still have a bad feeling in your gut, listen to that. Better to be a little too careful than to compromise yourself by ignoring that gut feeling that something just doesn't pass the smell test.

  • I think open source software has the huge advantage of being auditable. I suggest you and your team audit the entire code to see if anything is harshly wrong in there or you rely on other people doing it with you.

    We actually dont know how many backdoors are in proprietary software and we never will until all code is finally forced into the open as it should be.

  • I look at the contributors on Github and check them out. I'll check out what else they've worked on and maybe see if they have an account on mastodon or twitter. Maybe I'll ask some friends if they've used or heard of the product, or know of the devs.

    There is indeed malware disguised as OSS and you do sometimes have to vet them. I'll skim the codebase and see if there's anything that looks weird or funky, but that's not perfect (like in the case of the xz) and some stuff can slip by.

  • I don't think it's a dumb question.

    Unfortunately I'm not sure there's any guaranteed method to establish trustworthiness. It's especially difficult because if there was, it would probably be easy for the scams to utilise and thus it would stop being a good method.

    Anyways, I would say try to look at the people behind the software - do they have personal websites or do they work on other stuff that also seems reliable? What about the users, do they seem legitimate? Are the issues actual issues, not fake ones? Does the code seem maintained on a regular basis with non-trivial commits? Can you find online third party mentions that seem trustworthy?

    That's just what I could think of. But essentially, there is no silver bullet and you'll just need to make a thorough assessment and decide if you trust it enough.

39 comments