I've seen a few questions, issues, PR for review on vetting which external libraries to bring in? Not sure if this is the best place, but wanted to share what I generally look for when adding new dependencies while it is on my mind. I can check these out for you, esp if you post a list of all the ones you may be considering :)
There's no need to write all of our software from scratch, but we also want to balance convenience with the control we'll have over the maintainability of our software when we add external components
Things I look for:
Bonus:
A thing I've done on teams before is created a pull request of the bare minimum code to add the dependency to a project and briefly listed the features I found useful from the library and how I might be using them. That way our asynchronous team had a place for discussion and group "vetting" of a library - each with different concerns (devops, security, performance, complexity etc). Dunno if that works here, but sharing what I know :)
What do y'all think? What do you look for??
@emilyashley Thanks a lot for the detailed explanation on what all to look out for! :heart:
Was just mentioning with @jywarren that we also bet @alaxalves has thoughts on this. Please chime in and share if you can :)
LOVE TO SEE THIS.
This is a really great example from @Tlazypanda and @cesswairimu vetting a library! SHOUT OUT! 馃帀馃檶
cesswairimu: @Tlazypanda great job finding the gem. I have a few concerns with it though...its seems that its not frequently updated(last updated 14 months ago), it is crucial we look at this as it could hinder our future updates..also @emilyashley guidelines on vetting libraries #8019 ...I am not discarding it just giving you smth to think about/ consider . Thanks
Tlazypanda: Hey @cesswairimu I totally understand your concerns over this 馃槄 and I actually did check it out against the vetting points by @emilyashley so the thing is that although this gem is not updated as frequently, the current implementation is something that won't need updates in the sense it is sufficient in itself. It is also the only implementation for lazy-loading in rails applications. And after doing a lot of searches, I could only find this tool being mentioned in blogs to speed up rails apps. The documentation is sufficient, there aren't any rollbacks in the commits as such and the license is MIT. Since, it is the only option available we might just have to go with it
https://github.com/publiclab/plots2/pull/8043#issuecomment-645667983
Was just mentioning with @jywarren that we also bet @alaxalves has thoughts on this. Please chime in and share if you can :)
Thanks @emilyashley I'll take take to give this some thought. :)
Hi :smile:, this issue has been automatically marked as stale because it has not had recent activity. Don't worry you can continue to work on this and ask @publiclab/reviewers to add "work in progress" label :tada: . Otherwise, it will be closed if no further activity occurs in 5 days -- but you can always re-open it if you like! :100: Thank you for your contributions :raised_hands: :balloon:.
This is a great. It would be great to have it documented somewhere more accessible. Maybe on the website or the soc onboarding doc. What do think @jywarren @sagarpreet-chadha even @emilyashley if available
Most helpful comment
Thanks @emilyashley I'll take take to give this some thought. :)