קוד פתוח
מתוך לינוקס - מדריכים
קוד פתוח הוא שיטה לפיתוח והפצת תוכנה, שבה המשתמש יכול להשיג את קוד המקור של התוכנה ישר מהמתכנתים המקוריים.
אם מדובר בתוכנה חופשית אז למשתמש מותר לשנות את קוד המקור ולהדר את התוכנה מחדש עם השינויים שהוא רוצה או להפיץ את קוד המקור החדש.
תוכן עניינים |
מה זה קוד מקור
כשכותבים תוכנה, כותבים אותה בשפת תכנות (למשל C או Java). תוכנית זאת קריאה לבני אדם ועם הידע המתאים הם יכולים להבין מהקוד איך התוכנה עובדת.
דוגמא לקטע קוד מקור : תבנית:Source
כדיי שניתן יהיה להפעיל את התוכנה במחשב יש להמיר אותה לפקודות בשפת מכונה. פקודות כאלה מובנות למעבד - ולא מובנות לבני אדם (גם לא למתכנתים) : תבנית:Source
המרה מקוד מקור לקוד מכונה נקראת הידור. הוא נעשה על ידיי תוכנה שממירה כל פקודה בשפת תכנות לסדרה של פקודות בסיסיות מאוד בשפת מכונה.
המרה בחזרה לא קיימת בצורה מסודרת. לעיתים ניתן לנסות להמיר קטעים מהתוכנה או להתעסק ישירות עם קוד המכונה (כך למשל כותבים crackים לתוכנות של חלונות) - אבל האפשרויות כאן בדרך כלל מאוד מוגבלות.
קוד פתוח לעומת קוד סגור
יכולות המשתמש
בקוד פתוח המשתמש יכול :
- להשתמש בתוכנה כמו שהיא
- להעתיק את התוכנה כמו שהיא
- לשנות את התוכנה : להוסיף או להוריד אפשרויות, לתקן באגים
- לוודא שלתוכנה אין תכונות לא רצויות (כמו spyware או פצצת זמן)
- לכתוב תוכנה משלו תוך כדיי שימוש במה שכבר עשו בתוכנה המקורית
בקוד סגור המשתמש יכול :
- להשתמש בתוכנה כמו שהיא
- להעתיק את התוכנה כמו שהיא
אבטחה
אבטחת קוד פתוח בנויה על כך שיותר משתמשים רואים את הקוד ומוצאים בעיות אבטחה ולכן בעיות אלו מתוקנות מהר יותר. לכן ביישומי קוד פתוח בעיות אבטחה מתגלות ומתוקנות במהירות, הרבה פעמים לפני שהספיקו לנצל אותן.
אבטחת קוד סגור בנויה על כך שלמשתמשים (והחברה הרעים שביניהם) קשה יותר למצוא בעיות אבטחה בתוכנה והם ימצאו פחות כאלה. יצרן התוכנה לעומתם יוכל למצוא את בעיות האבטחה בראש שקט. שיטה זאת נקראת Security thru obscurity.
אמינות כלפי חוץ
גופים מסויימים מייחסים לתוכנות קוד סגור יתרון, מכיוון שלמשתמש אין שליטה על יכולות התוכנה. למשל : חברות המולטימדיה מ USA נותנות לנגן שירים וסרטים אך ורק בסביבה מוגנת הבנויה בקוד סגור.