25 ביולי 2010

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


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

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

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

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

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

גם כל מה שאתה מייצר הוא לא נחשב שלך אלה נחשב של כולם ונחלת הכלל השייכים לקומונה כמובן.

אפשר לתמצת את רעיון הקומוניזם כשיתופיות קיצונית והייתי אומרת אף חולנית

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

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

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

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

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

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

קוד פתוח מאפשר את אותם חופשים כמו תכנה חופשית + אפשרות לבחור אם לסגור את הקוד או לא...

הוא מאפשר יותר חופש בחירה שמבחינתי זה יותר חופש גם אם האפשרות לסגור קוד ולהפוך קוד לסגור

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

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

בתכנה חופשית ופיתוח שלה אין פרטיות.

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

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

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

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

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

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

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

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

בקיצור קוד סגור הוא הרבה פחות חופשי.

מדד החופש קובע:
1. קוד פתוח
2. תכנה חופשית
3. קוד סגור

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

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

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

12 ביולי 2010

עוד פינגוין וקצת מחשבות על GNU GPL


הנה עוד פינגוין שעיצבתי
הפעם זה אותו פינגוין שעשיתי פעם קודמת
רק שהפעם זה הפינגוין מלאך עם עיניים ירוקות שונות וצבעתי אותו ב GIMP
גם אותו אני משחררת ברשיון FAL.


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

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

בקשר לרעיון של תכנה חופשית המוגדרת כתכנה המאפשרת 4 חופשים
1. חופש כלכלי - לכן היא חינם
2. חופש יצירה - מאפשרת לשנות אותה על פי צרכים אישיים והיא בקוד פתוח.
3. חופש מסחר - מאפשרת העתקה חוקית ואף מכירה בתשלום והפצה
4. היא שומרת על החרויות האלה ומחייבת את המשתמשים והמפתחים לשחרר את מה שהם יוצרים גם באותו רישיון של תכנה חופשית.

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

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

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

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

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

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

8 ביולי 2010

קצת פינגוינים שציירתי





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

אמ... אז ככה היות ואין הגבלה למה שאפשר לייצר... ובכל זאת חשוב לי שיהיה משהו קהילתי שכן יוכלו לעבוד איתו ...



ציירתי כמה פינגוינים שאני מקוה שיוכלו להשתמש בהם כלוגואים לתכנה חופשית למשל אם ירצו



ואני משחררת אותם ברישיון של Free Art Licence שזה בערך דיי דומה לרעיון של GPL רק באומנות נניח...



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









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






5 ביולי 2010

סוף הכשלונון בהפעלת Rayman2 בלינוקס








טוב הנה זה מתחיל


הצלחתי להפעיל את המשחק דרך הסידי.
בפוסט הקודם כתבתי שלא היה אפשרות להפעיל עכבר ומקלדת
מסתבר שזה באג שקיים הרבה זמן לחלונות XP ו 2003 אז היה צורך לשנות ל WIN98
קישור לבאג:
http://www.pubbs.net/200912/wine/62104-bug-21147-new-safedisc-v135000-and-rayman-2.html

היה גם צורך להגדיר את Dinput למצב native


הרצה של המשחק

carmit@carmit-desktop:~/.wine/drive_c/UbiSoft/Rayman2$ XMODIFIERS='' wine RAYMAN2.EXE

זהו


הכשלונון בהפעלת Rayman2 בלינוקס המשך2



טוב הפעם החלטתי לשחק קצת עם הרזולוציה וגם לנסות להגדיר כונן אחר כסידירום
חיפשתי פקודה בשם isomount ואבונטו מצא לי חבילה עם GUI נחמד של תכנה בשם gisomount
השתמשתי בGUI הזה לעגון קבצי ISO אבל אז התברר לי שבחלונות שמרתי בכלל את הקובץ של ריימן2 בצורת NRG.

אז עשיתי לו המרה לISO בעזרת הפקודה nrg2iso. בדקתי קצת את המניואל לראות את התחביר ויצא לא רע.
הוא עגן לי את זה לספריה /media

עכשיו winecfg בלשונית graphic יש לשנות רזולוציה למינימום 768 על 1024 וגם להריץ gxsetup דרך הדיסק ולהגדיר רזולוציה זהה. עכשיו יש לסמן בצקבוקס Emulate a Virtual Desktop

זה יוצר סביבה מוגדרת בחלון מוגדר של ישום חלונות וכנראה שזה מה שקודם היה חסר למשחק כדי שהוא יוכל לרוץ נכון.

בתוך הלשונית דרייבר עשיתי autodetect

הצלחתי להתחיל להריץ את המשחק שזה דיי התקדמות מהפעם הקודמת
שמעתי את המוזיקה של המשחק אבל מאיזה שהיא סיבה הוא נתקע
השתמשתי בפקודה wineserver -k
על מנת לסגור כל ישום שרץ ב wine
וניסיון נוסף להריץ את המשחק הפעם מהסידירום ישירות אחרי שהרצתי שוב את gxsetup ובחרתי באפשרות האחרת של הגרפיקה...

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

בסופו של דבר הצלחתי להפעיל ולהריץ את המשחק אך ללא אפשרות להשתמש במקלדת.

היות שיש לי בעיית חומרה במחשב ה CPU כנראה הגיע לטמפרטורה המקסימלית שמותר לו להגיע והמחשב כבה.

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

to be continue...

נ"ב

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

וגם לבדוק את האפשרות בקישור הזה לטיפול במקלדת ועכבר שלא עובדים:



http://ubuntuforums.org/showthread.php?t=843630



XMODIFIERS='' wine myapp.exe



ולדרך קישור


env XMODIFIERS='' WINEPREFIX="/home/jyaan/.wine" wine "C:\DeusEx\System\DeusEx.exe"


4 ביולי 2010

טוב מה נסגר עם SUDI GUI


בסוף החלטתי לעשות איזה פרוייקטון קטן כזה של יצירת GUI ל sudo. אף על פי שיש כאלה שחושבים שצריך ויש כאלה שחושבים שלא... בא לי לעשות את זה.

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

חבר שלי חשב שזה יראה משהו כמו חלון כזה שרואים את התוכן של מה שכתוב ב /etc/sudoers אבל אז חשבתי שזה לא רעיון טוב משום שאין כל כך הבדל בין זה לבין לערוך את הקובץ דרך הטרמינל ואז אפשר במילה לשנות מה שצריך ובאמת בישביל דבר כזה לא ממש צריך GUI כי כל אחד שמכיר את התחביר של הקובץ שמבוסס על EBNF שזה איזה שהוא תחביר שמבוסס על שפה ADA יכול לערוך את הקובץ והוא לא צריך בכלל בישביל זה GUI ואז יוצא שזה בעצם לא תורם בכלום.

אז לקחתי נייר ועט והתחלתי לעצב ממשק שימוש ואיך זה אמור להיראות...

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

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

כמובן שזה ניתן להגבלה רק ברמה של תהליכים שמותרים להרצה רק למשתמש על אז הנחתי שהרשימה של ה DENY היא חסרת כל תועלת במקרה הספציפי הזה ולכן זה לא יכלל ב GUI.

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

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

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

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

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

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

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

טוב המשך יבוא...