Dirk Riehle's Industry and Research Publications

Should open source projects denounce users who aren’t donating money?

Right now, the top blog post on the OpenCV website (an open source library for computer vision and machine learning) is about how Snap Inc. uses OpenCV in its products (and presumably makes a lot of money partly thanks to it) but does not donate at all to the project. The blog post promises to continue to denounce further companies for not giving money to OpenCV.org (the non-profit foundation behind the project).

The argument goes as follows (quoting from the blog post):

So far, Snap has not supported OpenCV financially despite their massive success. As advocates for open-source technologies, we believe it’s their duty to support projects like OpenCV which have helped build their fortunes, […]

Taken from https://opencv.org/blog/who-uses-opencv-part-1-snap-inc-meta/

There is no legal duty in the open source licenses or elsewhere to pay up, so OpenCV.org must be talking about a moral duty. Sadly, there is no further explanation of where this moral duty is supposed to come from. I don’t see how, if someone offers you something for free, you have a moral duty to pay them.

Of more interest to me is the underlying confusion about how companies behave, though. In U.S. law, companies are considered people, which has all kinds of malign consequences (like protecting corporate donations to political parties as free speech). However, shareholders of companies would be rather unhappy and act swiftly, if a company started donating money impulsively, driving too fast and getting a speeding ticket, or crashing a party by disassembling the available furniture.

In practice, companies are expected to act economically rationally, and not on human impulses.

And in fact, vendors take a rational approach to open source projects. To a vendor, an open-source software is a third-party component, and the open source community is the supplier of the component. All vendors manage their suppliers, but those who don’t charge for the supplied software often get short shrift, because money is the language of business and open-source software, at least in accounting, is a zero Euro line item.

A mature software vendor recognizes the value of open-source software in their products and manages the resulting dependency accordingly. Donating money is a rather weak form of management, because it has no particular aim. It makes sense for users of open source applications to do it, but much less so for vendors that use open source libraries in their products. For a vendor, it is smarter to contribute code to improve alignment and compatibility of the open source software with the vendor’s products.

I don’t think that OpenCV.org’s appeal to an assumed moral duty will achieve much. However, publicly naming and shaming them may. I don’t think Snap has anything to be ashamed of here, however, the blog post may hurt Snap’s reputation as an employer of developers, the main target audience of the blog post. Whether treating users this way is a good idea, is another question though.

Newsletter subscription


  1. Phil Nelson Avatar
    Phil Nelson

    Writer of that post here, and you raise some good points re: the way companies tend to operate. There is one big thing I disagree with, however: We aren’t denouncing anyone- we’re really encouraging Snap to become an OpenCV member and work MORE closely with us, and laying out the facts and morals as we see them. Without the support of large orgs who depend on the OpenCV library, OpenCV will likely be forced to create a commercial license, which we really don’t want to do.

    1. Dirk Riehle Avatar

      Hi Phil, thanks for responding. Now, suggesting to become a member makes much more sense to me, as you can have defined benefits that hopefully make sense to the members so they can justify the expense. It wasn’t clear to me from your text; I thought you were generically asking for donations. Still, I wonder how this very public style of addressing a potent user is received by them. Did you ask them privately first? I’d assume so, and I’d also be curious about what they said why they weren’t interested.

  2. Reiner Banken Avatar

    Users of Open Source projects should consider them as part of the community around the project. As part of a community, you should engage in some way with the project. Engagement can range from providing feedback, to providing time, to providing money. Especially large companies and governments should feel a moral obligation to invest in the open source projects they are using. Some form of public shaming for Snap could certainly be worth trying for this specific case.

    1. Dirk Riehle Avatar

      I think the relationship needs to be agreed upon; the project or a foundation in its place can’t just tell its users how they want them to behave. Well, they can, of course, but (a) it might not be an open source project thereafter and/or (b) they have to give users time to adjust (including deciding to leave). There is a fair bit of “users should” in your reply and while I totally feel the frustration and hope for what users should do, in my opinion this simply doesn’t work. So we need other solutions than naming and shaming and “they just should”.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Share the joy

Share on LinkedIn

Share by email

Share on X (Twitter)

Share on WhatsApp

Featured startups

QDAcity makes collaborative qualitative data analysis fun and easy.
EDITIVE makes document collaboration more effective.

Featured projects

Making free and open data easy, safe, and reliable to use
Bringing business intelligence to engineering management
Making open source in products easy, safe, and fun to use