3 ms·
Fyi, the article's title and sibling top-level comment by austincheney may give the wrong impression of what Russ Cox is talking about. His essay is not saying
by jasode 8y ago
Fyi, the article's title and sibling top-level comment by austincheney may give the wrong impression of what Russ Cox is talking about.
His essay is not saying software dependencies itself is a problem. Instead, he's saying software dependencies _evaluation_ methodology is the problem. He could have titled it more explicitly as "Our Software Dependency Evaluation Problem".
So, the premise of the essay is already past the point of the reader determining that he will use someone else's software to achieve a goal. At that point, don't pick software packages at random or just include the first thing you see. Instead, the article lists various strategies to carefully evaluate the soundness, longevity, bugginess, etc of the software dependency.
I think it would be more productive to discuss those evaluation strategies.
For example, I'm considering a software dependency on a eventually consistent db such as FoundationDB. I have no interest nor time nor competency to "roll my own" distributed db. Even if I read the academic whitepapers on concurrent dbs to write my own db engine, I'd still miss several edge cases and other tricky aspects that others have solved. The question that remains is if FoundationDB is a "good" or "bad" software dependency.
My evaluation strategies:
1) I've been keeping any eye on the project's "issues" page on Github[0]. I'm trying to get a sense of the bugs and resolutions. Is it a quality and rigorous codebase like SQLite? Or is it a buggy codebase like MongoDB 1.0 back in 2010 that had nightmare stories of data corruption?
2) I keep an eye out for another high-profile company that successfully used FoundationDB besides Apple.
3) and so on....
There was recent blog post where somebody regretted their dependency on RethinkDB[1]. I don't want to repeat a similar mistake with FoundationDB.
What are your software dependency evaluation strategies? Share them.
[0] https://github.com/apple/foundationdb/issues https://github.com/apple/foundationdb/issues
[1] https://mxstbr.com/thoughts/tech-choice-regrets-at-spectrum/ https://mxstbr.com/thoughts/tech-choice-regrets-at-spectrum/
- SmirkingRevenge 8y agoA couple questions that I like to ask myself... - How easily and quickly can I tell if I made the wrong choice? - How easily and quickly can I switch to an alternative solution, if I made the wrong choice? To contextualize those a bit, its often when trying to pick between some fully managed or even severless cloud services vs something self-managed that ticks more boxes on our requirements/features wish-list. Also, its pretty important to consider the capabilities and resources of your team... - Can my team and I become proficient with the service/library/whatever quickly?
- teraflop 8y agoNitpick: FoundationDB is sequentially (strongly) consistent, not eventually consistent.
- deleted 8y ago[deleted]
- davelester 8y agoRe: other high-profile companies using FoundationDB in production, I suggest checking out these two talks from the project's community conference, FoundationDB Summit: Wavefront/VMware[0], and Snowflake Computing[2]. [0] https://www.youtube.com/watch?v=M438R4SlTFE https://www.youtube.com/watch?v=M438R4SlTFE [1] https://www.youtube.com/watch?v=KkeyjFMmIf8 https://www.youtube.com/watch?v=KkeyjFMmIf8