מאמרים בנושא ‏תכנה חופשית‏.

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

ב־יום שלישי, 29 ביולי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, תכנה ומחשבים; ‏25 תגובות

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

לצערי, גיליתי שלהסביר במה אני מתעסק, זה הרבה יותר קשה מלכתוב אלפי שורות קוד, לדבג אותן ולשכנע אנשים להשתמש במה שכתבתי. למרות שההורים שלי משתמשים בלינוקס ביום־יום, למרות שאבא שלי עובד עם Emacs, ‏LaTex ו־g77 עוד מתקופה שאני בכלל לא ידעתי מה זה UNIX, התגובה שקיבלתי על הסברים הייתה: "בקיצור תכנה חינמית" או כדברי אבא שלי: "халява" (לא מצאתי תרגום מדויק). כמובן, שזה רחוק מהמסר שרציתי להעביר ונפלתי לאותה מלכודת תדמיתית של "חלונות לעניים" שנתקלתי בה בעבר.

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

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

  1. תכנה חופשית רעיון כללי: חופשים שלך.
  2. תכנה חופשית זאת לא רק תכנה, אלא הרבה מעבר: תכנים חופשיים, תקנים, שיתוף פעולה ועוד.
  3. מדוע התכנה חופשית טובה למשתמש.
  4. תכנה חופשית לא בהכרח חינמית, במילים אחרות: מפתחי תכנה חופשית אינם חבורה של אלטרואיסטים שעובדים למען האנושות כולה.
המשך...

סאגה על ALE130...

ב־יום חמישי, 17 ביולי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, תכנה ומחשבים; ‏5 תגובות

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

ואז ענתה לו מוקדנית נחמדה ושאלה, אם יש למחשבו האישי של ארתיום כרטיס רשת? באותה תקופה, הוא היה חייל עני. קניית כרטיס רשת הייתה עולה לו מחצית ממשכורתו החודשית. אבל המוקדנית החביבה ריחמה על החייל העני והציעה לו "מודם USB". שמח ארתיום, שלא יצטרך לבזבז הון רב כדי שמחשבו האישי יראה את אור האינטרנט המהיר. ושאלה המוקדנית: "איזו מערכת הפעלה יש למחשבך האישי?". וענה לה ארתיום: חלונות XP, חלונות 98 ולינוקס. והמליצה המוקדנית על מודם חדש ונוצץ בקופסה צהובה "ALE130".

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

המשך...

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

ב־יום שבת, 12 ביולי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, פיתוח, תכנה ומחשבים; ‏2 תגובות

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

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

  1. וורדפרס־בעברית שני טלאים: בעיית מרכאות ותיקוני עיצוב -- שניהם נכנסו. (טלאי נוצר כתוצאה משימוש במערכת).
  2. ספריית FastCGI בעיה באופן עבודה א־סינכרוני -- לא נכנס, החבר'ה שם לא מי יודע מה חביבים. (טלאי כתוצאה משימוש בספריה)
  3. ספריית SOCI תמיכה בטעינה דינמית של מודולים -- נכנס.
    הטלאי נכתב בתקווה להשתמש בספריה בעתיד. לצערי, בסוף הייתי צריך לוותר עליה בגלל בעיות רבות אחרות.
  4. ספריית FriBiDi תיקון באג בהמרת קידוד -- נכנס. (התגלה בעבודה על biditex).
  5. ‏svnkit -- מספר טלאי לתמיכה ב־OpenVMS -- נכנסו. למעשה בלעדיהם אי אפשר היה לעבוד עם svn ב־VMS בכלל.
  6. טלאי ל־lighttpd שמתקן באג המונעה העלאת תהליכי scgi ע"י השרת -- נכנס. (הטלאי הוא תוצאת הפיתוח של CppCMS)‏
  7. בקרוב, כנראה, אצטרך להכין מספר טלאים ל־asio ו־boost כדי להבטיח תמיכה טובה יותר ב־OpenVMS (זה עובד אבל מקרטע פה ושם).

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

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

רבותי, אל תשתמשו בקוד פתוח -- זה מדבק ופוגע בעתידכם המקצועי!

על FastCGI, על SCGI ועל בחירה של RoR ו־Django.

ב־יום שבת, 12 ביולי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, אינטרנט, פיתוח, תכנה ומחשבים, CppCMS; ‏0 תגובות

לאחרונה הפרוטוקול Simple CGI הופך ליותר ויותר פופולרי והופך לבחירה טבעית או אפילו ברירת מחדל של תשתיות פיתוח לאינטרנט החדשות כמו Django ו־RoR. במה מדובר? מדובר בפרוטוקול מאוד פשוט שדומה באופי שלו ל־FastCGI אבל הספציפיקציה שלו מורכבת מכמה עשרות שורות, כך גם המימוש דורש מעט קוד (רוב המימושים שראיתי לא הכילו יותר מ־100--200 שורות קוד).

למעשה הפרוטוקול הזה הוא תחליף אידיאלי ל־FastCGI עבור:

  1. שרתי אינטרנט קטנים שרוצים לחבר יישומים גנריים בקלות רבה, בגלל פשטות המימוש.
  2. יישומי אינטרנט שהמימוש של הפרוטוקול דורשת כמה עשרות עד מאה שורות קוד. בניגוד ל־FastCGI שהמימוש המלא שלו מאוד מורכב.
  3. אפשרות לכתוב רכיב תקשורת עם שרת אינטרנט בצורה מהירה ללא ספריה צד ג'. למעשה, בניגוד ל־FastCGI, אפילו לא קיימת ספריה סטנדרטית עבור המשימה.
  4. הפרוטוקל לא פחות חזק מ־FastCGI בכל הקשור לביצועים.

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

המשך...

שוחררה גרסת בטא הראשונה של CppCMS.

ב־יום שישי, 11 ביולי 2008, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏0 תגובות

אחרי כחצי שנה של פיתוח שוחררה גרסת בטא הראשונה של CppCMS תחת רישיון LGPL v2.1.

מה זה CppCMS?

זאת תשתית לפיתוח יישומי Web ב־C++‎ המספקת ביצועים יוצאים מן הכלל שלא ניתן להשיג בשימוש בטכנולגויות מקובלות.

מה המרכיבים של CppCMS?

הגרסת בטא כוללת:

  • תשתית לכתיבת יישום web ב־C++‎: ‏cppcms.
  • ספרית תבניות tmpl המאפשרת הפרדה נוחה בין הקוד לבין תוכן HTML.
  • ספרית גישה לבסיסי נתונים שונים dbixx -- למעשה מעטפת C++‎ נוחה עבור libdbi.
  • רשימת דוגמאות, בהן "מיני־פורום" המדגים את העבודה עם התשתית.

מה ייתווסף לגרסה יציבה ראשונה שלא קיים בבטא?

הרבה תיעוד שעדיין לא נכתב.

זה נורא מעניין איך אני מתחיל?

רוצים עוד?

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

העמוד הבא

העמוד הבא

דפים

נושאים