קיבלתי את האימייל הבא מהצוות שמנהל את אתר ההרחבות של ג’ומלה, שאומר בקצרה שמ 1.7.2009 רק חבילות ברשיון GPL יכללו במאגר ההרחבות של ג’ומלה.
הוספתי את פיירסטטס למאגר ההרחבות לפני שנתיים וחצי, והמערכת קיבלה יופי של תגובות ממשתמשי ג’ומלה.
מכיוון שפיירסטטס לא משוחררת תחת GPL, היא כבר לא מופיעה במאגר.
בבדיקה מול גוגל-קש, מספר ההרחבות במאגר ירד מ4554 ל2990, ירידה של 33%.
לדעתי זו חוצפה ובריונות של של ג’ומלה לדרוש ממפתחי ההרחבות לשנות את הרשיון, וויתרתי על שרותי אתר ההרחבות של ג’ומלה (שזה די חבל, כי הוא הכיל 21 ביקורות על פיירסטטס, רובן המכריע מאוד חיוביות).

האימייל, תגובתי למטה:

Dear “Omry Yadan”,

We at the Joomla Extensions Directory want to remind you that, as announced 6 months ago, on 1 July are going to change the directory policy to list GPL Extensions only. As always, commercial and non commercial extensions are welcome on JED as long as they use the GPL license.

The deadline for changing licenses without being unpublished is http://www.timeanddate.com/worldclock/fixedtime.html?month=7&day=2&year=2009&hour=00&min=55&sec=0&p1=103.

This change is intended for to bring it into line with the overall mission of the Joomla Project. After careful thought and reflection, the Joomla! Project determined that the Joomla! Extensions Directory should be a community resource that fully embodies the project’s values, especially freedom as exemplified by the GPL license.

Policy changes
We have implemented some policy changes to
- Enhance support of GPL developers
- Address concerns about relicensing.
We think that the best place to get an extension is from the original developer of that extension. Therefore we will not link to collections of GPL extensions that are not submitted by the original developers. These are not requirements of the GPL license but rather fall in line with our “forking” guidelines.

Forked projects

Non-GPL extensions
In order for you as developer to keep a non-GPL extension listed you need to relicense it to GPL.
You do it through to add two elements to each source file of your program:
- a copyright notice
- statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License -
http://www.fsf.org/licensing/licenses/gpl-howto.html
- adding a <license> tag to the header of the extension XML file
- including a copy of the GPL license in your distribution. This does not need to be copied to the user’s server on install, but must be included in the distribution.

Note for GPL extensions:

- You need to state on your website that the extensions are distributed with the GPL license
- You can’t add any conditions that restricts or contradicts the GPL license.

We thank you for your patience during these transitions. We will  extend any assistance possible to making the transition as painless as possible for everyone involved. The project is committed to providing the information and help that developers need in order to relicense (or to license for the first time, if there is no current license).

The JED editors and members of the Core Team and Open Source Matters board are ready to advise or assist any developer who would like this help. If you have any questions about licensing or want help, then you can contact OSM with the following email address license@opensourcematters.org or the JED editors
team@extensions.joomla.org

Some frequently asked questions

What if I have some GPL and some non-GPL extensions?

This policy refers only to those extensions listed in the JED. Your GPL extensions are permitted to be listed on the JED but your non-GPL extensions are not.

Where can I get information about how to license my product using the GNU GPL?

Every copy of Joomla includes a copy of the GNU GPL with instructions for licensing in the license.php file. Instructions are also available from the Free Software Foundation.

All you need to do is add two elements to each source file of your program: a copyright notice (such as “Copyright 1999 Terry Jones”), and a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License. (Free Software Foundation)


Can I use GPL v3 to license my extension?

Yes. In particular, you may need to use GPLv3 if you rely on certain third party libraries or APIs for your extension.

Can I use libraries in my GPL extension that are GPL compatible?

Yes.

What GPL version is Joomla! licensed under?

Joomla! is licensed under GPL version 2 or later.

Why are only GNU GPL licensed extensions being listed?

The simple answer is, making the JED a GPL only resource is the easiest and most practical solution. It frees the JED team from having to investigate or worry about licensing issues. It frees OSM from having to create and maintain a list of one or more acceptable licenses. When you break it down, other licenses were created because they opposed one or more parts of the GPL. The only license that truly embodies the spirit of the GPL is the GPL. Throughout the Open Source world, there is plenty of disagreement over what that spirit is and there is even more disagreement over what licenses are compatible and incompatible. In the end, our list of compatible licenses might be very different from yours. Our list of licenses that share the spirit of the GPL will most certainly be different than yours. So, we could waste months of time researching a list and debating which licenses should be included and excluded or we can make it simple and easy to understand for the community, the developers, and the JED team so that we can use those precious months to focus on the real point of this project: making great software.

Can I use a GPL compatible license?

