7Jul

מהי תוכנת קוד פתוח, ולמה זה משנה?

click fraud protection

Geeks מתארים לעתים קרובות תוכניות כמו "קוד פתוח" או "תוכנה חופשית". אם אתם תוהים בדיוק מה משמעותם של המונחים האלה ומדוע הם חשובים, המשך לקרוא.(לא, "תוכנה חופשית" לא רק אומר שאתה יכול להוריד את זה בחינם.)

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

תמונה: Quinn Dombrowski על Flickr

הגדרת קוד פתוח

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

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

instagram viewer

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

Firefox, Chrome, OpenOffice, Linux ו- Android הן דוגמאות פופולריות של תוכנות קוד פתוח, ואילו Microsoft Windows היא כנראה היצירה הפופולרית ביותר של תוכנות מקור סגור.

קוד פתוח לעומת תוכנה חופשית

יישומים קוד פתוח זמינים בדרך כלל באופן חופשי - אם כי אין שום דבר לעצור את היזם מ לחייב עבור עותקים של התוכנה אם הם מאפשרים חלוקה מחדש של היישום ואת קוד המקור שלה לאחר מכן.

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

ריצ'רד סטולמן.תמונה של Fripog על Flickr.

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

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

סוגי רישיונות

ישנם רישיונות רבים ושונים המשמשים את קוד פתוח, בהתאם למפתחים מעדיפים עבור התוכנית שלהם.

ה- GPL, או הרישיון הציבורי הכללי של GNU, נעשה שימוש נרחב בפרוייקטים רבים של קוד פתוח, כגון Linux.בנוסף לכל ההגדרות לעיל של קוד פתוח, תנאי ה- GPL מציינים כי אם מישהו משנה תוכנית קוד פתוח ומפיץ עבודה נגזרת, הם חייבים גם להפיץ את קוד המקור עבור העבודה הנגזרת שלהם.במילים אחרות, אף אחד לא יכול לקחת קוד פתוח קוד וליצור תוכנית מקור סגור ממנו - הם חייבים לשחרר את השינויים שלהם בחזרה לקהילה.מיקרוסופט התייחסה ל- GPL כאל "ויראלי" מסיבה זו, שכן היא מאלצת תוכניות המשלבות קוד GPL כדי לשחרר את קוד המקור שלהם.כמובן, מפתחי התוכנית יכולים לבחור שלא להשתמש בקוד GPL אם זו בעיה.

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

יתרונות עבור משתמשים

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

תוכנית קוד פתוח היא גם גמישה יותר.לדוגמה, הממשק החדש של Windows 8 מאוכזב הרבה זמן משתמשי שולחן העבודה של Windows.מאחר ש- Windows הוא מקור סגור, אף משתמש Windows אינו יכול להשתמש בממשק Windows 7, לשנות אותו ולהפעיל אותו כראוי ב- Windows 8.( חלק ממשתמשי Windows מנסים, אך זהו תהליך קפדני של הנדסה הפוכה ושינוי קבצים בינאריים.)

כאשר שולחן העבודה של לינוקס כמו אובונטו מציג ממשק שולחן עבודה חדש, כי משתמשים מסוימים לא אוהדים של, למשתמשים יש יותר אפשרויות.לדוגמה, כאשר GNOME 3 שוחרר, משתמשי שולחן עבודה רבים של Linux הופסקו באותה מידה.חלק לקחו את הקוד לגירסה הישנה, ​​GNOME 2, ושינו אותו כדי להפוך אותו לרוץ על הפצות לינוקס האחרונה - זה MATE.חלקם לקחו את הקוד ל- GNOME 3 ושינו אותו כדי לגרום לו לעבוד בצורה שהם העדיפו - זהו קינמון.חלק מהמשתמשים פשוט עברו לשולחנות עבודה חלופיים קיימים.אם Windows היה קוד פתוח, משתמשי Windows 8 היו יותר בחירה וגמישות.רק תסתכל על CyanogenMod, פופולרי, הקהילה הפצה מונחה של אנדרואיד המוסיפה תכונות ותמיכה עבור התקנים חדשים.

תוכנת קוד פתוח מאפשרת למפתחים "לעמוד על כתפיהם של ענקים" וליצור תוכנה משלהם.צפו ב- Android וב- Chrome OS, שהן מערכות הפעלה המבוססות על לינוקס ותוכנות קוד פתוח אחרות.הליבה של מערכת ההפעלה של אפל X - ועבור iOS - נבנתה גם על קוד פתוח.Valve פועל בזעם על העברת פלטפורמת המשחקים שלהם ל- Linux, שכן הדבר יאפשר להם ליצור את החומרה שלהם ולשלוט בגורלם שלהם בצורה שאינה אפשרית ב- Windows של מיקרוסופט.

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