יום שבת, ינואר 16, 2010

ולפעמים הניסיון בקוד פתוח הוא מגרעה

מי שמכיר אותי יודע שיש לי חסרון עיקרי - אני שונא להמציא את הגלגל מחדש. במספר שנות הפיתוח והשימוש שלי בלינוקס למדתי להשתמש בהמון כלים (מIT ועד פיתוח) ורובן עם לא כולם מגיעים עם רישיון GPL או MIT/X11.
אמנם כשעבדתי כמכתנת להשכרה או בחברות שבחרו להשתמש בכלים וסביבות חופשיות הדבר היה יתרון - אם יש כבר פתרון לבצע סינכרון קבצים מוצפן (פיתוח של שחר שמש נראה לי) או שיש כבר פתרון להצפנת הRTP וביצוע סטטיסטיקה עליו אז למה לממש מחדש?! כך עברו להם מספר שנים על מי מנוחות וחיים טובים. בנוסף צברתי ניסיון בתחומים כה רחוקים שלפעמים זה נותן יתרון (תתפלאו מה ניסיון בIT מימוש מערכות מעקב וVoIP יכול לתת).

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

כן אני באמת מאמין שrsync הוא פתרון נהדר (וחבל שהמימוש שלו בGPLv3 ולא lgpl או משהוא שלא ימנע ממני להשתמש בו במוצר קנייני). האמת חשבתי לממש אותו שוב פעם ולשחרר את MIT רק אחרי שבוע של כתיבה הבנתי שזה גוזל ממני יותר מדי זמן. כן אני מאמין שמספר מאוד גדול של תוכניות צריך להכתב בשפה דוגמת פרל (או רחמנה ליצלן בPHP) כאשר יש טיפול בטקסט. וכן הרבה תוכניות יכולות פשוט להכתב בפייתון מאשר בC++ ובזמן האחרון אני אפילו רואה שימוש בC# רק בשביל דברים טרויאלים כמו זה (וכן סטודנט-מתכנת-בשקל שזה מה שהוא למד באוניברסיטה). שפה היא רק כלי וצריכים לבחור בה בהתאם למטרה. ופעמים רבות אנשים נאחזים בטכנולוגיה גם כשאינה מתאימה לצרכיהם. וככה אני מוצא את עצמי מתווכך עם מזמין עבודה שהקוד הזה עדיף עם יכתב בפרל כי יש לי כבר כמה מודלים שעושים בדיוק את מה שאתה צריך (המרה מXLS ל XML) במקום לממש משהוא בC עקום ראיתי מספיק קוד בשביל להגיד שלפעמים הקוד עקום אם משתמשים באלגוריתמים לא נכונים.

והאמת בגלל שהרבה פתרונות שאני נותן הם בעלי רישיון שימוש פתוח צריך לדבר עם עורך דין (שזה עולה כסף) וכבר ראיתי עורכי דין שנותנים יעוץ שגויי (שחברה יכולה להפיץ בינארי עם רשיון GPL ביחד עם הקוד שלה כאשר הקוד שלא משתמש בבינארי הזה). יש מספיק אנשים טובים שאינם מבינים בתוכנה חופשית אבל מתיימרים לדעת (ודוגמה מצויינת לתופעה דומה אפשר לראות אצל ik בנושא פסקל) וכך אתה מוצא את עצמך יושב וכותוב ב #GNU ומנסה לשבור את ראש מה לעשות.

האם ניתן לקחת קוד GPL ולממש מחדש תחת רישיון BSD ? האם אפשרי בכלל לייצר מימוש חדש בלי להיות מושפע (שלא יגידו שבגלל שאתה בתחום הVoIP אז אסור להשתמש בZRTP .

תגובה 1:

  1. אפשר לפנות למפתחים שפרסמו את הספריה תחת רשיון חופשי ולשאול אותם לגבי אפשרות לרכוש רשיון לא חופשי, יכול להיות שהם ישמחו, ויכול להיות שלא ... אבל כדאי לנסות.

    השבמחק