2023/08/on-moq-and-our-part-in-the-oss-sustainability-social-contract/ #828
Replies: 11 comments 15 replies
-
I agree that some things need to change regarding funding of OSS projects. The lack of monetization support from major players like Github, as well as the lack of underlying infrastructure from package managers to restrict access, certainly leaves developers somewhat limited in their capacity to monetize their works. That said... I think that calling SponsorLink's approach of data exfiltration "not well thought through technically" is a gross understatement. Even ignoring the failing builds due to poor implementation (as that's probably just a bug), adding an obfuscated dependency that scrapes user information and transmits it to a third party, both without consent and without informing the user, is far beyond the pale with regards to what's acceptable, from any developer. |
Beta Was this translation helpful? Give feedback.
-
Very well written. Coming more from the marketing side, I'd say that the maintainer could have done better in communications. Sure, there was a blog post outlining what he intended to do. But with these radical changes, and knowing the developer sensibility, communications should have been countdown-style with lots of blogs and tweets blasted out, as well as multiple GitHub discussion communications started on it. In essence - over communicate. It is possible that even over communication would not have helped but it would have covered more bases and likely caused more support for the move. |
Beta Was this translation helpful? Give feedback.
-
Spin it how you will; NO large company, concerned about security, will trust beyond this point. Most large companies already employ irrational and paranoid practices and policies to stave off security related incidents. Moq has gone Bud Light. |
Beta Was this translation helpful? Give feedback.
-
Thanks for writing this. I agree with everything here. Regarding a better OSS ecosystem, my thinking has been for a while that Microsoft is in an exceptionally unique position to take the lead here. In the .NET and JavaScript ecosystem, they are the owners of most of the tool chain, i.e.: GitHub, Azure DevOps, NPM, NuGet, Visual Studio, VSCode. They could essentially track what packages/libraries organizations use when building in CI pipelines. This can enable multiple different scenarios, e.g., "library stores", automatic sponsorships. E.g., an organization can set up a monthly OSS budget on GitHub and each month the OSS they are depending in their build pipelines automatically get their cut of the cake (budget). I think many organizations wants to give back, it can even be a positive branding thing for them (see how much we give back to OSS, aren't we awesome), but it is not an easy plug-n-play-enter-credit-card-info-here and everything just works thing, so it doesn't happen. Ping me if you want to brainstorm further :) |
Beta Was this translation helpful? Give feedback.
-
Thanks for your interesting and well balanced article. Mine will most certainly not be like that, with my lack of experience. :) As for the "OSS contract", I think this is not its full picture. As for how the situation of the OSS contributors could be improved, I do think, that your suggestion on actions in the OSS platforms is probably the best way to go (at least for now). Although I doubt it can be as easy as global automatic sponsorship (at least not at first). |
Beta Was this translation helpful? Give feedback.
-
I find myself annoyed at the situation (but not the developer) because I'm caught between a rock and a hard place. On the one hand, this addition is going to be a big issue from a security standpoint where I work not because of the sponsorship issue but because of the unapproved-connection-to-outside-resources bit. From what I can see of it it'll make those connections even if I sponsored. Once the security folks get wind of something like that it's very hard to convince them to reverse course. On the other hand, I know exactly where the developer's coming from and fully agree with what he wants: financial support at least somewhat equal to the value his software is providing people who can afford to give such support. I've tried to convince employers to chip in some money to the developers of OSS software that what we're developing depends on, but when it gets up to a certain level the accountants take over and ask why they should pay money for something they can use without paying. The idea of thinking of OSS software the same way they think of commercial software that commands huge license fees to use just... draws a blank. As a result, we end up in these situations more and more often. |
Beta Was this translation helpful? Give feedback.
-
First off, thank you for writing about this. .NET is what we make it. If we ignore the bad and don't write about the good, it's impossible to make change in the world. If we throw up our hands and say, "the problem is too big to solve", then it's impossible to make change in the world. If we hold our community accountable, and work to improve the conditions that got us in this mess, then it's possible we'll change our world. You bring up great points regarding sustainability; but to borrow from the climate change mess, while I should eat less meat, the emphasis on individual responsibilty over systemic change ignores that it doesn't matter if I go vegan tomorrow, the corporations will still produce far more carbon than I have ever saved by going vegan. Heck, just one executive on one private jet will out-spend me in carbon production. So let's look at the system. This is where I believe the .NET Foundation is uniquely positioned to help. OSS has a sustainability crisis, and a lot of corporations have seen it as a source of free IP and labor for years. We need an interest group to stand up and work to change that -- to use its position to get its member organizations (or even corporate interests) to pay for the software they use. They have hamstrung themselves by requiring permissive OSI licenses; and this just furthers the problem: Corporations won't pay for software unless they have to; and permissive licenses mean they don't have to. Until we get dual-licensing, a framework for businesses to pay for the software that powers their enterprise, and a will from our own community to enact this change, it doesn't matter if I pay a dollar to this project or $100, and focusing on my responsibility to pay over the corporations that make millions and billions of dollars while relying on Moq and other open source projects obfuscates the issue. Our single greatest threat to OSS is burnout and the continued pillaging of OSS efforts by corporations. Until we address that issue head-on, all the other OSS problems pale in comparison. |
Beta Was this translation helpful? Give feedback.
-
+1 for this post. I agree we should have a way as a community to be able to ask for help when needed, and that announcements in the repository simply aren't enough, although the mantainer has no better way. This is the same thing as pyca/cryptography all over again, (except for the privacy stuff) where they posted 6 months prior that they were switching to a rust backend and that build machines needed a rust toolchain installed, and everyone got mad the moment their CI builds failed, complaining that they hadn't been warned, when the mantainer had no way of warning downstream consumers other than opening an issue in the repository. This is a broader issue with transitive dependencies, and especially libraries buried deep in the depencency graph, where few people know your work yet it is critical to everyone's infrastructure, and i hope we find a way to mitigate this issue moving forward. |
Beta Was this translation helpful? Give feedback.
-
It's important that in addition to an OSS Sustainability Social Contract, there is an OSS Good Faith Social Contract. The gist is "do no harm", "don't be underhanded," "be transparent." I believe both need to be addressed separately. If people freeload on OSS, you can't introduce security risks, watch them cry foul, then blame them for being greedy freeloaders as a way to try to even it out. That's victim blaming. Trust has to be restored, or everything else is a nonstarter, at least as far as this library maintainer is concerned. I wrote a detailed github comment addressing the Good Faith issues in isolation, many of which the Moq maintainer has already addressed: https://github.com/moq/moq/issues/1374#issuecomment-1676542719 |
Beta Was this translation helpful? Give feedback.
-
Sean, Good Initiative. |
Beta Was this translation helpful? Give feedback.
-
My issue is corporate budgets. I'd love to have my company donate to the libraries we use but convincing management to give $10 a month to a project that is "free" just does not happen. We don't have any unapproved expenses for an OSS fund would have to go to our board of directors and I would love tips on how to make that work. |
Beta Was this translation helpful? Give feedback.
-
2023/08/on-moq-and-our-part-in-the-oss-sustainability-social-contract/
Let they who are without OSS sin cast the first stone. Let’s look inward on OSS sustainability issues.
https://seankilleen.com/2023/08/on-moq-and-our-part-in-the-oss-sustainability-social-contract/
Beta Was this translation helpful? Give feedback.
All reactions