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






