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.
Leave a Reply