לא אותה מטרה

18/03/2022

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

כמה דוגמאות ברשותכם-

1. ספריה בלי חידושים היא ספריה מתה

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

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

וככה אנגולר2 נולדת ושוברת לגמרי את כל מה שהכרנו מאנגולר1; ויו-3 שובר הרבה עקרונות שלמדנו עליהם ב-ויו 2; ריאקט עובר מ React.createClass ל React.Component ואז ל Hooks, ואפילו כשאין ממש מה לחדש אנחנו מקבלים את ריאקט 18 שיוציא Warning אם הקוד שלכם משתמש ב ReactDOM.render במקום ב API החדש שהם המציאו. וזה בגדולים - המצב בספריות הקטנות הרבה יותר מטלטל.

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

2. מוצרי קוד פתוח שמהווים חלק ממערך עיסקי

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

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

3. סטארט אפים בקוד פתוח

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

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

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

4. חבילות זדוניות

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

רק היום עלה עדכון לחבילה node-ipc שעשוי למחוק לכם את כל הדיסק אם אתם נמצאים ברוסיה או בלארוס, כי אוקראינה.

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