קרדיט: Mashable composite; תַפּוּחַ
בְּWWDCביוני, אפל הודיעה שזה יהיהקוד פתוח לשפת התכנות Swift שלהעד סוף השנה. ובכן, זה השבוע הראשון של דצמבר ואפל קיימה את ההבטחה: Swift היא כעת קוד פתוח.
אפל הציגה את שפת התכנות Swift ב-WWDC ב-2014, והציגה אותה כשפה הטובה ביותר בעתיד לבניית אפליקציות לפלטפורמות של אפל - הכוללות iOS, OS X, tVOS ו-watchOS. במובנים מסוימים, ניתן לראות בסוויפט כיורשת של Objective-C.
ב-WWDC, סגן נשיא בכיר להנדסת תוכנה של אפל, קרייג פדריגי, אמר שאחת הסיבות שהחברה חשה שחשוב להשתמש ב-Swift בקוד פתוח היא בגלל המחשבה ש"שפת התכנות הגדולה הבאה" תמשיך לחיות עוד שנים רבות.
היעדר רישיון קוד פתוח לא האט את האימוץ של סוויפט --סקרי StackOverflowלהראות עניין בשפה ממשיך להיות גבוה - אבל זה הגביל אותה לקהילת אפל.
ל-Swift במקור פתוח יש פוטנציאל לגרום לשפה להמריא גם בפלטפורמות אחרות.
פרטי קוד פתוח
אפל הקימהSwift.orgכמרכז הראשי של קהילת הקוד הפתוח של Swift. אתר זה יכיל את רשימות התפוצה, כלי הדיווח, הדרכות, התיעוד, הבלוגים וההורדות הבינאריות עבור OS X ו-Linux.
אבל מה זה פרויקט בקוד פתוח בלי פרופיל Github? כלום, אז אפל שמה את מאגרי קוד המקור הציבוריים שלה עבור Swift ב- Github בhttps://github.com/apple. החברה אומרת שהיא תקבל בקשות משיכה -- אז באמת נראה שזה מאמץ מלא בקוד פתוח ולא משהו חצי מוגזם.
אפל משיקה גם מנהל חבילות Swift חדש. מנהל חבילות זה נמצא בשלביו הראשונים אך יהיה פתוח מההתחלה. השלבים המוקדמים של מנהל החבילות נמצאים ב-Github, ואפל אומרת שהיא תעבוד עם הקהילה כדי לעזור להגדיר איך זה יעבוד.
בנוסף להפיכת המהדר, מאתר הבאגים וה-REPL לקוד פתוח, אפל מייצרת גם חבורה של ספריות ליבה המשמשות גם בקוד פתוח של Swift. זה כולל Foundation, libispatch ו-XCTest.
רישיון מתירני
אפל נותנת רישיון לסוויפט תחת רישיון Apache 2.0 עם חריג ייחוס בזמן ריצה. רישיון אפאצ'י הוא אחד מהרישיונות הנפוצים ביותר בקוד פתוח על פני כדור הארץ.
זה לא GPL (מה שמבחינה היסטורית, אפל הייתה דוחה בכל מקרה, מסיבות מורכבות), אבל זה מאושר על ידי יוזמת הקוד הפתוח ומתאים למטרות של הקהילות הקיימות.
חלק מרכזי ברישיון זה הוא חריג הייחוס בזמן ריצה, אשר בעצם פותח את הדלת עבור IDEs אחרים (סביבות פיתוח משולבות) להוסיף תמיכה של Swift לכלים שלהם.
זה עצום כי נכון לעכשיו, ה-IDE היחיד שתומך ב-Swift באופן טבעי הוא Xcode. Xcode הוא כלי פיתוח נהדר, אבל הוא רק למק.
מכוון תחילה ללינוקס
למרות שאופי רישיון הקוד הפתוח ומשאבי הקהילה פירושם שסוויפט יכולה להגיע לפלטפורמות אחרות, הפלטפורמה הראשונית שבה אפל מתמקדת בעת פתיחת Swift היא לינוקס.
על פני השטח, זה אולי נראה מוזר להימנע מ-Windows עבור מערכת הפעלה עם נתח שוק נמוך בהרבה, אבל בעולם המפתחים, זה הגיוני לחלוטין.
לינוקס שולטת בשוק השרתים. כרגע, מפתחים יכולים לכתוב את קוד הלקוח שלהם ב- Swift, אבל אם הם רוצים לכתוב קוד שפועל בענן, הם צריכים להשתמש במשהו אחר. תמיכה בלינוקס פותחת את הדלת להפוך את Swift לשפה חזקה יותר עבור יותר מסתם אפליקציות לקוח.
זה לא אומר שסוויפט עדיין לא יכולה למצוא את דרכה ל-Windows - אבל אפל לא ציינה ש-Windows היא המוקד שלה, לפחות לא כרגע.
מתנהלת כמו קהילה
המבחן האמיתי שאפל תתמודד עם Swift במקור פתוח הוא שילוב בקהילת המפתחים הקיימת של Swift כמו גם בקהילות הקוד הפתוח הרחבות יותר.
אפל אומרת שמודל הממשל שלה עם Swift יהיה דומה לאופן שבו מנוהל המהדר LLVM (זה הגיוני שכןהיוצר של סוויפטהוא גם המחבר המקורי של LLVM) שבו יהיו בעלי קוד שיפקחו על היבטים מסוימים של הפרויקט.
נכון לעכשיו, בעלי הקוד האלה הם עובדי אפל, אבל זה ישתנה עם הזמן והתוכנית היא ליצור בעלי קוד חדשים על סמך הכשרון והתרומה - ולא על המעסיק - כפי שכרגע זהה עם LLVM.
ובכל זאת, זה יהיה חשוב לאפל להיות פתוחה עם הקהילה הרחבה יותר שאינה אפל - שלא לדבר על הקאדר של מפתחי Swift - כשהיא בונה את השפה.
כאשר חברות גדולות מנווטות פרויקטים בקוד פתוח, לעיתים קרובות עלולות להיות התנגשויות בין גחמותיו של המפקח התאגיד לבין הצרכים של הקהילה הגדולה.
ראינו את זה מתנגן בעבר באפל עם WebKit. מנוע העיבוד שמפעיל את רוב האינטרנט מנוהל על ידי אפל, אך סולק על ידי גוגל ב-2013 בגלל חילוקי דעות לגבי עתידו.
החדשות הטובות עבור Swift הן שמכיוון שהיא חולקת כל כך הרבה שחקנים דומים לצוות שמאחורי LLVM, נראה שההבנה של קוד פתוח - במיוחד ברמת השפה - טובה יותר.
TL;DR
השורה התחתונה היא שלהיות Swift קוד פתוח טוב לאפל, טוב למפתחי Swift וטוב לתוכנות קוד פתוח בכלל.
אם אפל באמת רוצה שסוויפט תהיה שפת התכנות של 20 השנים הבאות, זה צעד חשוב כדי שזה יקרה.
ניוזלטרים אלה עשויים להכיל פרסומות, עסקאות או קישורי שותפים. בלחיצה על הירשם, אתה מאשר שאתה בן 16+ ומסכים לנותנאי שימושומדיניות פרטיות.