Git ולא Repudiation, Revisited

[הועבר לארכיב] עדכון אחרון על-ידי Joe Schaefer ב-יום ו׳, 03 ינו׳ 2025    מקור
 

מאמר זה באמת מתייחס DVCS באופן כללי, לא רק git כשלעצמו. אבל אנחנו נתמקד תשומת לב על git כי זה נשאר הפופולרי ביותר DVCS סביב היום.

ללא דחיה.

עם כלי מסורתי לבקרת גרסאות מרוכזות, רשומות כאלה זמינות בקלות מהיסטוריית ה-commit. כל התחייבות למערכת עוברת דרך מנגנון אישור כדי להבטיח שהאדם שביצע את השינוי מורשה להעלות אותו. רשומות אלה חיוניות לארגון כדי להבטיח שרשומות מדויקות נשמרות אשר מצביעות על מי אחראי להעלאת כל שורת קוד לתוכנה המדוברת.

עם git, או בקרת גרסה מופצת באופן כללי, יש הבחנה ברורה בין ההיסטוריה של “מחויבות” לבין ההיסטוריה “העלאה” — מה שאני מכנה כאן “דחיפת רשומות”. ביצועי commit ב-git אינם מאומתים, כיוון שהם מתרחשים באופן מקומי, כאשר נתוני מטאדטה מקומיים ולא מאומתים נוספו להיסטוריה. שלב ההעלאה, aka דחיפת Git

עם קרן התוכנה אפאצ’י.

למה זה חשוב? ובכן למתחילים הרשו לי להתייחס לתפיסה שגויה נפוצה לגבי הצורך בהסכמי רישיון של תורם תוכן (ICLAs) עבור התחייבויות של אפאצ’י. נראה שאנשים רבים אינם מבינים שבכל הנוגע ליצירותיו האישיות של המחבר, אין הבדל בין השפה הרלוונטית בשפה הרלוונטית. הסכם רמת שירות (ICLA) וגם the רישיון אפאצ’י 2.0.

מה שרשומות דחיפה מספקות אז היא דרך לעקוב אחורה, לכל שורת קוד במהדורה, ה-committer היחיד שאחראי לדחיפת הקוד הזה למאגר git של ה-ASF. זה חשוב באופן ביקורתי בקביעת ההוכחה של תרומה של צד שלישי עם git, כי זה למרבה הצער אפשרי עבור תורם כזה “ללכת” מתרומתו לפרויקט git בגלל האופי המופץ של יומני התחייבות DVCS. הצד האחראי, על פי ה-ICLA, הופך לקומיטר שדחף את הקוד.

אסטרטגיות הפחתה מוקדמות ונכונות סובבות סביב הסרת התרומה הנטושה, אך ייתכן שהנזק לפרויקט כבר נעשה. ובלי רשומות הדחיפה, פשוטו כמשמעו, לא היה לנו תהליך סמכותי לקביעת האופן שבו קוד זה נכנס בפועל לתוך repo שלנו, מלבד טרבול דרך רשומות חלופיות במעקב בעיות או תקשורת ברשימה. הסתמכות על יומני מחויבות מיזוג בלבד לקביעת מקור אינה מספקת במיוחד מנקודת מבט אבטחה, מכיוון שהיא דורשת עמידה נוקשה בסוג מסוים של תהליך עבודה, שאיננו רוצים להכתיב לו.

ללא דברים כאלה היינו צריכים לחייב לפחות חתימת PGP של כל התחייבות של תורם, וזה מכוער עבור פרויקטים רבים. רשומות דחיפה מספקות תהליך שקוף שאינו משפיע על תהליך העבודה של פרויקט, פרט להבטחת ה-Git repo של ASF הוא ה-Master repo האמיתי.

עדכון מס’ 2025

ל-Git יש תמיכה מקורית עבור SSH-SK-ED25519@openssh.com

הנפח והמורכבות המיותרים של תשתית PGP מלאה אינם רלוונטיים עוד לפתרון סוגיות אי-הדחייה שנדונו לעיל, ברחבי הארגון או ברמה לכל פרויקט. ושילוב GitHub הנחמד מקל על המאמץ הזה במלואו.

קישור קבוע  #DVCS   #icla   #אבטחה   #בקרת גרסאות   #ללא פדיון  

 

     

הערות  


קבצים מצורפים  

קישורים  


אינדקס

כוכב שמש בלבד


מרץ 2020 COVID-19

  • צמיחה מעריכית ו-COVID-19— קח את הזמן שלך עם **המתמטיקה** סעיף — חשוב להיות צרכן משכיל של נתונים סטטיסטיים הרלוונטיים למגפה הנוכחית ... יום ה׳, 06 מרץ 2025

היוקה



NonFunctional בדיקות


יחסי תלות בשפה האנגלית

  • מה זה Smart Content Dependency Management™?— הבנה ברורה של גרף התלות של אתר האינטרנט שלך תבטיח שתוכל למקסם את הביצועים של טכנולוגיית הבנייה שלנו בקנה מידה ... יום א׳, 28 אפר׳ 2024

 

  • רשימות דיוור— כתובות זמניות אלה הן anathema ל `ezmlm-idx`'s מנוי ומערכות מתינות ... שבת, 27 אפר׳ 2024

 

  • מדריך אבטחת מידע— יש להתייחס לכל הנתונים שמקורם ב-UNIX בזמן ריצה **קריאת מערכת** כ-**tainted** ... שבת, 27 אפר׳ 2024

 

  • ביצועי יישומים— מפתחים רבים נופלים למלכודת של חשיבה אופטימיזציה ביצועים היא על הפיכת כל שורת קוד ליעילה ככל האפשר. ... יום ג׳, 23 אפר׳ 2024

 

  • על בעיית הספאם...— התוסף היחיד הטוב ביותר עבור `Qpsmtpd`למרות שקשה להבין מדוע ... יום א׳, 29 ינו׳ 2023

היפרבולית Honeycomb


 

  • תנועת DevOps— הרעיון הגדול מאחורי "התנועה" הוא לא רק לתת למפתחים יותר חבל ... יום ו׳, 15 דצמ׳ 2023

 

  • כיף עם htop— תכונות htop מתקדמות בפלטפורמות יוניקס פופולריות ... יום ה׳, 19 ינו׳ 2023

ארכיטקטורת מידע

  • ארכיטקטורת מידע— כל סולם הטכנולוגיות הרלוונטי לעיצוב, להצגה, ליחסים ולאילוצים ארכיטקטוניים המכסים כל כתובת URL שבה אתה משרת ... יום ב׳, 11 מרץ 2024

זפת ונוצות

  • Apache HTTPd Devs נחשב מזיק— פיליפ לא ידע כל כך טוב אז היה עד כמה [מציצה, vapid, וטריטוריאלית](https://www.mail-archive.com/dev@httpd.apache.org/msg77781.html) הקבוצה הזו הפכה ... יום ו׳, 26 אפר׳ 2024

 

  • השמחה של DTrace— למדוד פעמיים, לחתוך פעם אחת, לפני תחילת מאמץ אופטימיזציה קוד ... יום ו׳, 26 אפר׳ 2024