C
C#17mo ago
Omar

❔ How do I Open Source Software correctly?

I'm worried that I don't know how to OSS correctly. How do I choose a library? I want to write C# code that controls and monitors Docker containers. How do I find a good, supported library that does it? I searched around and found this one: https://www.nuget.org/packages/Docker.DotNet/ Where do I find documentation for this library? There's a README, but it's incomplete, just some examples; covers about 10% of the library, I figure. How do I learn more?
Docker.DotNet 3.125.12
Docker.DotNet is a library that allows you to interact with the Docker Remote API programmatically with fully asynchronous, non-blocking and object-oriented code in your .NET applications.
23 Replies
Sossenbinder
Sossenbinder17mo ago
Github repos usually list the license of the library If that matches your use case you're good to go
Omar
Omar17mo ago
What about the viability of the code? How do I know the project isn't abandoned?
Sossenbinder
Sossenbinder17mo ago
There's also https://github.com/mariotoffia/FluentDocker which is my goto for docker usually
GitHub
GitHub - mariotoffia/FluentDocker: Use docker, docker-compose local...
Use docker, docker-compose local and remote in tests and your .NET core/full framework apps via a FluentAPI - GitHub - mariotoffia/FluentDocker: Use docker, docker-compose local and remote in tests...
Sossenbinder
Sossenbinder17mo ago
I guess the best way to just is to check the commit history How recent / frequent commits take place Check the issues tab and responsiveness there And contributor count is also good to check, doesn't help to have a very active repo if it's one guy and that one suddenly decides to jump ship
Omar
Omar17mo ago
For example, FluentDocker hasn't had a release since December of 2021. And it seems to have the same documentation problem. Just a README, no docs.
Sossenbinder
Sossenbinder17mo ago
That's true, maybe I should also use another one at some point, but I don't have the same concerns as you for what I use it 😄
Omar
Omar17mo ago
Without documentation, how did you learn to use it? I guess you have to read all the code?
Sossenbinder
Sossenbinder17mo ago
Basically I never needed much more than the first few examples on how to start a container and build an image So I'm not sure about how well it supports managing running containers as you need it
Omar
Omar17mo ago
I wonder what you would do if your use case was non-trivial.
Sossenbinder
Sossenbinder17mo ago
Yeah you are kind of at the mercy of the maintainers to provide enough documentation, but that's the thing about open source, you're not paying anything so there's no one to complain to if you don't get what you need
Omar
Omar17mo ago
That seems kind of crazy. Why would anyone bet their success on such a weak promise?
Sossenbinder
Sossenbinder17mo ago
Because you'd have to roll your own code for everything otherwise
Omar
Omar17mo ago
I guess. But I'm going to have to build my own, anyway, if I can't find a documented and viable solution.
Angius
Angius17mo ago
Most Github repos have issues, and more and more of them also have discussions enabled. They're usually a good place to ask questions Besides that, intellisense and reading the code
Omar
Omar17mo ago
Those requirements start to defeat the purpose of reuse. By that standard, Docker.Net isn't abandoned. The FuentDocker solution that Sossenbinder recommended is certainly abandoned. OK
Monsieur Wholesome
How do I choose a library?
2 Factors that come to mind - Popularity (github stars, nuget downloads) - Maintenance (Mix of: commit count, last commit at & issues (-solved))
Omar
Omar17mo ago
What number of github stars or nuget download should I look for?
Monsieur Wholesome
Just outstanding from the alternatives
Omar
Omar17mo ago
So pick the package with the most stars and/or downoads of those that support my needs?
Monsieur Wholesome
Well, popularity is pointless if it wasnt maintained for 10 years 😄 Maintenance is pointless if no one uses it, and youre running into the bleeding edge Find a balance; That's my two cents
Omar
Omar17mo ago
Thanks. I guess The Cathedral and the Bazaar still applies. 😐
Monsieur Wholesome
Pick your Poison 💉
Accord
Accord17mo ago
Was this issue resolved? If so, run /close - otherwise I will mark this as stale and this post will be archived until there is new activity.