The JED will only list extensions licensed using the GNU GPL.

What if I think my extension doesn’t violate the Joomla! license?

This is a policy in favor of software freedom and the mission, vision and values of the Joomla! Project, not one about technical issues in licensing.

What does this mean for enforcement of the Joomla! license more generally?

Enforcement of the Joomla! license is a separate issue from the policies of the JED.
If you have relicensed in recent days, thank you for your cooperation.

תגובתי:

First of all, I am both a user and a developer of several open source projects (some of which are using GPL, although I generally prefer BSD now because it puts less constraints on the end user).

the way I see it, you are trying to FORCE me to change my license, and I find this unacceptable.

FireStats is not a Joomla plugin, it’s a full fledged application that happen to support Joomla (and many other systems).

If I will dance to the tunes coming from WordPress, Jooma,Drupal or any other supported app, I will never get anywhere.

I am sorry, but I have no intention of changing my license.

feel free to remove FireStats from the Joomla extentions directory.

if I decide to re-license it under GPL I will list it again.

it is a pity because FireStats got great feedback from the Joomla community, but I am not going to step over my principles because of this.

the license under which I decide to release my software if my own decision, my mine alone.

Omry Yadan,

FireStats developer.

לפני כעשרה ימים קיבלתי בדואר מעיריית גבעתיים מכתב שמתריע בפני צריכת מיים מופרזת שטוען שבין ה16/4 ל15/5 צרכתי 20 קוב מים.
לא בדיוק ידעתי כמה זה 20 קוב, אבל ידעתי שלא סביר שאני צורך יותר מדי מים כי אני גר לבד בדירה, אין לי מכונת כביסה ורוב הזמן אני בכלל לא בדירה.
כדי לוודא שאין לי נזילה בדקתי שכאשר הברזים בדירה סגורים השעון עם המספר שהם ציינו במכתב לא זז, ואכן הוא לא זז.
חשבתי לעצמי, טוב – נחכה לחשבון הארנונה הבא ונראה כמה זה נורא.
אתמול ראיתי באיזה פורום שקוב זה 1000 ליטר וחשבתי לעצמי:
שיט, אין מצב שאני משתמש ב20,000 ליטר בחודש, פשוט אין.
בדקתי שוב את השעון, הפעם פתחתי ברז בבית והלכתי לראות איזה שעון מגיב.
לא השעון שדווח במכתב!
התקשרתי לעיירית גבעתיים, ומסתתבר שהם החליפו שעון לשכן לפני כמה חודשים וביצעו טעות ברישום.
הבחורה הנחמדה שמה לב מיד שאצלי היתה קפיצה משמעותית בשימוש במים מאז ההחלפה של השכן, ואצל השכן היתה ירדה משמעותית, ותיקנה את הרישום.
למרבה המזל/הצער לא שילמתי אפילו פעם אחת חשבון מים שאינו שלי, ולכן לא אקבל זיכוי ;) .
המסקנה:
עייריות עושות טעויות לפעמים ושווה להיות ערניים.

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

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

