radashi-org / radashi

The modern, community-first TypeScript toolkit with all of the fast, readable, and minimal utility functions you need. Type-safe, dependency-free, tree-shakeable, fully tested.
https://radashi.js.org
MIT License
264 stars 21 forks source link

Why Radashi? #168

Open xml opened 2 months ago

xml commented 2 months ago

Hi, Radashi team! Thank you for great open-source tooling.

I'm new to both Radash and Radashi. And, when I read the docs for Radash, it's clear to me why it exists. And, because it has great docs, and relatively recent releases, I feel comfortable adopting it.

I'm lots less clear on why a person would adopt Radashi instead, particularly given that Radashi's docs are just... Radash's docs. It's oddly... not mentioned? Except to say:

Radashi is an actively maintained fork of Radash, the fastest growing Lodash alternative with 100K+ weekly downloads.

And like: if that one is the "fastest-growing Lodash alternative"... and if that one has 4.1k stars and this one has ... 108? ... then... why wouldn't I just use that one? I think it's necessary to explain the sitch, somehow, somewhere, to accelerate the transition.

Then there's the list of Radashi benefits but... it's not really clear why those aren't also just the same benefits as Radash? I'm guessing that some of those benefits are kind of a polite sub-tweet about Radash, perhaps especially about being "actively maintained"?

I hunted around: I see the open issue and discussion on Radash about whether it's being maintained, and because none of the maintainers have responded to them, I think I understand the basic issue, and what prompted the maintainers of this project to start a new one. And, I see 13 contributors and lots of commits.

So... I think it would be helpful (especially for those disinclined to hunt as I did) to say it out-loud, here on this repo. Something like:

Why does Radashi need to exist, when there was already Radash?

We are eternally grateful to Radash for bringing Lodash into the world of Typescript. And, we would have loved to simply contribute to improving Radash. But, (since late 2023), the Radash project has gone mostly inactive, and maintainers are not even responding since September 2023 to an open discussion and issue - nor to direct email inquiries - about whether it's being actively maintained. Let alone to the many other open issues and PR's. From this, we can sadly only conclude... future progress depends on a new community and a new repo.

That could reasonably go anywhere: onto the Readme, into the new docs, or even just here as an Issue for anyone inclined to seek it. But, I think that you'll see slow adoption until you come right out and say why this exists, why it is a pro-community move, and why it's not just a 'copy-cat' or 'unconstructive bike-shedding' or something negative like that.

To be clear, I'm assuming the best. I think this project just wants to be explicit in explaining why this is, in fact, the best approach. Leaving it implicit creates FUD, and slows uptake. FWIW.

xml commented 2 months ago

p.s. - I'd be happy to submit a PR to this effect. Just wanted to see if that's constructive and aligned to reality/project goals, etc...

aleclarson commented 2 months ago

First off, apologies for the lack of clarity. The current readme is probably not as thorough as it could be, but I wanted to keep it short so I can focus on the process of getting Radashi ready for its first true release (coming very soon).

I'm hesitant to dedicate a section to explaining why an actively maintained version is better than one that isn't. With respect, isn't it obvious? I invite you to take a look at our generated changelog to see the many improvements that have already been made in @sodiray's absence. We'll also have comprehensive release notes with high-level explanations (starting with the next release).

Why Radashi?

Okay, so let me give you an overview of how the two projects compare, given the current state of both, as well as my vision for the future. I will try to be comprehensive in listing the differences that I believe make Radashi the obvious choice:

In the end, I hope that @sodiray will be proud of where we've taken Radashi. Maybe he'll even join the core team at some point. Who knows?

Let me know if anything's still not clear. Thanks!

P.S. Thanks for prompting me to write this out. I'll include it as a page in the docs and link to it from the readme for anyone curious like yourself.

xml commented 2 months ago

Wow. Thanks for detailed response.

EDIT: the Comparison Post is great. Everything is in-context there.