לעיתים מתגלות במערכות הפעלה פרצות אבטחה המאפשרות להזיק למשתמש בהן. ניתן להתגונן מפני פרצות אלו על ידי התקנת טלאי אבטחה המסופקים על ידי יצרן מערכת ההפעלה.
קוד פתוח
קוד פתוח משמש בעולם התוכנה לציון תוכנה שקוד המקור שלה נגיש (זמין לצפייה) וכן חופשי לשימוש, לעריכת שינויים ולהפצה מחודשת לכל. שיטת פיתוח כזו מאפשרת לכל מי שחפץ בכך לקחת חלק בפיתוח התוכנה ולתרום לשיפורה. מושג קרוב במשמעותו הוא "תוכנה חופשית". לעיתים שניהם נכללים ביחד כ"תוכנה חופשית וקוד פתוח" (באנגלית: Free/Libre and Open Source Software ובראשי תיבות FOSS או FLOSS).
תשתית ליצירה.
כדי לאפשר למתכנתים רבים לחבור יחד לפיתוח תוכנה משותפת ללא ניהול ריכוזי, פיתחו מפתחי הקוד הפתוח סביבות פיתוח התומכות בקוד פתוח. הסביבה המוכרת ביותר היא תוכנת גיט אשר מאפשרת ניהול גרסאות, מיזוג ענפים וכיוצא בזה על ידי מפתחים רבים.
אידאולוגיה.
סביב מושג הקוד הפתוח קיימת תפיסת עולם הטוענת כי התוכנות שייכות להמונים, ועל כן כל החפצים בכך יכולים להיכנס לקוד ולערוך בו שינויים. זאת, בניגוד לקוד סגור, אשר מזוהה, על פי רוב, עם יצרני התוכנה הגדולים. לאדם הקונה תוכנות בקוד סגור, לרוב אין אפשרות פשוטה לצפות בפרטי התהליכים שמרכיבים את התוכנות שרכש, מכיוון שהם מוסתרים מפני המשתמש באמצעות הידור (אף שאין זה מחויב. ייתכן קוד ניתן לצפייה אך אסור לשינויים מצד הרישיון ובשל כך הוא אינו קוד פתוח).
המונחים קוד פתוח ותוכנה חופשית הם מונחים קרובים במשמעותם המעשית, ומשמשים לעיתים קרובות לציון משמעות זהה, אך נבדלים באידאולוגיה שמאחוריהם. את המונח תוכנה חופשית טבע ריצ'רד סטולמן אשר ייסד את פרויקט GNU ואת המוסד לתוכנה חופשית (Free Software Foundation), והוא מתרכז בחופש המוענק למשתמש בתוכנה כערך חברתי. המונח קוד פתוח מגיע מארגון יוזמת הקוד הפתוח (Open Source Initiative), והשיקולים העומדים מאחוריו הם של כדאיות כלכלית וטכנולוגית.
התפתחות אידאולוגיית הקוד הפתוח התהוותה במקביל למהפכה ממשית בעולם התוכנה. בעשורים האחרונים יותר ויותר תוכנות מפותחות מראש כקוד פתוח, ולא מעט בתי תוכנה מפתחים את מוצריהם בקוד פתוח. כך, למשל, משוחררת מערכת ההפעלה אנדרואיד ודפדפן כרום של גוגל, כ-40% מאתרי האינטרנט בעולם מבוססים על פלטפורמות בקוד פתוח כגון וורדפרס ודרופל. במשך השנים הפכה מהפכת הקוד הפתוח לגורם השראה מעבר לעולם התוכנה, והיא מתחילה לחלחל גם להתנהלות הניהולית בארגונים.
גורמי הנעה לתרומה למיזמים.
מיזמי ותוכנות קוד פתוח מבוססים על תרומת המפתחים (המשתתפים במיזם), שהיא על פי רוב התנדבותית. בקהילות קוד פתוח יש ניסיון להתמודד עם השאלה האם קיימת יכולת לנהל את המפתחים – בעיקר ביחס לניהול בהיבטי הנחיה ולהשפעה על התנהגות, במטרה למקסם את ביצועי הקהילה שאליה משתייכים המפתחים.
התאוריה בנושא מתבססת על מחקרים בפסיכולוגיה, שקבעו קשר בין הנעה להשתתפות.
גורמי הנעה בתחום.
באופן כללי, מחלקים המחקרים את גורמי ההנעה לשלושה סוגים: צרכים פנימיים, צרכים חיצוניים וצרכים משולבים (Internalized Extrinsic).
בתחום תוכנות הקוד הפתוח באים גורמים אלה לידי ביטוי באופן הבא:
מחקר והמלצות.
מחקר אמפירי בנושא סקר שלושה פרויקטים של קוד פתוח בקהילת אפאצ'י (Apache). מהמחקר עלו הממצאים הבאים:
המלצות המחקר הן מעשיות, ומופנות בעיקר כלפי מנהלי קהילות קוד פתוח המעוניינים לשפר את השתתפות וביצועי המפתחים בקהילותיהם:
מחקר נוסף חקר את הסיבות והיתרונות שבעטיים מפתחים אנשים בשיטת קוד פתוח ולא בשיטות מסחריות. המחקר העלה מספר סיבות:
האפשרות "לאותת" על רמה גבוהה של יכולת וכישרון באה לידי ביטוי בצורה חזקה יותר כאשר מפתחים בשיטת קוד פתוח, נובעת משלוש סיבות:
דוגמאות.
לינוקס היא הדוגמה המשמעותית ביותר כיום ליישום קוד פתוח ותוכנה חופשית. זוהי משפחה של מערכות הפעלה, המבוססות על ליבת לינוקס. קוד המקור של ליבת לינוקס זמין לשימוש, לשינוי ולהפצה בחינם לכל אחד. כיום משתמשים בלינוקס בתחומים רבים, החל ממערכות משובצות מחשב וכלה במחשבי-על.
בין הדוגמאות הידועות והמצליחות הנוספות ניתן למנות את פרויקט גיט (Git) שמטרתו לסייע למפתחים בניהול קוד, תיאום עבודה צוותית ומעקב אחר שינויים בקובצי תוכנה, Node.js המהווה סביבת ריצה לשפת JavaScript, שמאפשרת לקוד לרוץ ללא צורך בדפדפן; Docker, פרויקט קוד פתוח המספק שכבת הפשטה ואוטומציה להתקנת והרצת יישומים בתוך קונטיינרים (מכולות) על גבי Windows,‏ macOS ו-Linux; האדופ (Hadoop), פרויקט קוד פתוח של מוסד התוכנה אפאצ'י המגדיר מסגרת תוכנה ליישום מבוזר המעבד כמויות גדולות של נתונים (Big Data); אלסטיקסרץ' (Elasticsearch), מנוע חיפוש המבוסס על Lucene, המספק יכולת multitenant מבוזרת לחיפוש מעל טקסט מלא.
דוגמה נוספת היא MySQL, מסד נתונים יחסי שפותח במקור על ידי החברה השוודית MySQL AB וכיום בבעלות חברת אורקל. התוכנה היא חלק מ-LAMP, אוסף תוכנות תשתית פופולריות שעומדות בבסיסם של אתרים רבים, כגון ויקיפדיה. מערכות ניהול תוכן רבות (כגון וורדפרס ודרופל) משתמשות בה כבסיס נתונים. בתחום החומרה, בולטת המערכת של ארדואינו, מיקרו-בקר בעל מעגל מודפס יחיד, עם סביבת פיתוח משולבת (IDE) ברישיון קוד פתוח, אשר מטרתה ליצור סביבה נוחה וזולה לפיתוח פרויקטים המשלבים תוכנה עם רכיבי אלקטרוניקה.
KDE היא קהילת תכנה חופשית בינלאומית המפתחת תוכנה חופשית וקוד פתוח. כמרכז פיתוח מרכזי, היא מספקת כלים ומשאבים המאפשרים עבודה שיתופית על סוג זה של תכנה. המוצרים המוכרים של קבוצת הפיתוח הם שולחן העבודה Plasma, KDE Frameworks ומגוון יישומים חוצי פלטפורמות כגון Krita ו־digiKam היכולים לרוץ על מערכות דמויות יוניקס, הפצות לינוקס שונות, Microsoft Windows ואנדרואיד.
בהיותו אחד הפרויקטים המוכרים ביותר של KDE, שולחן העבודה Plasma הוא סביבת שולחן העבודה הרשמית או ברירת מחדל בהפצות לינוקס רבות, כגון KDE neon (ההפצה של KDE), קובונטו, openSUSE, Manjaro, Mageia, ועוד.
סקירה.
את קהילת KDE ועבודתה ניתן למדוד בנתונים הבאים:
תוכנות KDE.
ישנן תוכנות חופשיות רבות שפותחו ומתוחזקות על ידי קהילת KDE.
הפרויקט שנקרא בעבר בשם "KDE" או "KDE SC (אוסף תוכנות)" מורכב כיום משלושה חלקים:
KDE Plasma.
KDE Plasma מספקת סביבה אחידה להפעלה וניהול של יישומים בפלטפורמות שונות כגון שולחנות עבודה, מחשבים ניידים, טאבלטים או טלפונים חכמים.
המותג Plasma עבור סביבות העבודה הגרפיות הוצג מ־KDE SC 4.4 ואילך.
היו שתי גרסאות אחרות של סביבת העבודה מלבד שולחן העבודה פלזמה 4 במהלך הגרסה הרביעית, שנקראו Plasma Netbook ו־Plasma Active.
הגרסה הנוכחית KDE Plasma 5 כוללת את סביבות העבודה הבאות:
KDE Frameworks.
KDE Frameworks מורכב מיותר מ־70 ספריות קוד פתוח חופשיות שנבנו על גבי Qt. פרויקט זה הוא הבסיס ל־KDE Plasma ולרוב יישומי KDE, אך ספריות ממנו יכולות להיכלל בכל פרויקט המעוניין בכך.
בסדרת KDE SC 4, KDE Platform כללה את הספריות והשירותים הדרושים להפעלת יישומי KDE. כאשר פרויקט KDE עבר ל־Qt 5, KDE platform הומרה למערך מודולרי של מה שמכונה כעת KDE Frameworks. ספריות הכוללות ב־KDE platform: Solid, Nepomuk, Phonon, וכ' הספריות הכלולות חייבות להיות באחד מהרישיונות הבאים: רישיון LGPL, רישיון BSD, רישיון MIT או רישיון X11.
בעוד ש־KDE Frameworks נכתב בעיקר בשפת ++C, הוא כולל גם שילובים עם שפות תכנות אחרות. שילובים אלה משתמשים בטכנולוגיות הבאות:
בנוסף, שילובים יציבים זמינים עבור שפות התכנות הבאות:
Kirigami.
Kirigami היא framework המאפשר למפתחים לכתוב יישומים שפועלים על בצורה שווה על אנדרואיד, Plasma Mobile או כל שולחן עבודה אחר מבוסס לינוקס כגון Gnome, פלזמה או Xfce ללא כל התאמות קוד.
דוגמאות ליישומים הבנויים עם Kirigami הן Kaidan לשליחת הודעות או Discover – מרכז התוכנה של KDE.
יישומי KDE.
KDE Applications היא חבילת התוכנות למשתמש ש־KDE מפתחת. בחבילה ישנן תוכנן כגון מציג המסמכים Okular, מנהל הקבצים Dolphin ועורך הווידאו Kdenlive, הן בנויות באמצעות KDE Frameworks ומשיקות גרסה כל 4 חודשים עם מספור גרסה שהרכבו שנה. חודש (למשל 18.12).
Extragear – תוכנות נוספות.
תוכנות שאינן חלק מהחבילה הרשמית של KDE Applications ניתן למצוא בסעיף "Extragear". הם משוחררות על לוח זמנים משלהם ועם מספרי גרסאות משלהם. ישנם יישומים עצמאיים רבים כמו KTorrent, Krita ו־Amarok המיועדים בעיקר להיות ניידים בין מערכות הפעלה ומתאימים לפריסה עצמאית בסביבות או שולחנות עבודה מסוימים. מותגים מסוימים כוללים יישומים מרובים, כגון Calligra Office Suite או KDE Kontact.
פרויקטים נוספים.
KDE neon.
KDE neon היא הפצת לינוקס המבוססת על גרסת LTS האחרונה של אובונטו. היא נועדה לספק למשתמשים עדכונים מהירים לתוכנות Qt ו־KDE, תוך עדכון שאר רכיבי מערכת ההפעלה ממאגרי אובונטו בקצב הרגיל. KDE טוענת כי Neon אינה "הפצת KDE", אלא ארכיון עדכני של חבילות KDE ו־Qt.
ישנן ארבע גרסאות לַהפצה, גרסת משתמש, גרסת בדיקה, גרסה לא יציבה וגרסת מפתחים.
היסטוריה.
ההתחלה.