לינוקס - קוד המקור והקהילה

מאת אסף פז מבוסס על מצגת של אורי עידן

עודכן לאחרונה ב 30.09.2006

משך השיעור

45 דקות. סה"כ שלושה שיעורים בני 45 דקות כל אחד.

מטרות השיעור

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

  1. התלמידים ילמדו את עקרונות הקהילה ויכירו את לינוקס.
  2. התלמידים ידעו להשתמש בתוכנות Writer וImperss. -
  3. התלמידים יכירו מספר תכונות חשובות בדפדפן שועל האש וילמדו איך משתמשים בהן.

הקהילה חלק א'

מהו קוד מקור של תוכנה? (זמן לסוף השיעור 00:45)

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

מדוע קוד המקור של התוכנה כל-כך חשוב ומה זה "קוד פתוח"? (משך זמן לסוף השיעור 00:40)

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

מה זה לינוקס? (זמן לסוף השיעור 00:35)

לינוקס היא מערכת הפעלה שמושתת כולה על עקרונות הקוד הפתוח –
זה לא אומר שלא ניתן למצוא בה תוכנות שהקוד שלהן הוא לא פתוח,
אבל הבסיס עצמו של מערכת ההפעלה או הגרעין (kernel) בשפה המקצועית פתוח לכל דורש.
LINUX נולדה בשנת 1991 כשסטודנט מפינלנד כתב את גרעין הלינוקס הראשון תוך כדי
שהוא מושפע מעקרונות של מערכת הפעלה אחרת שנקראת minix (גרסה ממוזערת של UNIX).
שמו של אותו סטודנט הוא לינוס טורבלדס, ולכן גם קוראים למערכת ההפעלה לינוקס – שילוב של linus וunix .
עוד בהתחלה, לינוס פרסם את קוד המקור של הגרעין, מתכנתים אחרים ראו, התלהבו ונרתמו לפיתוח והיום,
יותר מעשור לאחר מכן ללינוקס יש ממשק גרפי ומספר עצום של תוכנות שעושות מגוון רחב של דברים -
החל מכלי תכנות ועד תוכנות צ'ט ומולטימדיה.
לינוקס אפילו קיבלה סמל מוסכם משלה – פינגווין.

המבחר והסביבה הגרפית (זמן לסוף השיעור 00:30)

כמו שאמרנו קודם, לפעמים קורה שישנן מספר תוכניות בלינוקס שעושות דברים דומים כמו
נגני מולטימדיה – שיש כמותם יותר מעשרה, או סביבות כלי פיתוח תוכנה – שיש כמותם הרבה יותר מחמישה...
אז עם כל המגוון הזה, איך נדע את איזו תוכנה להתקין?
הכי פשוט זה לנסות אותן אחת אחת וכשמצאתם תוכנה שעונה לכם על הצרכים, תישארו איתה!
אותו הדבר קרה גם לסביבה הגרפית – למעשה קיים מספר רב של מנהלי חלונות ששניים
מהם פופלריים יותר מהשאר: KDE, GNOME.
אז מה עושה בכלל מנהל החלונות?
מנהלי חלונות עושים ממש את מה שהשם של הקבוצה הזו אומרת – הם מנהלים את החלונות,
מוסיפים פה ושם קצת אפקטים גרפיים ובאופן כללי אחראים על "ההרגשה" שהסביבה הגרפית משרה
(כמו ניהול תפריטים, כפתורים מיוחדים, קיצורי מקשים ועוד...).
מי מבניהם יותר טוב?
כל אחד והטעם שלו, כמו שאמרתי – תנסו אחד אחד, אהבתם? תשמרו!
מנהל החלונות שנבחר בבית הספר הוא KDE. שימו לב שכפתור ה- K בתחתית המסך
מכיל בתוכו את תפריט קיצורי הדרך למגוון תוכנות שמותקנות במחשב.
בבית הספר כל העמדות שאתם משתמשים בהם – סתם לידע הכללי, הם מחשבים מיושנים שבעצמם
לא יכולים להריץ מערכת הפעלה גרפית ולכן הם משמשים רק כעמדות קצה, וכל מה שאתם רואים
על המסכים – הכל מתרחש בכלל במחשב אחר שהוא שרת הלינוקס של בית הספר. בגלל שהכל קורה
על מחשב אחד בלבד, מנהלי המערכת החליטו לוותר על חלק מהאפקטים הגרפיים כדי שהמערכת תוכל
לרוץ על כמה שיותר מחשבי קצה בצורה חלקה.

הקהילה ו- Whatsup (זמן לסוף השיעור 00:20)

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

www.whatsup.co.il

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

חשוב

חשוב לדעת: האנשים שעונים על השאלות (ויכול להיות שגם אתם), עושים זאת בזמנם הפנוי ובהתנדבות – אז כל דקה חשובה להם,

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

חשוב

חשוב לדעת 2: האנשים שעונים על השאלות (ויכול להיות שגם אתם), עושים זאת בזמנם הפנוי ובהתנדבות – לכן שימרו על כללי נימוס בסיסיים כמו:

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

לרוב מספיקות רק 2-5 שורות לפירוט התקלה.

חיפוש (זמן לסוף השיעור 00:10)

לחיפוש פתרונות לבעיות בפורומים, הכנסו לאתר של Whatsup, הקישו מצד ימין על חיפוש בפורומים.
שימו לב לאפשרויות הסינון של התוצאות: תוכלו לכוון כך שיוחזרו תוצאות המכילות את כל המילים
שבקשתם או לפחות אחת מהן (2 אפשרויות).
תוכלו להשתמש במילים AND ,OR ו- NOT כדי לקשור שתי מילים או יותר כמו למשל: אינטרנט AND NOT מולטימדיה
יחזיר רק את התוצאות שמכילות את מולטימדיה ולא מכילות את המילה אינטרנט.

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

תרגיל

נניח שאתם מנסים להתחבר לאינטרנט כבלים בלינוקס ולא מצליחים. חפשו ב- Whatsup פתרון לבעיה (יש כזה)

חיפוש: חיבור לאינטרנט בכבלים