Comment by esperent
Comment by esperent 17 hours ago
It seems like the community fork would be the better link for most people.
Comment by esperent 17 hours ago
It seems like the community fork would be the better link for most people.
The fork is better for normal people. There is no drama or controversy here.
Grant built a brilliant tool for himself. He's not interested in doing the work to make it useful to others, or even allow PRs to do so. He's glad to have others do that in their own fork.
The community edition does all the stuff needed to make this useful to anyone who isn't Grant. Everyone, Grant included, seems to appreciate that.
Grant's version has poor documentation, bugs, quirks, etc. Unless you're Grant, get CE.
Grant did the hard work of inventing this thing. That's harder than it sounds; many tried before and failed.
CE did the boring work of making it usable for others.
Yes. I have not interacted with him directly, but I have observed him making the same statements in recorded interviews. It really is the case that for most "not Grant" people, the community version is probably where you should start (and possibly remain).
For good reasons or for drama reasons? I read the blurb about the fork and can’t tell why exactly if Grant is continuing to maintain the original.
Well, to me it seems like he just shared the original so that others could benefit from the work he had already done, but that since his main priority is to continue making new videos, he may not have the time resources to:
- Avoid breaking changes
- Keep APIs stable
- Test and document everything, etc.
I personally think there's nothing wrong with that. We wouldn't say that a musician is *obligated* to put out a second album or a remaster. We wouldn't say that an author *must* make a sequel to their popular book. But when it comes to code sometimes we feel like the original author has an obligation to keep working on it just because it would convenience us.
(edited for formatting)
I agree, but want to add that while we may perceive other creative works as 'finished' (to an extent), code often is not. It unfortunately, needs perpetual work.
It's pretty wild to me (I do hardware) that data goods like code can rot the way they do. If my electronics designs sit for a couple years, they'll need changes to deal with parts obsolescence etc. if you want to make new units.
If you did want your software project to run the same as today when compiled/interpreted 10 years from now, what would you have to reach for to make it 'rot-resistant'?
It has been my understanding that video games do not patch libraries. Pick a version that is available today and use it forever.
Yeah for sure! Listing that kind of thing would probably be helpful. I think this is one of those “you’ve gotta already be on the inside and already know” things as the fork’s read me doesn’t seem to explain it.
This is pretty clear from the readme though?
> While Grant Sanderson continues to maintain his own repository, we recommend this version for its continued development, improved features, enhanced documentation, and more active community-driven maintenance. If you would like to study how Grant makes his videos, head over to his repository
Hm, yeah. And I read that. But I still didn’t feel equipped to know which I ought to focus on. Maybe it’s just too early on a Saturday for me.
Looks like the projects have slightly different goals.
Grant developed the software originally as a personal tool for his YouTube videos. The software is optimized for his personal needs.
The community version tries to make the tool useful for more people. They’ve built out the docs and apparently improved testing.
The sort of project Grant made is exquisite. It's not built by OSS library maintainers: It's built by someone who is interested in the application, and is an expert in the domain. Suitable tools didn't exist, so he built and maintains a tool that works well for his real-world applications.
My pattern-matching brain thinks the fork is by people who want to build infrastructure that will suit its own end, at the cost of the original purpose of supporting the applications that call it. It is and will continue to decouple from the intended application. Design-by-committee, expanded to too many use cases, and just a general loss of UX. I think this is a clear case of comparing
"Expert who wants to get-shit-done" / "Library maintainers who want to maintain and promote a library"