אפל עושה הכל כדי שמשתמשי לינוקס לא יכולו להשתמש באייפון ובאייפוד טאץ’ בלי לעשות שמיניות באוויר (עיין ערך : להתקין חלונות במכונה וירטואלית).
הפרוטוקול שמעביר את הנתונים לאייפון/איי-טאץ’ מוצפן בSSL, וניחה זה (על זה עוד התגברו) – המכשיר מכיל אלגוריתם hash סודי שמונע מתוכנות שאינן iTunes (ימח שמה) להעלות קבצי מוסיקה.

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

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

    אפל מעסיקה סוללות של עורכי דין שמחפשים את מי לדפוק באינטרנט.
    למשל, וויקי שעודד דיון בהנדסה לאחור של הhash הסודי של אפל קיבל מכתב איום מאפל בטענה שהוא פוגע ב”FairPlay” – מנגנון הDRM של אפל (ולפי חוק הDMCA המפגר אסור לבצע הנדסה לאחור של מנגנוני הגנה על זכויות יוצרים).

    עוד פרטים פה.

    נא לשדרג בהקדם ל1.6.2.

    אם יש משהו שאני שונא, זה שמכניסים לי יד לכיס בלי לשאול אותי ושולפים משם שקלים יקרים מפז.
    הזמנתי חבילה עמוסת חלקי אלקטרוניקה מJameco, בעלות כוללת של 179.78$.
    די ציפיתי לכך שאצטרך לשלם מכס, ולא התבדתי:
    אבל מה, נראה שסכום המכס התנפח לו קמעה, קודם כל – הערך לצרכי מכס, מה שמכונה CIF עומד על 987.61 שקלים, לא ברור לי למה.
    התיאור של השורה היא “ערך לצרכי מכס (CIF) כולל ביטוח והובלה בשקלים”.
    למה אני צריך לשלם מכס על ביטוח והובלה?

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

    עמלת שחרור ממכס קולקטיבי חייב : 60
    עמלת השתתפות באגרת רשימון : 30
    עמלת דמי הקצאת אשראי : 20
    מע”מ : 17.05
    סה”כ : 127.05

    ביחד עם המכס : 153 + 127.5 = 280.10 (העיגול במקור).

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

    יש לי עוד חבילה בדרך, ואני בטוח שאני אתעצבן עליה לא פחות.

    שינאה.

    עדכון:
    מצאתי עצומה שדורשת ביטול של העמלות האלו, אם זה מעצבן אתכם כמו שזה מעצבן אותי, חיתמו.

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

    וויב

    • אפשרות לפצל שיחה לכמה קווי שיחה בקלות (Threads)
    • צ’אט חי, כמו בימי הבבסים (רואים מה האדם השני מקליד בזמן שהוא מקליד).
    • אפשרות לחבר אדם נוסף לשיחה בדיעבד על ידי הוספה שלו למשתתפים, הוא יוכל לראות את השיחה מההתחלה, כולל באמצעות מצב ניגון שמנגן את השיחה בשבילו צעד אחר צעד כאילו הוא השתתף בה מההתחלה.
    • אפשרות להגביל גישה להודעות למשתתפים מסויימים (מסרים פרטיים)
    • תמיכה בגרור וזרוק כדי להצמיד תמונות (וקבצים באופן כללי) להודעות, נכון לכרגע זה דורש גוגל gears, אבל הכוונה היא לדחוף את היכולת הזו בהצעה לHTML 5.
    • אפשרות לשתול שיחה בקלות בתוך בלוג (Embed), מכיוון שהשיחה מאוכסנת בשרת מרכזי זה לא משנה אם מגיבים מהבלוג אם מתוך Wave, היא תשאר שיחה אחת.
    • כל שיחה יכול להיות בעצם מסמך משותף שכל המשתתפים תורמים לו, בדומה לוויקי, כולל פיצול ואיחוד של גרסאות (Branch and merge), כולל עריכה חיה (כמו הצ’אט החי) על ידי כמה משתתפים במקביל.

    הרחבות

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

    פרוטוקול

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

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

    מחכה בקוצר רוח שהדבר הזה יבשיל, יהיה טעים.

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

    SELECT a,b,c FROM TABLE WHERE id IN (….)

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

    הרעיון הבא שלי היה לשמור את הנתונים המעניינים על הדיסק בצורה בינרית, ממויינים לפי שדה הid, כאשר הפורמט הוא פשוט רשומה אחרי רשומה.
    ברגע שכל הנתונים בקובץ, אפשר לטעון אותו לזכרון פעם אחת, ולבצע עליו חיפוש בינארי זריז כדי למצוא כל רשומה.
    רעיון פשוט, אבל המימוש נתקל בכמה קשיים:
    נפח הנתונים המעניינים במקרה שלי הוא כ14.4 ג’יגה בייטים, כל רשומה שוקלת 24 בתים, ויש 600 מליון רשומות כאלו.
    אין הרבה מחשבים שמסוגלים להעלות כזו כמות של מידע לזכרון, בהתחלה חשבתי שנתונים ישקלו “רק” 12 ג’יגה, ולכן היה ישים לטעון את כולם לזכרון של שרת עם 16GB זכרון, אבל 14.4 ג’יגה זה כבר גבולי מדי.
    בעיה נוספת היא שג’אווה, השפה בה אני מממש את העניין – לא תומכת במערכים גדולים מכ2 מילארד איברים (גם לא בJVM של 64 ביט), ולכן מערך הבייטים הגדול ביותר שאני יכול ליצור לא מספיק גדול בשביל להחזיק את הקובץ בזכרון.

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

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

    ניצחון.

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

    The midp-build system is a generic build system for mobile java applications developed in Eclipse. it uses the Eclipse configuration files (.classpath files) to determine project dependency, build order and build classpath automatically.

    it can build any MIDlet with very little configuration.

    • The system supports complex builds with multiple outputs, for example – it’s possible to build for several products, configurations and devices in a single run.
    • The build fully support preprocessing of source code based on symbols that are defined per devices, products and configurations (or almost any combination of those).
    • The build allow fine customization of the properties contained in the JAD for each JAR+JAD pair generated.
    • The build supports signing of generated MIDlets automatically
    • The build supports including classpath resources in the generated JAR(s), and/or copying specific resources
    • The build supports local builds, based on files on the workspace (without changing them in any way).
    • The build fully supports CVS and have some untested support for SVN
    • The build supports multiple build configurations per Eclipse project (see conf.prefix)

    מבית היוצר שהביא לנו את אחמד הטרוריסט המת:

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

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

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

    FireStats icon ‏מריץ FireStats‏