6 ms·
> More on topic, I find it a bit disheartening that people are discouraged from picking a niche library and are instead supposed to look at GitHub's star system
by gridlockd 6y ago
> More on topic, I find it a bit disheartening that people are discouraged from picking a niche library and are instead supposed to look at GitHub's star system.
Just because it's disheartening doesn't mean it's unwise.
> So if it's not on GitHub or if my users don't star it enough, you shouldn't consider it for use in production?
If it's big enough to be popular and not be on Github, that's a good sign. If it's not that popular and refuses to be (also) on Github, that's a really bad sign.
> Shouldn't the documentation, code quality, open issues / maintainer responsiveness to issues, etc. speak for itself?
No, because popularity adds value well beyond those things. It tells you that other people have found that the piece of tech is "good enough". They've already run into issues for you, so that you don't have to. They've already trained on it so you don't have to train. Popular projects are made better just by being popular, which is self-reinforcing.
Of course that means sometimes ill-conceived technology (like HTML/CSS/Javascript) wins out over contenders that are better "on paper".
- lucb1e 6y ago> They've already run into issues for you A star does not mean someone used a library for an extended period of time and decided to endorse the project by giving it a star. I expect most people use it as a like button (showing appreciation for or approval of the work and nothing else), a bookmark (since you can view your stars), or both. Looking at my own stars on GitHub, the first one is something I never used, I just liked that someone documented the protocol for me and published some software around it, so I could make my (planned) open source alternative to the vendor's proprietary crapware more easily. The second one is a factorio mod that I enjoyed using. The third is a list with an overview of algorithms. I suppose I gave it a star for similar reasons as why I might give a comment or article an upvote. The fourth is a simple PHP project that looks nice, but I honestly don't remember seeing it and I certainly never ran it. So that's n=1 but given how easy it is to leave a star and that there is no way to leave a negative star or any sort of comment: no, stars have nothing to do with endorsement, quality, running into issues, or any such quality. If I want to leave a comment to indicate or warn that something is broken, of bad quality, or something similarly negative, a ticket ("issue") is what I might create, and so I circle back to my previous statement: look at other qualities like developer responsiveness in tickets, past tickets... A "clones+downloads from unique IPs+users" or something similar might be a metric for how often this was actually attempted to be used, and given that most people wouldn't forward bad software to others, that might say something about it beyond some threshold. But it still doesn't tell you anything about their experience with it, for that you'll (currently) really have to look at other factors.
- gridlockd 6y agoIt doesn't matter. A project that has 500 stars is most likely going to have more active users than another one solving the same problem, but with only 5 stars. Similarly, a project that has 5000 unanswered issues is going to have more users than one with 50 closed issues. In lieu of any better metric, this is the way to gauge popularity.
- lucb1e 6y ago> It doesn't matter. [Repeats previous argument.] Not sure why I bothered replying to you if you're literally saying "I don't care what you just wrote"
- gridlockd 6y agoIf I didn't care what you wrote, I would not have replied to explain why your concern doesn't matter. I did not repeat the argument. Let me explain it differently: Let's say that on average N% of people give a project a star because they're active users and (100-N)% give a star for any other reason. There is no reason to assume that N will be significantly different for similar projects. I don't know N, but it doesn't matter how big N is, more stars still imply more active users. Is there going to be variance here? Of course, but it's unlikely to distort the metric to the point where it becomes invalid, unless you have very samples (stars). Indeed, if there's one project with 10 stars and another with 5 stars, the chances are high that it's just noise. You cannot get a good estimate of which project has more active users in that case. However, you can tell that neither are popular and both are risky dependencies.