סקירה: לינט, הנהלת חשבונות בקוד פתוח

שוק תוכנות הנהלת החשבונות בארץ הוא שוק לא גדול, ומי ששולט בשוק הזה הן תוכנות גדולות ומסובכות שבמקרים רבים רצות על … DOS, או על Windows. דוגמא לתוכנה שולטת: חשבשבת.

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

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

אנשים רבים אינם מודעים מדוע דבר כזה הוא מאוד חשוב: בתחרות שיש היום בשוק, ישנם הרבה פתרונות ישנים מאוד (מבוססים על אופיס 2000, 2003 עם Access) שקשה מאוד להתממשק אליהם (במיוחד אם אתה עצמאי ומפעיל שרות SaaS כלשהו ומעוניין להוציא אוטומטית חשבוניות לתשלום ללקוחות שלך. עד היום – התהליך היה ידני, היית צריך להוציא פלט משרות ה-SaaS שלך (לדוגמא – Asterix) ולהזין את המידע איכשהו לתוכנת הנהלת החשבונות, ובמקרים מסויימים היית צריך לשלם על הפריבילגיה להשתמש ב-API.

עם לינט הדברים הרבה יותר קלים, יש מסמך API פשוט שאתה יכול איתו להתממשק אפילו עם PHP או בכל שפה אחרת שיודעת לשלוח פקודות GET דרך הרשת ולהוסיף/לשנות/למחוק לקוחות, להוציא חשבוניות וכו'. דבר מעולה!

האם אני ממליץ להשתמש בתוכנה לכל עצמאי שמנפיק חשבוניות במקום הפתרונות מבוססי רשת כמו Invoice4u, icount ואחרים? כן, אבל לאט לאט..

ראשית, הייתי ממליץ להתקין את התוכנה על מחשב שלך. בין אם אתה משתמש ב-Linux או Windows יש לך חיים קלים והתקנה די פשוטה (ב-Windows זה 5 קליקים), "להקים" עסק, ולהכיר את המסכים בתפריטים. בשלב זה עדיין אין קבצי וידאו שמדריכים את המשתמשים מה לעשות ואיך, אבל מכיוון שזו גירסה המותקנת לנסיון, אפשר לשחק, למחוק ולעשות מה שרוצים. לינט גם מציעים באתר שלהם אפשרות להיכנס ל-DEMO.

מרוצה מהמשחק? כעת אני ממליץ להתקין דבר כזה על שרת VPS, בין אם אצל הספק המועדף עליך בארץ ובעולם או אצלנו ב"חץ ביז". אני ממליץ לא להתקין את זה על אחסון משותף כי בכל זאת .. מדובר בנתונים מאוד אישיים לעסק שלך ולא כל ספק מגן בצורה טובה על אחסון משותף. מספיק שהוא לא מעדכן גירסת PHP או Apache או MySQL שמתגלים בה חורי אבטחה – כדי לגנוב לך את כל המידע והדבר האחרון שתרצה זה שהמתחרים שלך יקבלו את רשימת הלקוחות והמחירים שנתת להם.

לאחר ששיחקתי עם התוכנה, הנה ההערות שלי לדברים שמומלץ לשפר על מנת שהיא תהיה בשימוש כמה שיותר רחב:

  1. יש צורך בלפשט את התוכנה. רבים מהעצמאים לא יודעים מה ההבדל בין הנח"ש דו צדדית לחד צדדית – ובהתאם "לקצץ" בתפריטים. כך לדוגמא עצמאי שמנהל החשבונות שלו עושה הכל בשבילו והעצמאי רק מוציא חשבוניות/קבלות ומנהל את רשימת הלקוחות שלו ורוצה מדי פעם דו"ח על הכנסות – בשבילו יותר ממחצית מהתפריטים מיותרים.
  2. שאפו על התמיכה בטרנזילה וב-Easycard, אבל מה עם הכי פופולרי – Paypal?
  3. יבוא נתונים מתוכנות/שרותים מתחרים: קשה יהיה לשכנע מישהו שמשתמש בתוכנה/שרות אחר בלי יבוא מסודר של הרשומות שלו מהשרות/תוכנה אחרת. כאן דווקא המתכנתים יכולים להציע שרות כזה בתשלום, ולהחליט אם לשחרר את הקוד המייבא.
  4. חישוב שורות – מומלץ להציע גם אופציה של הוספת שורות כשהמחיר כולל מע"מ והמערכת עושה חישוב אוטומטי בקיזוז המע"מ ומוסיפה אותו בשורה התחתונה (זה עוזר כשמסכמים עם לקוח מחיר כולל מע"מ ורק אז כותבים את החשבונית).
  5. אפשרויות עיצוב: אפשר לפתח שוק שלם של עיצובים (כמו שנעשה בג'ומלה, וורדפרס, דרופל ואחרים), אם מאפשרים שינוי עיצוב בצורה מסודרת. אינטגרטור שירצה להטמיע את המוצר ולקבל תשלום על האינטגרציה לדוגמא – עיצוב יכול להטות את הכף אם לקחת את המוצר או לא.

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

כל הכבוד על היוזמה!

הצלחה ללינוקס ומיקרוסופט מחייכת, ושאלה פרסומית

אחת הפנטזיות שיש לחובבי לינוקס רבים היא הפנטזיה שכולם (או כמעט כולם) ירדו מהשימוש ב-Windows ויעברו להשתמש בלינוקס. בתקופת הבועה הפרועה (שנות ה-2000, זוכרים?) קמו להן מספר חברות כדי להגשים את החלום הזה. חברת Eazel קמה כדי לתת ללינוקס מראה קצת יותר ידידותי והם יצרו את המנהל קבצים Nautilus, מה שקיים עד היום ב-GNOME. חברת Ximian הוציאה מספר מוצרים כמו Red Carpet שנתן למשתמשי הלינוקס דרך קלה יותר להתקין אפליקציות מבלי להסתבך בתלויות של RPM, הם גם הוציאו את תוכנת הדואר הידועה Evolution שמתחרה ב-Outlook, והיו עוד חברות שיצרו תוכנות Desktop ללינוקס.

ולשווא. כל אותן חברות קרסו, ה"מאבק" בין KDE ל-GNOME לא הביא שמחה לאף חברת תוכנה רצינית (אבל סיפק המון ויכוחים לחובבי לינוקס ובמיוחד לחובבי ה-Free Software שלא היו מוכנים לקבל רשיון כמו QPL של Trolltech ובראשם ריצ'רד סטולמן), וגם חברות שהחלו לשווק מחשבים נייחים וניידים עם Linux ירדו מזה לאחר מכירות כושלות.

בקיצור, Linux על דסקטופ נשאר פנטזיה עד לאחרונה, כאשר Canonical קמה, לקחה הפצת Debian והוסיפה שיפורים רבים ל-GUI (בברירת המחדל GNOME אך יש גם גרסאות KDE ועוד), ודבר זה עודד ומעודד עד היום משתמשים רבים לנסות ולהשתמש בלינוקס, אבל עדיין, הרוב המוחלט נשאר עם Windows, כאשר חלק עברו ל-מק.

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

בעברית פשוטה: פתאום לינוקס נמצא אצל המון המון אנשים מבלי שהם ישימו לב לכך. כל אלו עם הגלקסי וגלקסי 2, ה-LG, HTC, מוטורולה ועוד – כל מכשיר מריץ את אותו לינוקס שרץ על שרתים ודסקטופים. יש כמובן שוני מהותי מבחינה גרפית ואפליקציות, כי גוגל השכילו להבין שמהמאבק בין KDE ל-GNOME עם X11 ההיסטורי לא יצא מאומה, אז הם לקחו את הליבה ועוד ספריות ובנו ממשק גרפי חדש שהשתנה במשך הגרסאות והוסיפו דברים רבים, אבל מתחת לכל זה עדיין פועלת ליבת לינוקס 2.6, הצליל עובר דרך ALSA, הבלוטות' עובד עם bluez, המודולים עדיין עובדים באותה דרך, וספריות רבות שרצות על Ubuntu או על כל לינוקס אחר נמצאות באנדרואיד.

לינוקס השיג דומיננטיות בשוק, בגלל גוגל. סיבה מצויינת לחייך, לא?

לא בדיוק.

אם יש לך גלקסי S2 או אם תקנה מכשיר אנדרואיד כלשהו עם שרותי גוגל מוטמעים בתוכו כולל ה-Market, בין אם זה טלפון או טאבלט, אתה מבזבז בסביבות ה-15 דולר למטרה שלא כל כך תאהב….

מיקרוסופט.

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

במקום זה מיקרוסופט עשו משהו פשוט: פנו ל-HTC ול-ASUS ולסמסונג (עם השאר הם בדיונים ו-ומו"מ או בתביעות, כמו מול מוטורולה ו-B&N) והציעו להם: תנו לנו סכום (בד"כ זה בסביבות ה-5-13 דולר) פר מכשיר שאתם מייצרים, קבלו מאיתנו רשיון לפטנטים. לא תתנו? נלך לתביעות משפטיות ארוכות, כל צד יתבע את הצורה לשנה, נערב את ארגון הסחר העולמי ובקיצור תהיה אחלה פרנסה למחלקות המשפטיות, אך הפסדים ליצרן. היצרנים (שוב, למעט אותם אלו שציינתי בסוגריים בתחילת פיסקה זו) החליטו לא לריב עם מיקרוסופט והם סיכמו עם מיקרוסופט שהיא אכן תקבל את הכסף שהיא ביקשה כל רבעון או תקופה אחרת שמסוכמת, כלומר מיקרוסופט לא רק מתחרה באנדרואיד, הם גם מקבלת מכל מכירה סכום נאה בהחלט מבלי שהיא תרמה ולו תרומה קטנה אחת לאנדרואיד או לייצור המכשירים.

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

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

השאלה שלי פשוטה: אני מייעד את החבילות האלו לא לאלו של "אני רוצה לקנות דומיין, תקים לי בלוג ואני רוצה שיהיה מישהו זמין טלפונית 24/7". אלו מוזמנים לקפוץ ל-SPD ולרכוש מהם חבילה. החבילות שבניתי מיועדות לבוני אתרים, מתכנתים, אנשי IT וכו'. מכיוון שאני מייעד את החבילות למתכנתים, האם לדעתכם כדאי להוסיף לחבילות דברים כמו Ruby on Rails האחרון, האם כדאי לשים Perl 6 (שעדיין בפיתוח)? אלו עוד דברים כדאי להוסיף לחבילות שיקלו עליכם (אם אתם לוקחים חבילה) את החיים? חשבתי להוסיף תמיכה ל-JAVA אבל JAVA אוהב המון המון זכרון, וזה לא ילך טוב בסביבת אחסון משותף, אז זה ירד מהפרק. בקיצור: הערות והארות יתקבלו בברכה.

רד-האט מציגים: איך לפספס את השוק בגדול

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

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

אחרי שהקמתי כאן בבית "מעבדה" קטנה וניסיתי את מה שרד-האט הוציאו, וניסיתי גם את הגרסאות קוד פתוח (KVM, libvirt, virt-manager וכו') וחשבתי על הדברים, המסקנה שלי היתה פשוטה:

אוי אברוך…

ראשית, אני רוצה להיות ברור: מבחינת ביצועים זה עוקף מתחרים כמו מיקרוסופט ו-Citrix/Xen! תסתכלו בתוצאות כאן לדוגמא, ותוכלו לראות שהתחרות היא בין VMWare ל-KVM שנמצא ב-RHEL גרסאות 6.0 ו-6.1. מרשים? לדעתי, בהחלט.

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

  • אם נסתכל לדוגמא בדפים של Linux-KVM (האתר לגירסת KVM קוד פתוח), נראה המון לינקים, אבל עיון בלינקים מגלה שתוכן רב כבר לא רלוונטי, חלק כתוב באופן חובבני, ובשום מקום אין תיעוד מסודר מ-א' ועד ת' כיצד לעבוד עם KVM וכיצד לעבוד עם היכולות שלו.
  • כשמסתכלים על תיעוד בחלקים אחרים (כמו libvirt) הוא חלקי מאוד, ישן וחסרים חלקים רבים. איך בדיוק עובדים עם זה?
  • דואליות: יש Virt-manager, ויש את OVirt. פרוייקט OVirt אמור להיות הגירסת קוד פתוח של RHEV, אך בשלב זה אין חבילות ממש. איך אתה בקימפול מ-GIT מבלי לדעת מי בא לפני מה? תהנה.
  • אין גירסא חינמית רשמית: אתה יכול להתקין Fedora ולשחק עם virt-manager. להגיע רחוק עם זה לא תגיע אלא אם תתחיל לשבור את הראש על המון פקודות ופרמטרים. מישהו ברד-האט חשב אולי להוציא ISO קל להתקנה כמו ש-Citrix עשו כך שאפשר בכמה דקות להתחיל להקים מכונות ולהתנסות? לא נראה לי. המתחרים לעומת זאת, בהחלט נותנים גרסאות חינמיות. גם מיקרוסופט וגם VMWare וגם Citrix.
  • יצוגיות באתר: דיאטה חזרה לאופנה? כך כנראה ברד-האט חושבים. כמות הנתונים באתר של רד-האט לגבי הצעת הוירטואליזציה שלהם מביכה בקטנותה. תנסו להשוות את זה מול מיקרוסופט לדוגמא. איך לכל הרוחות הלקוחות אמורים לקבל מידע?
  • שיווק: יש שיווק ברד-האט לגבי הוירטואליזציה? כי בקושי שומעים משם משהו. בארץ המצב יותר גרוע: מי שמשווק רשמית פה את זה (או אמור לשווק) זה מטריקס, בדיוק אותה חברה שמשווקת רשיונות ל-VMWare ול-Hyper-V. זה נחמד שהם משווקים, אבל להם אין שום יתרון ב"לדחוף" Hyper-V על פני פתרונות אחרים, כך יוצא שרק אם תדרוש מפורשות RHEV ותיפול על סוכן מכירות שמכיר את המוצר, תוכל לרכוש.
  • תמיכה: יש חיה כזו? אם כן, מי תומך? אני לא מכיר אפילו אחד שממש מכיר RHEV ויודע לתמוך.
  • תצוגה גרפית: רד-האט טוענים שבגירסה 3 הממשק משתמש "שופר". בי נשבעתי כי ניקיתי את משקפיי היטב והשינויים שראיתי היו מינוריים. הממשק עדיין סיוטי כשמשווים אותו מול הממשקים של המתחרים. אולי כדאי לפתר את איש ה-UX ולהביא מישהו שאמור להבין שמי שישתמש בזה הוא קודם כל בנאדם ולאו דווקא גאון?
  • התממשקות: לפחות לפי המצגת שהוצגה באתר Ovirt, השפה שאתה יכול להתממשק ל-RHEV זה .. פייטון. יופי רד-האט, מה עם שפות יותר פופולריות כמו Perl או PHP? אולי אפילו BASH לדברים קטנים?

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

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

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

זוכרים את ה-NOOK?

כתבתי בעבר פה בבלוג על ה-Nook Color ואיך הוא אחד המכשירים הכי זולים בשוק ויחד עם זאת הוא אחד המכשירים הכי טובים ל-Hacking, במיוחד כשמותקן עליו Cyanogenmod 7.

מאז עברו מס' חודשים, הפיתוח של Cyanogenmod המשיך ועתה ה-Nook Color, תאמינו או לא, נותן הרבה יותר. הנה כמה דברים:

  • המהירות הרשמית של Nook Color היא 800 מגהרץ, שזה לא רע, אבל מצד שני שמריצים עליו אפליקציות קצת כבדות, מיד ניתן להרגיש שה-Nook בקושי "סוחב". עם הגרסאות החדשות (Nightly) של Cyanogenmod, ניתן לעלות למהירות מרשימה של 1.2 ג'יגהרץ והסוללה לא מתחממת והביצועים יציבים לחלוטין. תוספת ה-400 מגהרץ בהחלט מורגשת ולפחות מנסיוני, ה-Nook Color מגיב באותה מהירות שטאבלט אחר מגיב.
  • וידאו: ה-Nook Color לא מגיע עם תמיכת מפענחים (Codecs) טבעית מרשימה. על הדף זה נראה טוב מבחינת מפרט, אבל בתכל'ס בשטח, תמיכה של XVID/DIVX ושל H.264 (יותר מפרופיל Base) לא היתה קיימת. כשהייתי רוצה לצפות בבית, הייתי צריך להשתמש ב-VLC במחשב כדי לשדר ב-Stream את הוידאו, אבל השידור של VLC הוא די גרוע (אין בשידור "ידיעה" של Key frames, כך שמריצים, מקבלים מס' שניות של קוביות בצבעים שונים). עם Cyanogenmod nightlies יש כבר תמיכה עם ה-DSP (כלומר לא בתוכנה) בפורמטים האלו, כך שפשוט אפשר לזרוק קובץ לכרטיס המיקרו SD (או להשתמש באפליקציית Samba Share) ואפשר לצפות בלי שום בעיה מבלי להפסיד אפילו פריים אחד. מעולה!
  • יש 2 דברים שחסרים ב-Nook Color שלא מאפשרים שיחות: מיקרופון ומצלמה. לא עוד. בשלב זה יש תמיכה גם למיקרופון USB וגם למצלמות USB (כמו המצלמות של מיקרוסופט), כך שכל מה שנותר לעשות הוא לחבר, להתקין סקייפ ולשוחח.
  • ואם דיברנו על חיבור ציוד USB, עכשיו ה-Nook Color תומך במצב USB HOST. מה זה אומר? שניתן לחבר אליו ציודים מבוססי חיבור USB וכל עוד הציוד לא לוקח יותר מ-100 מיליאמפר חשמל ודרייבר מקומפל בקרנל, הוא ירוץ, אז יש תמיכה בעכבר, במקלדת, ב-GPS, בחיבור סריאלי ובעוד דברים. יש גם אפליקציה קטנה ל-Nook שמאפשרת העברה ממצב USB רגיל ל-Host mode, וגם אפשר להטעין את ה-Nook תוך כדי שימוש בחיבור USB. מה רע?
  • מבחינת תלת מימד ומשחקי תלת מימד, Nook Color מגיע עם דרייברים מאוד גרועים. אחד המפתחים של Cyanogenmod החליף את הדרייברים לגרסאות מעודכנות, והפלא ופלא – ביצועי הגרפיקה הרבה יותר משמעותיים, מה שאומר שמשחקים כמו Fruit Ninja או Cordy פועלים מצוין וכמות הפריימים המוצגים הרבה יותר גדולה.

כבר זמן רב אני חושב לרכוש טאבלט, אבל המחיר כרגע אינו מצדיק זאת לדעתי. בשלב זה ה-Nook Color שלי עושה כל מה שטאבלט אחר עושה (למעט להריץ את HoneyComb אבל זה בגלל שגוגל לא שחררו את הקוד) רק בצורה מוקטנת יותר. המקלדת הוירטואלית היא מאוד גדולה ונוחה ועכשיו כבר אפשר לראות סרטים (אגב, יש אפליקציה גם להגביר ווליום מעבר ליכולות הרגילות של הנוק) ולהנות מהכל במחיר של 200$. אולי כשיצאו טאבלטים מבוססי Kal-El של nVidia, זה יהיה מעניין הרבה יותר (אגב, ממה שאני שמעתי ולא פורסם – XOOM-2 של מוטורולה לא יהיה מבוסס על צ'יפים של nVidia).

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

טיפ: Shell דרך ה-Web

כל פרילאנסר (שמכיר Linux), כל איש לינוקס (במיוחד אנשי סיסטם) מכיר את הסיטואציה הבאה: אתה נמצא לך אי-שם מתעסק בעניינך הפרטיים, כשלפתע לקוח מתקשר בהיסטריה: "האתר נפל!", "האפליקציה לא עובדת!", "תציל אותי מיד!".

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

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

בקיצור, מצב בעייתי. לא קורה הרבה, אבל כשזה קורה, מזיעים המון.

לאלו שלא מכירים, אני מעוניין להציג אפליקציית web נחמדה ושמה: Shell In a Box. מה שהאפליקציה הזו עושה זה משהו פשוט מאוד: מדמה טרמינל לינוקס (xterm ליתר דיוק), ומאפשרת לך להתחבר דרך ה-web לשרת שלך. אתה נכנס לכתובת ומקבל פרצוף מוכר: Login prompt. האמולציה עצמה היא אמולציה מעולה, כולל תמיכה בדברים כמו CTRL Z, CTRL C ועוד, יש לה תמיכה לחיצים, אפשר לערוך איתה קבצים מבלי לשבור את האצבעות בקיצורי דרך שהיו ב-Solaris, ומנסיון שלי איתה, פשוט כיף לעבוד איתה.

האפליקציה עצמה פותחת פורט 4200, ומאפשרת חיבור דרך http רגיל ו-https עם תעודת SSL (אם יש לכם). היא כוללת אפשרויות רבות (שאפשר לראותם כאן), כולל תמיכה בפורטים אחרים, תמיכה וביטול ביפ (אודיו ו-ויזואל). האפליקציה רצה כ-Daemon, אך אפשר להריץ אותה ב-CGI ש"ימות" בתום שימוש לדוגמא. דבר חביב על אוהבי אבטחה.

שיחקתי עם האפליקציה ותיקנתי בה מס' תיקונים פשוטים, כך שהיא יכולה לרוץ על פדורה 15 וגם על סנטוס 5.6.  לאלו המעוניים לרוץ ולהתקין, כאן נמצא קובץ ההתקנה עבור פדורה 15, כאן עבור CentOS וכאן יש קובץ ה-SRPM לאלו שמעוניינים לקמפל וליצור חבילות חדשות להפצות כמו SuSE ואחרות (לחובבי האובונטו, דביאן – זה נמצא ב-repository שלכם. אגב, הקרדיט לקובץ SPEC לא מגיע לי אלא לבחור ששם את זה כאן).

מטבע הדברים, פורט 4200 הוא לא בדיוק פורט סטנדרטי ובחברות רבות לא תוכלו לגשת לשרת ולפורט הזה. מה עוד שפורט נוסף פתוח הוא לא בדיוק דבר נחמד וטוב מבחינת אבטחה. לשם כך, נשתמש במודול Proxy של אפאצ'י, כדי שאפאצ'י ישמש כפרוקסי לאפליקציית Web, כך שדרך פורט 80 (או 443 אם אתם משתמשים ב-https) נוכל לגשת ל-Shell.

רק מה, אם נפתח את ה-Shell לגישה לעולם, גוגל מהר מאוד יסרוק את המחיצה, וסקריפטים עולצים קופצים ינסו להיכנס דרך הכניסה הזו. לשם כך נוסיף שכבת אבטחה מינימלית של אפאצ'י, מה שנקרא Auth Basic שתבקש מאיתנו שם משתמש וסיסמא לפני שבכלל נקבל את הדף לעשות Login.

אז ראשית ניצור קובץ conf לאפאצ'י. בפדורה/סנטוס מכניסים את הקובץ בתוך תיקיית etc/httpd/conf.d/ ונקרא לזה shl.conf

ומה יהיה לנו בקובץ shl.conf? הגדרות של הפרוקסי ושל אותנטיקציה בסיסית. מכיוון שוורדפרס לא אוהב כל כך שורות טקסט של קונפיגורציה, שמתי את הדברים ב-Pastebin לעיונכם כאן. ה-RAW (החלק התחתון בדף בקישור) הוא הקובץ האקטואלי שאתם יכולים להעתיק לתוך shl.conf

עכשיו יש צורך ליצור קובץ htpasswd. (עם הנקודה). לשם כך ניכנס לאותה תיקיה ששם ימצא הקובץ שלנו (שימו לב שהמיקום אמור להיות בתוך שורה 5 כפי שניתן לראות בקישור), ונכתוב את הפקודה:

htpasswd -c .htpasswd myuser (כאשר ה-myuser הוא שם המשתמש שתבחרו). התוכנה תשאל אתכם לסיסמא ותבקש אותה שוב לוידוא (כדאי לשים סיסמא חזקה, לא משהו שכל אחד יכול לנחש).

עתה, לאחר שהתקנתם את ה-RPM וכתבתם קובץ זה, יש צורך לאמר ל-Apache לטעון את הקונפיגורציה מחדש. אין צורך לאתחל מחדש את שרת האפאצ'י. שורת service httpd reload תספיק.

עתה פיתחו דפדפן, הכניסו את כתובת האתר שלכם עם תוספת shell/ לדוגמא: http://mysite.com/shell ואם הכל תקין, המערכת תבקש ממכם שם משתמש וסיסמא שהכנסתם מקודם. אם השלב הזה עבר, אתם תקבלו סמן שובב מקפץ (אם הסמן האדום חלול, אז ה-TAB אינו בפוקוס. לחצו על הדף עם העכבר). הכניסו שם משתמש וסיסמא (לא מומלץ root!), ואם הכל תקין, תקבלו shell רגיל להנאתכם.

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

תהנו.

טיפים לפרילאנסרים

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

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

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

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

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

ב-2 הדוגמאות האלו הבעיות יכולות לקרות ממגוון נסיבות שהלקוח כלל לא מכיר אותן. בשרת דואר לדוגמא, יכול להיות שכתובת ה-IP חסומה ע"י RBL והכתובת נכנסה לרשימות שחורות. יכול להיות שיש בעיה בהגדרות וכל המייל תקוע ב-Queue, יכול להיות שעודכן רכיב אחר שגורם לשרת לעשות Segfault, יכול להיות שרכיבים כמו Spamassassin או ClamAV (לדוגמא) לא פעילים כרגע, ויכולות להיות סיבות נוספות. חלק מהסיבות אפשר לפתור אותן תוך דקות וחלק אחר מהסיבות יצריך "חפירה" לעומק לבדוק רכיב רכיב מה הבעיה. בדוגמא השניה המצב הרבה יותר מסובך: מה זה איטי? לעומת מה איטי? יכול להיות שיש בעיות דיסקים, זכרון מלא, פאקים בקוד האתר מהזמן האחרון, שרת SQL חנוק ועוד שלל סיבות. שוב, אולי יהיה אפשר לתקן תוך דקות, אולי יהיה אפשר לתקן תוך שעות או ימים, תלוי מהי התקלה האמיתית.

פתרתם את הבעיה? אנו עוברים למסוכה הבאה: בד"כ ללקוח יש איש טכני ואותו איש טכני אמור להיות מרוצה מהעבודה שלכם על מנת שיאשר לכם תשלום. יש בעיה קטנה אחת: "מרוצה" זו הגדרה מאוד מעורפלת. האחד יכול להיות מרוצה מזה שתיקנתם אפליקציה סוררת והשני, פרפקציוניסט שכמוהו חושב שעדיין המכונה לא מגיבה "כמו שצריך". מה זה "כמו שצריך"? שאלה מצויינת. אין לאף אחד תשובות על כך. יותר מזה, לפעמים יש בעיה "לרצות" את האיש הטכני, הנה דוגמא פשוטה: תרימו שרת אפאצ'י עם 4 ג'יגה זכרון ופתחו עליו 10000 חיבורים במקביל שכולם מתחברים לדף PHP דינמי. יזוז לאט? כן. צריך בשביל שירוץ טוב יותר זכרון, מערכת דיסקים יותר רצינית וכו'. אתם יכולים לספק את זה? לא, ואם אתם חושבים שההסבר הלוגי שצריך להרחיב ו/או להוסיף מכונה ירצה תמיד את אותם אנשים טכניים, אתם טועים, וראיתי כבר מקרים שאנשים לא קיבלו כסף למרות שהם הסבירו שזו לא בעיה שלהם.

עברנו את המסוכה הזו והגענו סוף כל סוף לקבלת כספים מהלקוח, רק שהלקוח משלם בשמחה .. בתנאים של שוטף + 60, כלומר אם היום ה-8/7, אתם תראו את הכסף ב-30/9 ואולי אי שם באמצע אוקטובר (מנהל החשבונות בדיוק יצא לנופש בלבנון). שכחתם לסכם את התנאי שאתם מעוניינים בתנאי תשלום של שוטף-עכשיו-תעביר-לי-צ'ק. קורה, נכון?

אז איך אפשר לפתור את הבעיות האלו? בעזרת 2 דברים חיוניים:

  1. ראשית, לא מהמרים על פתרון בעיה ב-X שעות סתם כך. ספרו ללקוח כמה אתם לוקחים לשעה ובקשו מהלקוח מספר דקות עם המכונה. בדקו באותם דקות מה בעצם התקלה בצורה די כללית ואל תנסו לתקן את התקלה (אחרת לא תיראו שקל). אם לקוחות נעים באי-נוחות בכסא לגבי הבקשה שלכם תאמרו להם את האמת הפשוטה: אם אני רואה את התקלה ומהיכן היא מגיעה, אני יכול להעריך נכונה כמה שעות יקח לי לתקן והלקוח יכול לחסוך כספים לעצמו אם יקח זמן קצר לתקן אותה. אם זו לא תקלה אלא פרויקט שצריך לעשות, נסו לחשוב על איש לינוקס עם ידע בינוני כמה זמן יקח לו (כן, למרות שאתם סופר-מקצועיים ומהירים). הסיבה לכך פשוטה: אין לכם מושג ירוק מה יעכב אתכם בעבודה על הפרוייקט וחבל שתאמרו שתגמרו את העבודה ב-3 שעות ותשקיעו 8 שעות. עדיף לאמר שיקח 7 שעות ואולי תפסידו שעה מאשר להפסיד כסף של 5 שעות. לאחר שהלקוח הסכים וחתם איתכם על מסמך, אפשר לפתור את התקלה.
  2. חוזה. אני מודע לכך שרבים מעמיתיי לא אוהבים חוזים, אבל חוזה זה הדבר שיציל אתכם אם יהיו בעיות. מה צריך להיות בחוזה? כמה דברים:
      1. פירוט מלא של הבעיה (אם מדובר בפרויקט תיקון תקלה לדוגמא), כולל מה שאיבחנתם. חשוב להכניס את כל הנקודות שאפשר (אם צריך, שימו זאת בנספח נפרד וציינו זאת בהסכם)
      2. מה הדברים שאתם הולכים לתקן, להגדיר, למחוק, להוסיף. שוב, כמה שיותר פירוט, יותר טוב. אם אפשר, כדאי לציין מה התוצאה הסופית שתהיה.
      3. תנאי ה"ריצוי": אתם תקבעו מה זה לקוח מרוצה. אתם צריכים לתקן בעיה כזו וכזו ולא בעיה אחרת (קשור לסעיף ii). יש עוד בעיות? בשמחה, בתשלום נוסף.
      4. אחריות: כמה זמן יש ללקוח לבדוק את המערכת שלו ואם הוא מוצא בעיה, אתם תתקנו אותה ללא תשלום נוסף. יום? יומיים? בוני אתרים שוכחים סעיף זה ואחר כך הם "נתקעים" לזמן רב בטיפולי תקלות (שלא היו בעבר) כי הלקוח מתלונן קשות והם רגישים, אז הם עושים לו ג'סטה, ועוד אחת, ועוד אחת.. לכן, חשוב לציין כמה זמן האחריות שלכם. עברה האחריות ויש תקלה? זה טיפול נפרד בתשלום נוסף.
      5. תנאי תשלום: שוטף? שוטף+30? שוטף+60? תשלום מיידי בסיום הבעיה? חשוב לכתוב זאת. חשוב לכתוב גם איך יבוצע התשלום (פייפאל, צ'ק, העברה בנקאית).
      6. אי עמידה בתשלום: הנה משהו שפרילאנסרים רבים פוחדים לבקש. חברים יקרים, אם אתם שוכרים דירה, פתחו את החוזה שלכם וקראו אותו. במידה ולא שילמתם בזמן, אתם משלמים תוספת על השכ"ד. אין שום סיבה שלא תיגבו תוספת אם הלקוח מאחר לכם לאחר תקופה (נניח שבועיים או חודש) כמה אחוזים נוספים. להזכירכם, כשאתם מוציאים חשבונית אתם משלמים עליה מס וברגע שהיא לא משלמת, אתם מכניסים את עצמכם לגירעון בתקציב שלכם.
      7. סייגים: אם יש ללקוח שרת ענתיקה ממלחמת העולם השניה והוא מצפה שלאחר ההגדרות שלכם הוא יעבוד כמו שרת-על, כדאי לציין כאן שהדברים לא יקרו ומה כן יקרו. אתם מתקנים שרת אפאצ'י, זה לא אומר שהוא פתאום יעבוד פי 10 יותר מהר, כדאי לציין זאת.

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

על הדברים האלו אני יאמר משהו פשוט: אל תקנו את זה. החברה לא קיימת מהיום, יופי. אתה יודע מה המוסר תשלומים של אותה חברה? האם יש נגדה תביעות/עיקולים או תזרים כספים גרוע? (הנה, בזמן שאני כותב את הפוסט הזה, תראו מה כותבים על "פנדה מחשבים". חושבים עדיין לעשות איתם עסקים?). לגבי עניין שתקבל עוד פרוייקטים – הכל תלוי בפקטור המחיר שלך. אם אתה תגבה 300 שקל לשעה ותעשה עבודה מצויינת ואני אציע לעשות את אותה עבודה מצויינת ב-200 שקלים, אתה לא תקבל ולו שעה אחת נוספת מאותו לקוח, כי לקוחות ברוב מוחלט של המקרים מסתכלים על הסכום בחשבונית.

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

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

טיפ: שדרוג וורדפרס ל-3.2 עם CentOS 5.5/5.6

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

אם אתה משתמש ב-CentOS 5.5 ללא פאנל כמו cPanel (שזורקת לכל הרוחות את כל ה-RPMS של Apache, PHP, MySQL וכו') ואתה לא נוהג לקמפל במכונה שלך, תמצא את עצמך בבעיה קטנה: גירסת PHP האחרונה שיש שם היא 5.1.6 ו-וורדפרס החדש דורש מינימום גירסה 5.2.4.

מה האפשרויות שיש?

  • אפשרות הראשונה היא להתקין את PHP 5.3 דרך ה-RPMS שנמצאים ב-RPMFORGE. החבילות נקראות php53 עם המשך שם (כמו php53-common). הבעיה היא שאינך יכול להשאיר גם את ה-PHP הישן וגם את PHP 5.3 למערכת, תצטרך להסיר את הקודם ולהתקין את הישן, שזה, איך לאמר בעדינות, קצת בעייתי. (אפשר לפתור זאת בכמה שורות סקריפט פשוטות אבל יש פתרון יותר אלגנטי בהמשך).
  • אפשרות שניה היא לקמפל PHP 5.3 הגירסה האחרונה או PHP 5.2, אבל אז צריך להכניס את כל סביבת הקומפליציה למכונה שלך בשביל לבצע זאת (אפשר כמובן להעתיק קבצים לקובץ tar.bz2 ולזרוק לשרת, אבל אז תצטרך לשבור את הראש על קישוריות לכל מיני shared libraries וכו', צעד מעולה לשרוף זמן ולהשבית בינתיים שרת).
  • אפשרות שלישית היא אפשרות שמצאתי אותה הכי נוחה: בחור בשם אנדי בנה מחדש את ה-RPMS של PHP 5.3 תחת השמות הרגילים (לא PHP53). כל מה שצריך לעשות זה להתקין RPM שמוסיף repository, לתת פקודה להתקין PHP (מכיוון שיש לך PHP בשרת, הוא פשוט ישדרג גירסה), להפעיל מחדש את שרת ה-Apache וזהו. 2 דקות עבודה.

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

בהצלחה

שיטה חדשה לעבודה עם פרילאנסרים

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

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

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

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

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

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

  • מצב chat/phone: זהו המצב הכי נמוך, בו הפרילאנסר מתעסק בדברים שלו (או פרוייקטים משלו, גם אם הוא עובד עבודה מהבית) אך ברקע הוא מחובר לצ'אט של האתר שלכם או למרכזיה שלכם. אם מישהו נכנס לצ'אט ומבקש לשאול שאלות, הפרילאנסר מתפנה לכמה רגעים ועונה על השאלות וכנ"ל לגבי טלפון. כשמסתיימת השיחה עם הפונה, הפרילאנסר ממשיך בעיסוקיו. התשלום במצב כזה הוא פר שעה. נניח 30 שקל לשעה, הואיל והדרישה מהפרילאנסר נמוכה.
  • מצב פתיחת תקלה "קלה": לקוח פותח אצלכם תקלה במערכת הטיקטים שלכם. אם מהות התקלה היא משהו קטן (נניח שהלקוח לא יודע למצוא בממשק הוובי שלכם משהו), הפריאלנסר מטפל מיידית בתקלה. התשלום במקרה זה 30 שקל שהם יתווספו ל-30 שקלים שאתם משלמים לפרילאנסר פר שעת עבודה.
  • מצב פתיחת תקלה "כבדה": יש בעיה ב-MySQL שמגיב איטי, יש תקלה של too many connections, האפאצ'י מגיב בקושי. אלו דוגמאות שמצריכים כניסה למכונה (SSH לדוגמא) ובדיקה מעמיקה של התקלה. במקרים כאלו אפשר לסכם את אחת מהאופציות הבאות:
    • הפרילאנסר פונה אליך ואתה תטפל בתקלה (0 תשלום לפרילאנסר כתוספת)
    • הפרילאנסר נכנס ומטפל בתקלה (תוספת של 80 שקל לשעה, לפי הזמן שיקח לו לסדר את התקלה)
  • מצב "מכירה": אם הפרילאנסר גורם ללקוח לרכוש חבילה מכם, אתם מוסיפים לו X שקלים מעבר למה שצריך לשלם לו פר שעה.

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

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

גוגל הורידה את התמיכה ב-H.264

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

ה-H.264 הוא אחד המקודדים המתקדמים ביותר בשוק (אם כי הוא לא הכי מתקדם, אגב. בשוק המקצועי עדיין מעדיפים להשתמש בקודקים מבית אפל כשזה מגיע לוידאו מקצועי עם פחות איבוד מידע), אך רבים לא מודעים לעובדה פשוטה: כשאתה מקודד עם H.264 חומר למטרה מסחרית, עליך לרכוש רשיון מ-MPEG LA. אתה יכול לרכוש את המצלמה היקרה ביותר כיום ואם תעיין בתיעוד שלה, תראה שהשימוש בה (עם קידוד H.264) מותר אך ורק לא לצרכים מסחריים, גם אם המצלמה עולה 100,000 דולר. ארגון ה-MPEG-LA בהתחלה רצה תשלום גם על וידאו לא מסחרי, אולם לאחר מכן הוא דחה את התשלום ל-2016 וכגוגל התחילה לדחוף את פרוייקט ה-WebM שלה, הארגון הודיע כי וידאו לא מסחרי לא צריך לשלם. כל המניפולציה הזו גרמה לארגון מוזילה שלא לממש כלל את קידוד H.264 והם העדיפו להכניס את WebM של גוגל יחד עם Theora.

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

גוגל מסירה את התמיכה בקידוד H.264, אולם בתכל'ס התמיכה שהיתה בקוד לא היתה עוזרת הרבה ממילא. בשביל לשדר וידאו באיכות טובה, קידוד זה רק חלק אחד מהדברים הנחוצים. החלק השני שנחוץ זו הדרך להעביר את הנתונים ו-HTTP (השיטה שבה HTML 5 ממומש עם תגית video) אינו דבר שנותן שליטה מלאה ואיכות טובה, ועדיף להשתמש בשיטות כמו RTMP, RTSP וכו', שHTML-5 כלל אינו מתייחס אליהם. מעבר לכך, גוגל כוללת בתוך כרום בצורה מובנת Flash ופלאש כולל בתוכו תמיכה ב-H.264 (שאגב, בגירסה 10.2 שלו יתן תמיכה מלאה בפריסת וידאו בחומרה בגירסת הלינוקס שלו, לא כמו המצב הנוכחי כיום), כך שאם מישהו ירצה לנגן משהו ב-H.264, הוא יוכל להשתמש בכל מיני נגני מדיה בקוד פתוח, והם כבר כוללים את הנגן פלאש עצמו.

כיום המצב של WebM עדיין אינו זוהר. אפשר להשוות אותו ל-H.264 בפרופיל הבסיס (base) אבל כשעולים בפרופיל (hq וכו'), H.264 מנצח, אבל זה מה שיפה בקוד פתוח: יש מספיק מפתחים חכמים שמשנים את הקוד ומשפרים אותו, כך לדוגמא כשגוגל שחררו את הקוד של VP8, מפתחי ה-FFMPEG כמעט "הקיאו" מאיכות הקוד, ולפיכך הקוד נלקח ושונה מקצה לקצה, כך שבסופו של דבר ה-WebM הפך לעוד מקודד עם ביצועים הרבה יותר גבוהים (בקידוד ובפריסה) ואני מאמין שגוגל עוד תשקיע בקוד או תרכוש חברות שיש להן פתרון טוב כמו H.264 בפרופילים המקצועיים או מעבר לכך (לתשומת לב כל מיני סטארט-אפים בארץ: אם יש לכם משהו בנידון, גם בשלב בטא, פנו למאיר ברנרד, מנכ"ל גוגל ישראל ותדגימו לו. תהיו בטוחים שאם מה שיש לכם עובד, גוגל יצרו איתכם קשר עם צ'ק שמן).

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

גם נובל הלכה?

הבשורות לגבי מכירת Novell לא היו מעודדות. נובל הסכימה "להימכר" לחברת Attachmate. השמועות מדברות על מחיר של 2.2 מיליארד דולר, כאשר הזכויות על ה-Unix נשמרות ולא נמכרות למיקרוסופט.

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

נובל היתה באמת חברה שהבינה מה זה קוד פתוח, איך להתייחס למפתחי קוד פתוח, אבל לנובל לא היה אומץ לפרוץ את השוק ולחפש שווקים חדשים ודברים חדשים. רד האט הוציאו את פדורה? נובל הגיבה ב-Open SuSe. השוק רוצה פתרונות וירטואליזציה? נובל לוקחת את XEN ומייצרת רבע ממה ש-Citrix המתחרים מציעים. רד-האט לשם השוואה – רצו להיכנס לשוק הוירטואליזציה ברצינות, אז הם ראו את קומרהנט, וקנו אותם ב-120 מיליון דולר (לפי השמועות), ומאותו רגע רד-האט התחילו להשקיע ב-KVM הרבה יותר מאשר ב-Xen מבחינת שיווק ו"המלצות" ללקוחות שלהם (נחשו על מה מבוסס ה-RHEV של רד-האט). רד האט עשתה צעדים אחרים כדי להיכנס לשוק ה-Middleware כמו רכישת JBoss כדי ליצור דריסת רגל בשוק, והדו"חות הכספיים של רד-האט מראים שהם גודלים לא רע. הם כמובן לא מיקרוסופט או גוגל, אבל יחסית לחברה שמוצר הדגל שלה (RHEL) נמצא חינם בשוק עם תואם (CentOS), המספרים בהחלט יפים.

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

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

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

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

כמו שאמרתי בהתחלה – עצוב.