תוכנות, בניגוד לחפצים מוחשיים, אינן משהו שניתן להעביר עליו בעלות בקלות. הסיבה לכך היא שתוכנה היא לא כמו שולחן: אם קנית את השולחן, מותר לך לנסר רגל ממנו, מותר לך למכור אותו הלאה, מותר לך להרשות לאנשים אחרים לחגוג על השולחן, ואתה יכול לצלם אותו, לחרוט עליו, להדביק אותו לבית עץ ואפילו לשבור אותו עם גרזן. יצרני תוכנות, בניגוד ליצרני שולחנות, לא ממש מעוניינים שדבר כזה יקרה.
הסיבה לכך היא פשוטה ונובעת מאסטרטגיה עסקית (ולאו דווקא משפטית). יצרן התוכנה מרוויח משני אלמנטים: הראשון הוא הרשיון לתוכנה (End User License Agreement, EULA) והשני הוא התמיכה והאחזקה שהוא נותן לתוכנה (Support and Maintenance). לכל אחד מהאלמנטים יש מודל תמחור: בדרך כלל הרשיון הוא חד-פעמי, אבל הוא יכול להיות גם שנתי; התמיכה והאחזקה נגבים בדרך כלל בצורה שנתית על עדכונים בתוכנה, שיפורים, תיקוני באגים ואפילו התקנה אצל הלקוח.
עכשיו, רשיון התוכנה של התוכנה שרכשתם (אם מדובר בתוכנה מסחרית) בדרך כלל אומר שני דברים: אסור לכם לעשות כמעט כלום עם התוכנה אלא אם קיבלתם רשות ספציפית, ויצרנית התוכנה לא תהיה אחראית לכל נזק.
הסיבה להגבלות על השימושים בתוכנה היא כזו: אם תוכלו לשנות את התוכנה ולמכור אותה הלאה, הרי שיצרן התוכנה לא יוכל להתפרנס מהתוכנה שהוא מוכר; אם תוכלו לשפר את התוכנה, יצרן התוכנה לא יוכל לגבות כסף על עדכונים, אם תוכלו להרשות לאחרים להשתמש בתונה, יצרן התוכנה לא יוכל להתפרנס ממכירתה. לכן, בעצם, יצרן התוכנה מעוניין להגביל ככל האפשר את השימוש.
הסיבה שהיצרן יכול לעשות זאת היא חוק זכויות יוצרים. החוק בעצם קובע רשימה של פעולות שהיחיד שיכול לבצע או להרשות לבצע הוא בעל הזכויות. כלומר, בשביל לבצע את הפעולות האלו בתוכנה שהיא בבעלות היצרן, אתם צריכים רשות, או רשיון. המסמך הזה, שמגביל את הרשות הוא "רשיון תוכנה" (EULA).
יש לא מעט פעולות שמותר לבצע בתוכנה גם ללא הסכמת הבעלים, כמו התאמת התוכנה למערכת מחשב אחרת, גיבוי של התוכנה ובדיקת אבטחה (סעיף 24 לחוק). יש גם שימושים אחרים שעשויים להחשב הוגנים (תחת סעיף 19 לחוק). יש פסקי דין שקבעו שרשיון התוכנה יכול להגביל את השימוש (Davidson & Associates, Inc. et. Al. v. Internet Gateway, et. Al) גם אם הוא מותר על פי חוק; ולכן גם במקרים של הנדסה לאחור או בדיקות אבטחה, צריך להזהר ולהוועץ בעורך דין.
ממול עולם רשיונות התוכנה, עומד עולם הקוד הפתוח והתוכנה החופשית; אבל זה למקרה ויום אחר.