Movement 0deps: લોકલ ડિપેન્ડન્સીઝ અને અપરિવર્તનીય કોન્ટ્રાક્ટ્સ
સોફ્ટવેર ડેવલપર્સ ઘણીવાર દરેક પ્રોજેક્ટમાં સેંકડો એક્સટર્નલ લાઇબ્રેરીઝ ઇન્સ્ટોલ કરે છે. આધુનિક ફ્રેમવર્ક હજારો ટ્રાન્ઝિટિવ ડિપેન્ડન્સીઝ પર આધારિત હોય છે. આનો અર્થ એ છે કે તમારું એપ્લિકેશન સેંકડો અજાણ્યા યોગદાનકર્તાઓ દ્વારા લખાયેલા કોડને રન કરે છે.
આ ઝડપ તમારા સોફ્ટવેર સપ્લાય ચેઇન માટે મોટું જોખમ ઊભું કરે છે.
0deps મૂવમેન્ટ એક સરળ પ્રશ્ન પૂછે છે: જો તમારું એપ્લિકેશન ફક્ત એ જ કોડ રન કરે જેનું નિયંત્રણ ખરેખર તમારી પાસે હોય તો?
દરેક ડિપેન્ડન્સી તમારા એટેક સરફેસ (attack surface) ને વધારે છે. તે સુરક્ષામાં ખામીઓ લાવી શકે છે, છોડી દેવામાં આવી શકે છે, અથવા નવા અપડેટ સાથે તમારા કોડને બગાડી શકે છે. તમે તમારા પ્રોડક્શન એન્વાયરમેન્ટમાં ચાલતા કોડ પરનું નિયંત્રણ ગુમાવો છો.
0deps મોડેલમાં, તમે બધી ડિપેન્ડન્સીઝ સીધી તમારા પ્રોજેક્ટ રિપોઝિટરીમાં લાવો છો. તમે ઇન્સ્ટોલેશન દરમિયાન તેને ડાયનેમિકલી ડાઉનલોડ કરતા નથી. તમારી એપ બનાવવા અને ચલાવવા માટે જરૂરી બધું જ ત્યાં પહેલેથી જ હોય છે.
આ અભિગમ અનેક ફાયદાઓ પૂરા પાડે છે:
- Reproducible builds
- એક્સટર્નલ પેકેજ રજિસ્ટ્રીઝ પર ઓછી નિર્ભરતા
- કેન્દ્રીય સુરક્ષા ઓડિટ (Centralized security audits)
- વધુ સારી અનુમાનક્ષમતા (Predictability)
