Jshint: يرجى تغيير ترخيص jshint.js وإزالة السيئ أو الشر

تم إنشاؤها على ١٤ أغسطس ٢٠١٣  ·  84تعليقات  ·  مصدر: jshint/jshint

أهلا،
هل يمكنك تعديل ترخيص jshint.js ليكون رخصة MIT حقيقية؟

"يجب استخدام البرنامج من أجل الخير وليس الشر". يمنع المكتبة من أن يتم حزمها في دبيان وربما في الريبو الأخرى حيث يجب أن تكون الكود خاليًا من الاستخدام (نعم ، حتى الشر). وبصراحة ، إذا أراد شخص ما استخدامه للشر ... حسنًا ، لا أعتقد أنه سيهتم بالترخيص :-)

شكرا

أوليفر

P2 Proposal

التعليق الأكثر فائدة

@ تحلق الغنم قرأت الموضوع. آسف على البريد العشوائي.

ال 84 كومينتر

لا أعرف ما إذا كان هذا يمكن أن يحدث على الإطلاق ، لأن الترخيص "السيئ أو الشرير" هو ترخيص البرنامج الأصلي لـ JSLint.

أعتقد أيضًا أن هذا يجب أن يحدث في أقرب وقت ممكن لأن هذا يمثل عقبة رئيسية أمام شحن أجزاء أخرى من البرامج أيضًا.

كمثال ، هذا الخيط الحزين جدًا لمراسل الأخطاء debian: http://bugs.debian.org/cgi-bin/bugreport.cgi؟bug=673727.

هذا غير ممكن بدون إزالة جميع أكواد Crockford من JSHINT. يمكن أن يحدث بالتأكيد بالرغم من ذلك.

أحتاج إلى مدخلات من شخص يفهم الأمور القانونية. (انا لا)

أنا متأكد من صحة goatslacker . يمكنك أن تطلب من كروكفورد تغيير رخصته :)

goatslacker أين يمكنني العثور على مرجع لكل التعليمات البرمجية التي كتبها Crockford كجزء من هذا المستودع؟

hellais ، يمكنك تشغيل فرق مقابل الالتزام الأول بـ jshint (والذي كان من الممكن أن يكون حيث بدأت الشوكة) ، إلى الرأس الحالي

يخبرني Git هذا:

web/jshint - [master] » git log --author="Douglas Crockford" --oneline --shortstat
40e3f73 It
 1 file changed, 1 insertion(+), 1 deletion(-)
7c327bf Tolerate stupid blockless blocks.
 1 file changed, 21 insertions(+), 13 deletions(-)
8d1c4eb clarification
40e3f73 It
 1 file changed, 1 insertion(+), 1 deletion(-)
7c327bf Tolerate stupid blockless blocks.
 1 file changed, 21 insertions(+), 13 deletions(-)
8d1c4eb clarification
 1 file changed, 3 insertions(+), 3 deletions(-)
5675d2c http://tech.groups.yahoo.com/group/jslint_com/message/1730
 5 files changed, 2752 insertions(+), 2847 deletions(-)
73c2fe3 indent
 1 file changed, 4 insertions(+), 3 deletions(-)
d41c211 http://tech.groups.yahoo.com/group/jslint_com/
 1 file changed, 2 insertions(+)
d7896b2 step_in step_out
 1 file changed, 18 insertions(+), 5 deletions(-)
85c95ac for var
 1 file changed, 4 insertions(+), 5 deletions(-)
caa8885 use strict
 2 files changed, 5 insertions(+), 4 deletions(-)
1da55dd http://www.yuiblog.com/blog/2010/12/14/strict-mode-is-coming-to-town/
 2 files changed, 7 insertions(+), 8 deletions(-)
b6d8b25 use strict
 4 files changed, 25 insertions(+), 25 deletions(-)
dc4a013 JSON escape v
 1 file changed, 5 insertions(+), 2 deletions(-)
80a2252 JSON escape single quote
 1 file changed, 5 insertions(+), 1 deletion(-)
bdd3576 k
 4 files changed, 8 insertions(+), 6 deletions(-)
6735394 Cleanup.
 2 files changed, 159 insertions(+), 167 deletions(-)
00d8d1f option.predef
 1 file changed, 2 insertions(+), 2 deletions(-)
6af839a option.predef
 2 files changed, 91 insertions(+), 66 deletions(-)
c933206 Warn on new Array(NUMBER)
 1 file changed, 2 insertions(+), 17 deletions(-)
f73d206 Add fullinit_ui.js, an ADsafe widget
 3 files changed, 159 insertions(+), 5 deletions(-)
523956b Removing rhino.js and wsh.js. Other projects are providing better alternatives.
 4 files changed, 4 insertions(+), 67 deletions(-)
d98f753 dangerous comments
 1 file changed, 1 insertion(+), 1 deletion(-)
35ec4a5 groove
 5 files changed, 95 insertions(+), 203 deletions(-)
d4a0702 More css colors
 1 file changed, 99 insertions(+), 64 deletions(-)
eb939e7 Use charAt instead of [] in line 1786.
 2 files changed, 0 insertions(+), 0 deletions(-)
7800939 Add README
 1 file changed, 20 insertions(+)
ca120a7 first commit
 6 files changed, 7011 insertions(+)

لا ينبغي أن يكون هذا القدر ...

ماذا قال dcramer . على الرغم من ذلك ، لن يكون مفيدًا للغاية ، حيث قمت بالتبديل من المسافات إلى علامات التبويب على طول الطريق. لذلك سوف تحتاج إلى القيام بشيء من هذا القبيل:

  1. الخروج أولا الالتزام JSHint. حوله إلى علامات تبويب.
  2. تحقق من أحدث JSHint الالتزام.
  3. فرق (1) و (2) باستخدام أداة فرق عادية.

تمت إعادة كتابة Lexer بالكامل ، وتم تغيير المحلل اللغوي بشكل كبير ، ولكي أكون صادقًا ، لا أعتقد أن douglascrockford سوف

antonkovalyov أعتقد أن

استكشاف الاحتمالات مثل القرد أو checkstyle http://checkstyle.sourceforge.net/config_duplicates.html.

بعد استخراج كل كود JS من هذا العنوان: 40e3f73 (آخر التزام git log --author="Douglas Crockford" ) ومقارنة ذلك مع جميع js تحت جذر src / *. js للسيد الحالي.

تشغيل الاثنين من خلال محلل التشابه التالي:

Similarity Analyser 2.3.34 - http://www.harukizaemon.com/simian
Copyright (c) 2003-2013 Simon Harris.  All rights reserved.
Simian is not free unless used solely for non-commercial or evaluation purposes.

واستخراج سطور الكود التي تبدو موجودة في كل من 40e3f73 والماجستير الحالي ، يبدو أن هذه هي الأسطر الوحيدة المتبقية في هذا المستودع والتي كتبها دوجلاس كروكفورد:

                lbp: p,
                value: s
            };
        }
        return x;
    }

    function delim(s) {
        return symbol(s, 0);
    }


----------------------
----------------------
        identifier: true,
        nud: function () {
            var v = this.value,
                s = scope[v],
                f;

            if (typeof s === "function") {

----------------------
----------------------
        member = {};
        membersOnly = null;
        implied = {};
        inblock = false;
        lookahead = [];
        warnings = 0;
        unuseds = [];

----------------------
----------------------
    confirm: false,
    console: false,
    Debug  : false,
    opera  : false,
    prompt : false
};


----------------------
----------------------
        }

        if (!a) {
            a = [line];
            implied[name] = a;
        } else if (a[a.length - 1] !== line) {
            a.push(line);
        }
    }

----------------------
----------------------
                char = this.peek(index);
                if (!isDecimalDigit(char)) {
                    break;
                }
                value += char;
                index += 1;
            }
        }

----------------------
----------------------
    }

    function warningAt(m, l, ch, a, b, c, d) {
        return warning(m, {
            line: l,
            from: ch
        }, a, b, c, d);
    }

    function error(m, t, a, b, c, d) {
        warning(m, t, a, b, c, d);
    }

----------------------
----------------------
        };
        return x;
    }

    function type(s, f) {
        var x = delim(s);
        x.type = s;
        x.nud = f;
        return x;
    }


----------------------
----------------------
                                    case '<':
                                        if (xmode === 'script') {
                                            c = s.charAt(l);
                                            if (c === '!' || c === '/') {
                                                warningAt(
"HTML confusion in regular expression '<{a}'.", line, from + l, c);
                                            }
                                        }

----------------------
----------------------
            Object              : false,
            parseInt            : false,
            parseFloat          : false,
            RangeError          : false,
            ReferenceError      : false,
            RegExp              : false,
            String              : false,
            SyntaxError         : false,

----------------------
----------------------
            Function            : false,
            hasOwnProperty      : false,
            isFinite            : false,
            isNaN               : false,
            JSON                : false,
            Math                : false,
            Number              : false,
            Object              : false,

----------------------
----------------------
    Boolean            : false,
    Date               : false,
    decodeURI          : false,
    decodeURIComponent : false,
    encodeURI          : false,
    encodeURIComponent : false,
    Error              : false,
    "eval"             : false,
    EvalError          : false,

----------------------
----------------------
            onbeforeunload  : true,
            onblur          : true,
            onerror         : true,
            onfocus         : true,
            onload          : true,
            onresize        : true,
            onunload        : true,
            open            : false,
            opener          : false,
            Option          : false,

----------------------
----------------------
        }
    }

    // We need a peek function. If it has an argument, it peeks that much farther
    // ahead. It is used to distinguish
    //     for ( var i in ...
    // from
    //     for ( var i = ...

    function peek(p) {
        var i = p || 0, j = 0, t;

        while (j <= i) {
            t = lookahead[j];
            if (!t) {
                t = lookahead[j] = lex.token();
            }
            j += 1;
        }
        return t;
    }

    // Produce the next token. It looks for programming errors.

    function advance(id, t) {
        switch (state.tokens.curr.id) {
        case "(number)":

----------------------
----------------------
            Option          : false,
            parent          : false,
            print           : false,
            removeEventListener: false,
            resizeBy        : false,
            resizeTo        : false,
            screen          : false,
            scroll          : false,
            scrollBy        : false,
            scrollTo        : false,
            setInterval     : false,
            setTimeout      : false,

----------------------
----------------------
            loadClass   : false,
            print       : false,
            quit        : false,
            readFile    : false,
            readUrl     : false,
            runCommand  : false,
            seal        : false,
            serialize   : false,
            spawn       : false,
            sync        : false,
            toint32     : false,
            version     : false
        },


----------------------
----------------------
                    name: n,
                    line: implied[n]
                });
            }
        }

        if (implieds.length > 0) {
            data.implieds = implieds;
        }

        if (urls.length > 0) {
            data.urls = urls;
        }

        globals = Object.keys(scope);
        if (globals.length > 0) {
            data.globals = globals;
        }

        for (i = 1; i < functions.length; i += 1) {
            f = functions[i];
            fu = {};

            for (j = 0; j < functionicity.length; j += 1) {
                fu[functionicity[j]] = [];
            }


----------------------

هذه كمية تافهة للغاية.

لا أعرف ما هي أفضل طريقة للمضي قدمًا هنا. أعتقد أنه قد يكون الأمر كذلك لطلب المساعدة من محامٍ محترف.

راجع للشغل ، هذه 195 سطرًا من التعليمات البرمجية في مشروع يحتوي على أكثر من 9000 سطر من التعليمات البرمجية.

قد لا يكون لدي أي فكرة عما يحدث هنا ، لكن لا يمكنني تخيل أن jshint أعاد كتابة 8800 سطر من jslint

أعدت تشغيل simian بحد أدنى 2 (وهذا يعني أنه سيتم أيضًا عرض كتل من عدد أقل من الخطوط المتشابهة) وحصلت على 708 سطرًا مكررًا.

dcramer ما الذي تقترح فعله فيما يتعلق بإعادة بناء كود Crockford من jshint أو تغيير الترخيص؟

@ hellais ، أقترح التحدث إلى محام لأنني أعتقد أن أي شيء آخر من المحتمل أن يوجه المسدس مباشرة إلى بعض الأقدام.

الإجابة السهلة على ذلك هي أننا سنحتاج إلى الابتعاد عن المحلل اللغوي pratt إلى esprima.

كما تعلم ، يمكنك إجراء محادثة مع دوغلاس ومعرفة ما لديه
الأفكار حول هذه المسألة ، بدلاً من محاولة إزالة جميع التعليمات البرمجية الخاصة به.

سيكون أسهل بكثير وسيؤدي إلى عدم وجود مخاطر على
قاعدة البيانات. محاولة إعادة تشكيل الكود بسبب عبارة صغيرة سخيفة في ملف
يبدو أن الترخيص مبالغ فيه بعض الشيء.
في 22 آب (أغسطس) 2013 ، الساعة 7:01 مساءً ، كتب "Josh Perez" [email protected] :

الجواب السهل على هذا هو أننا سنحتاج إلى الابتعاد عن البرات
محلل ل esprima.

-
قم بالرد على هذه الرسالة الإلكترونية مباشرة أو tHubhttps: //github.com/jshint/jshint/issues/1234#issuecomment -23135309
.

أنا متأكد تمامًا من أن دوغلاس قد سُئل عنها من قبل ورفض إعادة ترخيصها. لقد وجدته يمزح حول كيفية حصوله على رسائل من المحامين حول بند مماثل في ترخيص JSON http://dev.hasenj.org/post/3272592502/ibm-and-its-minions. يبدو أيضًا أن شخصًا من Debian legal قد أرسل له بريدًا إلكترونيًا ليسأل عنه وكان رده إذا لم تعجبك الترخيص فلا تستخدمه: http://www.mail-archive.com/debian-legal٪40lists. debian.org/msg40718.html

إنها jsut "عبارة صغيرة سخيفة" بالنسبة لك ، ولكن هذه العبارة الصغيرة السخيفة يمكن أن تكون العامل المحدد إذا كان البرنامج قابلاً للاستخدام أم لا. التراخيص هي وثائق ملزمة قانونًا ونظرًا لعدم وجود تعريف قانوني لما هو شر وما هو غير شر ، فهذا يعني عمليًا أنه من المستحيل معرفة ما إذا كان أي استخدام معين للرمز مسموحًا به بموجب الترخيص. نظرًا لأنه لا يمكنك معرفة ما إذا كان من المقبول استخدام الرمز لأن الشركات المرخصة (ومؤسسات مثل دبيان) ستختار ببساطة عدم استخدامها.

هذه مشكلة شائعة للأسف ، وهي سيئة للغاية ، لأنني أعتقد ذلك
الأشخاص الذين يرغبون في فعل الشر لن يهتموا بالترخيص ...

ومع ذلك ، في بعض الأحيان ، يقبل المؤلف أن يغير رأيه ، خاصة إذا شرحنا ذلك
له فإنه يمنع العديد من البرامج الأخرى التي تستخدم برامجه.

يبدو أن الطلب الأخير قد تم قبل بضع سنوات ، ربما يكون ذلك المحاولة مرة أخرى و
تكرارا....

2013/8/23 Donald Stufft [email protected]

أنا متأكد تمامًا من أن دوغلاس قد سُئل عنها من قبل وقد فعل ذلك
رفض إعادة ترخيصه. بحثت عنه وجدته يمزح حول كيفية القيام بذلك
يتلقى رسائل من المحامين حول بند مشابه في ترخيص JSON
http://dev.hasenj.org/post/3272592502/ibm-and-its-minions. يظهر
كما قام شخص من Debian legal بإرسال بريد إلكتروني إليه ليسأل عنه وعنه
كان الرد إذا لم يعجبك الترخيص فلا تستخدمه:
http://www.mail-archive.com/debian-legal٪40lists.debian.org/msg40718.html

إنها jsut "عبارة صغيرة سخيفة" بالنسبة لك ، لكن هذه العبارة الصغيرة السخيفة يمكن أن تفعل ذلك
تكون العامل الحاسم إذا كان البرنامج قابلاً للاستخدام أم لا. التراخيص
المستندات الملزمة قانونًا وبالنظر إلى عدم وجود تعريف قانوني لـ
ما هو الشر وما هو غير الشر يعني عمليا أنه من المستحيل معرفته
ما إذا كان أي استخدام معين للرمز مسموحًا به بموجب الترخيص.
لأنه لا يمكنك معرفة ما إذا كان من الجيد استخدام الكود كشركات مرخصة
(ومؤسسات مثل دبيان) ستختار ببساطة عدم استخدامها.

-
قم بالرد على هذه الرسالة الإلكترونية مباشرة أو tHubhttps: //github.com/jshint/jshint/issues/1234#issuecomment -23143534
.

معرف مفتاح gpg: 4096R / 326D8438 (keyring.debian.org)

بصمة المفتاح = 5FB4 6F83 D3B9 5204 6335 D26D 78DC 68DB 326D 8438

أوه ، الخير القديم / الشر ... IANAL ، لكن هذا منطقي بالنسبة لي -> http://www.mail-archive.com/debian-legal٪40lists.debian.org/msg40728.html

لا يمكنك الجدال حول الخير / الشر في أي محكمة إذا لم يتم تعريف المصطلحات.

douglascrockford لماذا لا تضع هذا http: //good/consoded_evil.txt مشترك
: +1: شكلني!

douglascrockford هل سبق لك أن حاولت بالفعل مقاضاة شخص ما استخدم برنامجك من أجل الشر؟

أراهن أن وكالة الأمن القومي تستخدم JSHINT لمشاريع جافا سكريبت الخاصة بهم وأعتقد أنهم يفعلون قدرًا كبيرًا من الشر. يبدو أن رخصتك لم تكن فعالة جدًا في منعهم من القيام بذلك على الرغم من ...

الإجابة السهلة على ذلك هي أننا سنحتاج إلى الابتعاد عن المحلل اللغوي pratt إلى esprima.

في هذه المرحلة ، يغطي JSHint المزيد من JavaScript (الأجزاء المستقرة من ES6 ، الامتدادات الخاصة بـ Mozilla) وهو أكثر تحملاً للفشل من Esprima لذا لن يحدث التبديل في المستقبل القريب.

أراهن أن وكالة الأمن القومي تستخدم JSHINT لمشاريع جافا سكريبت الخاصة بهم

:-)

@ hellais هل قرأت الرابط الخاص به؟

إنه غير فعال على الإطلاق ، لكنه على الأقل يوضح نيتي.

هاها

على أي حال ، لقد أرسلت بريدًا إلكترونيًا إلى douglascrockford أطلب إذنًا صريحًا لإزالة هذا البند من JSHint. إذا منح واحدة ، سأزيلها. إذا لم يفعل ذلك ، فسيتعين على مستخدمي دبيان تثبيت JSHint من خلال NPM أو القيام ببعض الحلول الأخرى.

لأكون صادقًا ، لقد سئمت من هذه المحادثات مفتوحة المصدر غير الحقيقية. من بين كل الأشياء التي أحتاج إلى القيام بها مع JSHint ، ربما تكون هذه المشكلة هي الأقل أهمية.

OscarGodson يبدو أن الرابط يتعذر الوصول إليه عمدًا بشكل عام. أحصل على صفحة خطأ في + Google ("تعذر العثور على هذه المشاركة") ، وهي تقريبًا لخطأ 404.

تم إغلاق الحالة ، يبقى الترخيص كما هو:

أنتون ، هناك طرق أخرى للتغلب على هذا والتي ستسمح لدبيان بحمل حزمة تحتوي على JSHint وبدون بذل جهد إضافي لك. قد يتطوع مطورو آخرون للمساعدة في القيام بهذا العمل لمشروعك.

على سبيل المثال ، إذا كنت ترغب في ذلك ، يمكنك طلب Google Summer of Code (طالب GSoC0 في 2014 ويمكن للطالب إعادة صياغة هذا الرمز بطريقة نظيفة. تتمتع Debian وغيرها من المشاريع الكبيرة بخبرة كبيرة مع مخططات مثل GSoC و مشروع جيد لجميع جافا سكريبت لدينا سيكون لديك حالة موثوقة للغاية لهذا الغرض.

أول شيء يجب توضيحه هو مقدار الكود المشترك بين JSHint و JSLint؟ على سبيل المثال ، عندما قمت بإعادة البناء ، هل قمت بنسخ ولصق أجزاء كاملة من التعليمات البرمجية من JSLint في ملفات مصدر أخرى؟ أم أن ملفات المصدر الأخرى تم تطويرها بشكل مستقل دون استخدام القص واللصق؟ إذا كنت قد استخدمت أسلوب القص واللصق ، فأنت بحاجة إلى تضمين douglascrockford شروط "no evil" في نص الترخيص لجميع تلك الملفات الأخرى أيضًا اعتماده كمساهم.

إذا كان JSHint.js فقط ، فقد يكون من الممكن لأشخاص آخرين إعادة كتابة أقسام من الملف. كحد أدنى ، قد ترغب في تجنب إجراء أي تغييرات أخرى على هذا الملف والقيام بأي كود جديد في ملف منفصل ، لذلك لن يتم تشويه الكود الجديد بعبارة "لا شر" وسيكون الأمر أسهل بالنسبة للبعض تطوع للعمل عليها في المستقبل حيث سيكون هناك رمز أقل "لا شرير" بالنسبة لهم لإعادة البناء.

خلاصة القول هي أنه يتعين على

dpocock > أول شيء يجب مسحه هو مقدار الشفرة المشتركة بين JSHint و JSLint؟

https://github.com/jshint/jshint/issues/1234#issuecomment -23129904

البديل هو أن يتصرف الناس ببساطة كما لو أن مشروعه غير موجود وفي النهاية سيظهر شيء ما ليحل محله بالكامل وتتلاشى أفكاره.

من الواضح أن

في 26/08/13 18:28 ، كتب أوسكار جودسون:

dpocock > أول شيء يجب مسحه هو مقدار الشفرة المشتركة بين JSHint و JSLint؟

https://github.com/jshint/jshint/issues/1234#issuecomment -23129904

البديل هو أن يتصرف الناس ببساطة كما لو أن مشروعه غير موجود وفي النهاية سيظهر شيء ما ليحل محله بالكامل وتتلاشى أفكاره.

من الواضح أن

من المعروف على نطاق واسع أن تراخيص "لا شر" لا تعتبر مجانية:

http://www.gnu.org/licenses/license-list.html#JSON

حقيقة أن هناك تذكرة واحدة فقط حول هذا يعني ببساطة ذلك
أولئك منا الذين يشعرون بالقلق حيال ذلك ليسوا أغبياء بما يكفي لإرسال رسائل غير مرغوب فيها إليك
مع 100 تذكرة حول نفس العدد

له تداعيات على باقي مشروعك:

أ) إذا لم يتم تعبئتها ، يكون تعرضها أقل. إذا تم تعبئتها في
دبيان وفيدورا ، تصبح أكثر بروزًا من المنافسة
حلول. قد يؤدي ذلك إلى جذب المزيد من المساهمين إلى مشروعك ومساعدتك
قمت بحل بعض تلك المشكلات الأخرى البالغ عددها 1244.

ب) قد يمتنع بعض المساهمين الآخرين عن المساهمة في أ
مشروع بترخيص غير قياسي خوفا من عدم عملهم
مفيدة حقًا لأي شخص آخر بالطريقة العادية

ج) مشاريع أكبر (على سبيل المثال ، شخص ما يصنع IDE متعدد الإمكانات أو شيء من هذا القبيل)
لا يمكن تضمين التعليمات البرمجية الخاصة بك بأمان ما لم ينسخوا شروط الترخيص هذه إلى
ترخيص المنتج الشامل الخاص بهم. قد يكون هؤلاء المستخدمون المحتملون أيضًا
المساهمون المحتملون: لكنهم قد يستثمرون جهودهم في نفس الشيء
مشاريع مع المزيد من التراخيص القياسية (أو حتى إعادة اختراع العجلة) ،
لذلك هناك المزيد من الازدواجية والتجزئة

لقد بدأت عريضة لمطالبة Crockford بتغيير ترخيصه ، يرجى التوقيع عليه: https://www.change.org/petitions/douglas-crockford-remove-the-not-evil-clause-from-your-license-because- إنه شرير في حد ذاته

يبدو أن الفرع الرئيسي (3.x) لديه jshint.js معاد كتابته ، فهل يمكننا القول أنه لم يعد مشتقًا من العمل؟

يستخدم مشروع Eclipse Orion نسخة من jslint حيث منحنا Doug الإذن باستخدام ترخيص لا يحتوي على "يجب استخدام البرنامج من أجل الخير وليس الشر". بند.

تتوفر لدينا لقطات jslint للأعوام 2010-04-06 و 2010-12-14 و 2011-12-21.

بالنظر إلى تاريخ jshint الذي استخدمته - 2011-01-09 لذلك قد تكون هناك إمكانية جيدة للعثور على ما تريد.

https://github.com/eclipse/orion.client/tree/master/lib/jslint

شكراskaegi!

يبدو أن تلك كانت 25 يومًا مزدحمة ...
قد يستغرق الأمر بعض الوقت (أسبوع أو نحو ذلك) ولكن دعني أرى ما إذا كان بإمكاننا مراجعة نسخة مطابقة مثالية للمساعدة في جعل هذا الأمر أسهل كثيرًا.

في 25/09/14 الساعة 22:03 ، كتب سايمون كيجي:

يستخدم مشروع Eclipse Orion نسخة من jslint حيث يوجد لدى Doug
منحنا الإذن باستخدام ترخيص لا يحتوي على "
يجب استخدام البرامج من أجل الخير وليس الشر ".

تتوفر لدينا لقطات jslint للأعوام 2010-04-06 و 2010-12-14 و
2011-12-21.

النظر في تاريخ jshint الذي استخدمته - 2011-01-09 لذلك قد يكون هناك
تكون احتمالية جيدة للعثور على ما تريد.

https://github.com/eclipse/orion.client/tree/master/lib/jslint

هل يمكنك إعادة توجيه نسخة من البريد الإلكتروني لدوغ الذي يعطي هذا التفويض
أو إيداعه في المستودع الخاص بك؟

شكرًا @ dpocock - نعم أحاول التأكد من أننا نفعل كل شيء بشكل صحيح هنا ، لذا قد يستغرق هذا بعض الوقت. أعتقد أن الأمر يستحق ذلك على الرغم من أن هذه المشكلة كلفتني شخصيًا الكثير من الساعات الضائعة. (راجع http://www.youtube.com/watch؟v=-C-JoyNuQJs&feature=player_detailpage#t=2480s)

لست متأكدًا مما يمكنني مشاركته ، لكنني سوف أتحقق من الأمر مع محامي الملكية الفكرية التابعين لمؤسسة Eclipse Foundation للتأكد من أن كل شيء فوق اللوح وإبلاغه مرة أخرى.

في 26/09/14 20:05 كتب سايمون كيجي:

شكرًا dpocock https://github.com/dpocock - نعم أحاول القيام بذلك
متأكد من أننا نفعل كل شيء بشكل صحيح هنا ، لذا قد يستغرق ذلك بعض الوقت
من الوقت. أعتقد أن الأمر يستحق ذلك على الرغم من أن هذه المشكلة قد كلفتني
شخصيا العديد من الساعات الضائعة. (ارى
http://www.youtube.com/watch؟v=-C-JoyNuQJs&feature=player_detailpage#t=2480s
)

لست متأكدًا مما يمكنني مشاركته ومع ذلك سأتحقق من Eclipse
محامو الملكية الفكرية في المؤسسة للتأكد من أن كل شيء فوق و
تقرير مرة أخرى.

من الناحية المثالية ، سيكون رابطًا إلى منشور في قائمة بريدية أو نسخة من ملف
بريد إلكتروني مباشر من السيد Crockford مع جميع الرؤوس وما إلى ذلك.

يستخدم مشروع Eclipse Orion نسخة من jslint حيث منحنا Doug الإذن باستخدام ترخيص لا يحتوي على "يجب استخدام البرنامج من أجل الخير وليس الشر". بند.

حسنًا ، حصلت شركة IBM للتو على إذن لاستخدامها من أجل الشر. إذا كان بإمكانك أن تعطينا نسخة منه هي في الحقيقة مجرد معهد ماساتشوستس للتكنولوجيا ، فيمكننا إعادة تأسيس هذا المشروع عليه ، والتخلص من عبارة النكتة ، وكل شيء على ما يرام في العالم.

@ تطير الغنم نعم هذه هي الخطة

تحديث - وافقت مؤسسة Eclipse على مشروعي لتوزيع JSLint 2011-01-09 - (راجع https://github.com/eclipse/orion.client/blob/master/lib/jslint/jslint-2011-01-09 .js)

الاتفاقية بين Doug ومؤسسة Eclipse هي اتفاقية خاصة ، وبالتالي فهي ليست شيئًا أطلع عليه أو يمكنني مشاركته. ومع ذلك ، فقد عملت مباشرةً مع فريق IP لمؤسسة Eclipse للحصول على هذه الموافقة التي تصف ما كنت أحاول القيام به وطلبت مرة أخرى إعادة التأكيد على أن توزيع Eclipse مسموح به لتعديل الترخيص بإزالة العبارة التالية - "البرنامج
يجب استخدامها من أجل الخير وليس الشر ". تم النظر في الطلب والموافقة عليه. أثق في أن المؤسسة قد قامت بالعناية الواجبة هنا. (مزيد من المعلومات هنا https://www.eclipse.org/org/#IP٪20Management)

في هذه المرحلة ، أعتقد أن JSHint أو أي مشروع يجب أن يكون قادرًا على استخدام هذه النسخة من أجل الخير أو الشر أو أيًا كان ما تشتهيه قلوبهم حيث تم تعديله قانونيًا وفقًا لاتفاقية مع صاحب حقوق الطبع والنشر وتوزيعه بشكل فعال بموجب ترخيص MIT والذي يعتبر أكثر سيوافق على أنه ترخيص شرعي مفتوح المصدر.

skaegi شكرًا مرة أخرى على عملك على هذا :)

اللعنة ، skaegi ،: العضلات:

skaegi إذا قامت مؤسسة Eclipse بنشر نسخة من ملف المصدر jslint.js مع نص ترخيص أصلي مفتوح المصدر في أعلى الملف (إما ترخيص MIT خالص أو نص ترخيص Eclipse) فلا أحد يحتاج إلى معرفة شروط اتفاق بين douglascrockford ومؤسسة Eclipse ، يمكن للأشخاص فقط أخذ هذا الملف كما تم توزيعه بواسطة Eclipse وتوزيعه في مشاريعهم الخاصة دون إفساد تراخيصهم.

من المحتمل أن يقوم الأشخاص الذين يوزعونه بهذه الطريقة بتضمين تعليق في الملف بعنوان URL الذي حصلوا عليه منه على موقع Eclipse.

إن مجرد الإشارة إلى مشروع وافق عليه Eclipse يحتوي على نسخة من الملف ليس هو نفسه - فمن المحتمل تمامًا أنه تم التغاضي عنه عن طريق الخطأ. حدث نفس الشيء من وقت لآخر في Debian و Ubuntu و Fedora ثم تمت إزالة الحزمة المخالفة بمجرد أن يلاحظها أحد.

شكرا @ dpocock هذه ردود فعل جيدة. لقد حدث الخطأ الذي وصفته في Eclipse أيضًا وهو فوضوي للتعامل معه.

إذا أراد المطورون تضمين عنوان URL لمؤسسة Eclipse Foundation في تعليق لتوضيح من أين أتت هذه النسخة ، فيمكنهم استخدام:
http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/tree/lib/jslint/jslint-2011-01-09.js

يجب أن يكون عنوان URL هذا ثابتًا لأن الملف عبارة عن لقطة لما تمت الموافقة عليه. أفضل أن يستخدم الأشخاص عنوان URL الأول هذا على http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/tree/lib/jslint/jslint-2011-01-09.js؟ id = bfe8b59bd463de6bc330d797f0fbf29856178364 وهو رابط للالتزام المحدد ولكن هذا أيضًا احتمال.

للتخفيف من أي قلق من أن هذا كان خطأ أو تم التغاضي عنه ، يجب الرجوع إلى Eclipse CQ 8747 (حيث CQ هو استبيان المساهمة) حيث يتم تسجيل طلب التوزيع والمناقشة مع فريق Eclipse IP. نظرًا لأن بعض طلبات CQ قد تحتوي على عنوان IP "سيئ" ، فإنها تكون مرئية فقط لمستخدمي Eclipse ولكن عنوان URL المرتبط بهذا الطلب المحدد هو http://dev.eclipse.org/ipzilla/show_bug.cgi؟id=8747 و تمت الموافقة على الوضع النهائي. علاوة على ذلك ، من الأفضل تناول أي مخاوف بشأن صحة التوزيع وعملية الملكية الفكرية مع فريق IP التابع لمؤسسة Eclipse Foundation.

هل يغطي ذلك نقاطك؟ هل يمكنك أن تفكر في أي شي آخر؟

skaegi عنوان url https://dev.eclipse.org/ipzilla/show_bug.cgi؟id=8747 وراء تسجيل الدخول

رجل. woooo. هذا رائع.

rwaldron نعم ، للأسف تحتاج إلى أن تكون مسؤول Eclipse للوصول إلى هذا الرابط (هذا ما كنت أحاول قوله في التعليق أعلاه). ربما لم يكن من المفيد للغاية مشاركة هذا الرابط ، آسف جدًا.

لم يكن CQ مثيرًا للجدل - لقد طلبت الموافقة على استخدام لقطة معينة من jslint وأرفقت الكود ، ووضحت سبب رغبتي في هذا الإصدار وطلبت أيضًا إعادة التأكيد على أنه سُمح لنا بتعديل الترخيص. للتأكد بشكل مضاعف ، تحدثت أيضًا مع فريق Eclipse IP للتأكد من أن كل شيء كان على ما يرام وهو موثق أيضًا في CQ. بعد أيام قليلة تمت الموافقة على الطلب.

skaegi كنت أحاول فقط إعادة إنشاء قاعدة التعليمات البرمجية الخاصة بنا فوق إصدار البرنامج المجاني الذي شاركته ، لكنني أعتقد أنني وجدت مشكلة. قام أنطون في البداية بتشكيل JSHint من إصدار JSLint المنشور في 2011-01-09 ( عرض الالتزام هنا ). بعد إجراء بعض التغييرات ، أعاد تطبيق التغييرات على إصدار JSLint المنشور في 2010-12-16 ( عرض الالتزام هنا ). هذا يعني أننا نحتاج حقًا أن نبدأ بإصدار البرنامج المجاني من الكود كما تم نشره في 16 ديسمبر. هل لديك مثل هذا الإصدار الذي يمكنك مشاركته؟

ليس لدينا 2010-12-16 ولكن لدينا 2010-12-14.
الكسوف - http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/tree/lib/jslint/jslint-2010-12-14.js
جيثب (مرآة) - https://github.com/eclipse/orion.client/blob/master/lib/jslint/jslint-2010-12-14.js

يفتقد هذا الالتزام الموضح هنا - https://github.com/douglascrockford/JSLint/commit/caa8885a37afd6895e522409f7889d9333ff6dec

سيكون من الجيد معرفة ما إذا كان هذا المنطق مناسبًا بعد الآن كما لو لم يكن كذلك ، فأنا أقترح إعادة البناء على 2010-12-14 والانتهاء من ذلك.

لدينا أيضًا توزيع 2011-01-09 (المذكور أعلاه) الذي يحتوي على المنطق أعلاه.
https://github.com/eclipse/orion.client/blob/master/lib/jslint/jslint-2011-01-09.js#L2711
https://github.com/eclipse/orion.client/blob/master/lib/jslint/jslint-2011-01-09.js#L2712

لذلك ، يمكنك إنشاء مشتق شرعي يستخدم كلا الإصدارين كمصادر ولكن يبدو أننا نلعب الألعاب في تلك المرحلة. يمكنني العودة وطلب الموافقة لعام 2010-12-16 ولكن من المحتمل أن يستغرق هذا وقتًا أطول قليلاً مما كان عليه في المرة السابقة. أعتقد أن الأمر يستحق ذلك رغم أن هذا ما نحتاجه.

لذا jugglinmike ، يرجى محاولة إعادة


ما عليك سوى إضافة عنوان URL إلى فرع مستقر في github بالمصدر أعلاه لأننا الآن لا نستخدم jslint في الإصدار الحالي ونقوم بتشذيبه من الإصدار الرئيسي.

https://github.com/eclipse/orion.client/tree/stable_20150803/lib/jslint

حسنًا ، لقد أكملت تغيير العنوان ؛ إنه متاح في الفرع master-free من مفترقتي .

بالحديث مع skaegi ، علمت أن Eclipse يحتفظ بسجل ديناميكي للملكية الفكرية على عنوان URL هذا: https://www.eclipse.org/projects/ip_log.php؟projectid=eclipse.orion

يوضح هذا حالة CQs المشار إليها: CQ 4745 [JSLint 2010-12-15] و CQ 8747 [JSLint 2011-01-09].

سيطلق مشروع Orion الإصدار 7.0 يوم الأربعاء القادم 29 أكتوبر. عرض سايمون أن يرى أنه تم نشر مستند ثابت لهذا الإصدار. أسئلتي للمشرفين هي : هل يجب أن ننتظر نشر هذا المستند؟ إذا كان الأمر كذلك ، فهل تريد مني أن أعيد إلى الأساس مرة أخرى في ذلك الوقت للإشارة إلى عنوان URL الثابت لسجل IP من الالتزامات ذات الصلة؟

ملخص

لقد أدخلت ثلاثة التزامات في تاريخ JSHint :

إكرامية كل فرع تختلف فقط في الرخصة:

$ git diff master
diff --git a/src/jshint.js b/src/jshint.js
index d31a2b1..53f49f1 100644
--- a/src/jshint.js
+++ b/src/jshint.js
@@ -1,8 +1,9 @@
 /*!
  * JSHint, by JSHint Community.
  *
- * This file (and this file only) is licensed under the same slightly modified
- * MIT license that JSLint is. It stops evil-doers everywhere:
+ * Licensed under the MIT license.
+ *
+ * JSHint is a derivative work of JSLint:
  *
  *   Copyright (c) 2002 Douglas Crockford  (www.JSLint.com)
  *
@@ -16,8 +17,6 @@
  *   The above copyright notice and this permission notice shall be included
  *   in all copies or substantial portions of the Software.
  *
- *   The Software shall be used for Good, not Evil.
- *
  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  *   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

.. و (بالطبع) جميع الاختبارات تجتاز:

$ npm test

(reporter output intentionally omitted)

OK: 648 assertions (8769ms)

تفاصيل العملية

من الصعب تدقيق عمليات إعادة التأسيس لأنها تعيد كتابة التاريخ (بدلاً من تعديله). حرصًا على الشفافية ، سأوثق عمليتي أدناه.

قام أنطون بتضمين رمز من JSLint مرتين بعد الشوكة الأولية - تنطبق هذه الالتزامات قبل آخر مرة قام فيها بذلك. عنوان الالتزام في الفرع master اليوم هو "تمت إعادة تطبيق كود JSLint إلى إصدار 2010-12-16 وإعادة تطبيق التغييرات الخاصة بي". في مفترقتي ،

لذا فإن السجل ذي الصلة في master يبدو كالتالي:

28c5235 2011-01-23 21:23:34 -0800 Anton Kovalyov Reverted JSLint codebase to the 2010-12-16 edition and re-applied my changes
026aaf8 2011-01-23 18:51:20 -0800 Anton Kovalyov Added JSHint Community to the license block

... مقارنة المحفوظات ذات الصلة بـ master-free :

dc95c3b 2011-01-23 21:23:34 -0800 Anton Kovalyov Re-applied my changes
945e169 2014-10-21 11:15:49 -0400 Mike Pennisi   Incorporate upstream change
e10eef6 2014-10-21 10:55:41 -0400 Mike Pennisi   Substitute JSHint for Free Software version
707b0d8 2014-10-21 10:54:25 -0400 Mike Pennisi   Revert codebase to JSHint 2010-12-14 version
026aaf8 2011-01-23 18:51:20 -0800 Anton Kovalyov Added JSHint Community to the license block

نشأت تعارضات دمج في الالتزامات التي عدلت طريقة تقديم الترخيص. هذا يشمل:

تم تحقيق ذلك من خلال أداة git rerere "تدريب" باستخدام البرنامج النصي rerere-train.sh وتشغيل الأمر التالي:

$ git rebase --keep-empty --preserve-merges newbase

إذا كان هناك أي شيء أنساه ، فيرجى إبلاغي بذلك. ولا تتردد في تصفح المحفوظات لمساعدتي في التحقق من أن تغيير العنوان كان دقيقًا من الناحية الفنية.

:فقاعة:

إليك رابط مراجعة Orion 7.0 و IP Log - قراءة مثيرة.
https://projects.eclipse.org/projects/eclipse.orion/releases/7.0/review
https://projects.eclipse.org/sites/default/files/eclipse.orion-7.0-iplog_0.html

إنه يوضح أن CQ 4745 [JSLint 2010-12-15] و CQ 8747 [JSLint 2011-01-09] حيث يتم الموافقة على جزء من إصدارنا الذي نأمل أن يغلق الحلقة.

أي حركة على هذا الاندماج؟

dragorosson هذه أكثر من مجرد مشكلة فنية ؛ ضمان أن كل شيء فوق اللوحة يستغرق بعض الوقت. شكرا على اهتمامك.

شكرًا جزيلاً على العمل على هذه المشكلة ، أريد الحصول على هذا في Fedora. ما الذي لا يزال يتعين القيام به بالضبط؟

أفضل طريقة لتأكيد أننا ما زلنا نعمل على هذا هو التحقق من فرعي master-free - بالتأكيد لن أبقي ذلك متزامنًا إذا لم أكن أنوي استخدامه!

@ piotr1212 حاليًا ، نحتاج إلى تأكيد التغيير مع بعض المساهمين السابقين. يبدو أنك مشرف صيانة RPM - هل هذا صحيح؟

شكرا لك على التحديث. سأنتظر فقط بالطلاء ؛)
ونعم ، أنا مشرف حزمة لـ Fedora / EPEL ، هناك العديد من وحدات nodejs التي تعتمد على jshint ولا يمكن تعبئتها الآن ...

أنا مع @ piotr1212 - لقد منع هذا بعض الأدوات في دبيان التي أريد رؤيتها. دعنا نزيل هذا الشرط غير الحر!

أود الترويج لهذه المشكلة وأدعو جميع المساهمين إلى عدم نسيان موظفي الحكومة داخل وكالة الأمن القومي أو GCHQ الذين يحتفظون بأجزاء من نظام المراقبة المنتشر مكتوبة بلغة جافا سكريبت. كود نظيف للجميع!

لقد وقعت على CLA وأشجع الآخرين على فعل الشيء نفسه.

من باب الفضول ، أتيحت لي ذات مرة واغتنمت الفرصة لأطلب من هوارد زين تعريف الشر. ومع ذلك ، فقد عاد لي ، مدعيًا أنه إذا لم أكن أعرف ما هو الشر في عمري ، فعندئذ ، بالتأكيد ، لن أفعل ذلك أبدًا. بعد سنوات من التفكير في هذا البيان ، كان زين ، بالطبع ، على حق - وبقي أن أكون جيدًا بشكل خاطئ هو أفضل ما يمكن أن أتمناه.

هل سيتم تحديث هذا الترخيص أيضًا؟ https://github.com/jshint/jshint/blob/master/src/jshint.js#L19

thejameskyle هذا هو الترخيص الوحيد الذي يحتاج إلى التغيير. سنكون على يقين من تحديثه في أقرب وقت ممكن

عثرت للتو على نسخة قديمة من jshint.js شقت طريقها إلى مشروع دروبال. أواجه مشكلة في متابعة هذه المشكلة. هل تم حذف عبارة "الخير وليس الشر"؟ النشاط في https://github.com/webjars/webjars/issues/1127 يجعلني أعتقد أن هذه الفقرة ستبقى.

أفضل طريقة لتأكيد أننا ما زلنا نعمل على هذا هو التحقق من فرعي master-free - بالتأكيد لن أبقي ذلك متزامنًا إذا لم أكن أنوي استخدامه!

jugglinmike لقد قرأت هذا الرد في المرة الأولى التي نشرتها ردًا على @ piotr1212 مرة أخرى في يناير ، لكنني لم

كجزء من مجموعة عمل التراخيص في دروبال ، نتعامل مع قضايا الترخيص لمجتمع يضم آلاف المشاريع والمساهمين. أتفهم مدى الإحباط الذي قد يسببه حل هذه المشكلات ... ومدى عدم الشكر.

شكرا جزيلا لك! تعتبر بنود الترخيص غير المعيارية وغير القابلة للتنفيذ غير منتجة بشكل لا يصدق.

بينما أنا مذنب بنصيبتي من الردود مثل هذا ، يجب أن تكون على دراية بمدى عدم تأجيل هذا الأمر لشخص ليس على دراية بمشروعك.

نظرًا لعدم وجود أي شيء في الوصف README.md الخاص بالفرع ، أو بيان عام مفتوح مع تعليقات أو في هذه المسألة يشير إلى ما لا يزال يتعين القيام به ، سيستمر الأشخاص في السؤال بشكل دوري حتى يتم دمج هذا.

إذا كنت ستستخدم استجابة معيارية لأي شخص يسأل ، أقترح بعض التغييرات. "لم أكن أنوي استخدامه!" هو! = "لم نعتزم دمجه". سيكون من الأفضل أن تقول شيئًا مثل ...

_إذا تم تحديث https://github.com/jugglinmike/jshint/tree/master-free ، فنحن نعمل بنشاط على حل هذه المشكلة. تمنعنا الموارد المحدودة من نشر تحديثات الحالة بالقدر الذي نرغب فيه ، ولكن هذه المشكلة ستظل مفتوحة حتى تتم إزالة عبارة "جيد وليس شر".

لم يكن هذا الملف ضروريًا لمشروع دروبال ، لذا تمت إزالته ، ولكن هذه المشكلة أصبحت دراسة حالة رائعة في التأثير المضاعف الذي يمكن أن يكون لتعديل ترخيص مفتوح ومدقق حقًا. يُرجى إعلامي إذا كان هناك أي شيء يمكنني القيام به للمساعدة في حل هذه المشكلة.

لم أكن أنوي أن أكون عدوانية سلبية. فسرت ، "أواجه مشكلة في متابعة هذه المشكلة" على أنها "فاتني ردك بين جميع المناقشات الأخرى". أقدر اقتراحك للحصول على شرح أكثر اكتمالاً ، وأوافق على أنه يمثل تحسينًا. سأتابع بتعليق أكثر وضوحًا مخصصًا لتلك الرسالة.

بالنسبة للمسألة التي أشرت إليها: أعتقد أن هناك قيمة لهذا المشروع ليكون قويًا في تحليله لـ SPDX بغض النظر عن التكوين الحالي لأي مشروع معين. لذلك سيكون من المنطقي حل هذه المشكلة بشكل عام ... بالنسبة لي ، على أي حال!

التحقق من حالة هذا الجهد

إذا تم تحديث https://github.com/jugglinmike/jshint/tree/master-free ، فإننا نعمل بنشاط على حل هذه المشكلة. تمنعنا الموارد المحدودة من نشر تحديثات الحالة بالقدر الذي نرغب فيه ، ولكن هذه المشكلة ستظل مفتوحة حتى تتم إزالة عبارة "جيد وليس شر".

jugglinmike لها حوالي 11 شهرًا منذ آخر تعليق. أود أن أعرف الوضع الحالي لهذه المشكلة.

عنجد؟ آخر "خير وليس شر". رخصة؟ ما هو الهدف من ذلك؟ يُرجى اختيار ترخيص حقيقي معتمد من FSF أو OSI معتمد.

andreicristianpetcu : أنت عدائي بلا داع لأنك غير مطلع.

هل تعرف ما تم تشعبه jshint؟ بمجرد القيام بذلك ، اقرأ هذا الموضوع بعناية ، ثم يرجى الاعتذار عن التعليق السابق.

@ تحلق الغنم قرأت الموضوع. آسف على البريد العشوائي.

أي تقدم في هذه المسألة؟ إنه يمنعنا من تضمينه في فيدورا.

شكرا لاهتمامك ،eclipseo. أحب أن يتم تضمين JSHint في Fedora! في الوقت الحالي ، نحاول إعادة كتابة بعض الأقسام المستهدفة من قاعدة التعليمات البرمجية. لا يمكنني المساهمة بشكل مباشر بسبب معرفتي بالرمز غير المجاني. الأمر نفسه ينطبق على العديد من المساهمين السابقين لدينا ، لذلك كنت أبحث عن أشخاص جدد لديهم شغف بالبرمجيات الحرة ومولع لجافا سكريبت. إذا كنت (أو أي شخص آخر يتابعك) تعرف أي شخص يناسب الفاتورة ، فيرجى مطالبتهم بالاتصال بي (إما على هذا الموضوع أو عبر عنوان بريدي الإلكتروني الشخصي).

حسنًا .... إذا كانت مكتوبة من الصفر فلا يهم من يكتبها. هذه قضية حقوق نشر وليست قضية براءة اختراع.

لا نحاول حاليًا إعادة الكتابة من البداية. حاولت إيصال هذا في إجابتي السابقة بعبارة "بضعة أقسام مستهدفة من قاعدة الشفرة."

ما هو الوضع الحالي ؟

الأمر نفسه ينطبق على العديد من المساهمين السابقين لدينا ، لذلك كنت أبحث عن أشخاص جدد لديهم شغف بالبرمجيات الحرة ومولع لجافا سكريبت. إذا كنت (أو أي شخص آخر يتابعك) تعرف أي شخص يناسب الفاتورة ، فيرجى مطالبتهم بالاتصال بي (إما على هذا الموضوع أو عبر عنوان بريدي الإلكتروني الشخصي).

لقد صادفت هذه المشكلة للتو - هل ما زلت تبحث عن المساعدة؟

تضمين التغريدة هل يمكنك إرسال بريد إلكتروني إلى [email protected] ؟

أوافق على بقاء المؤلف وفيا لالتزامه الأصلي. إذا كان هذا هو عملي الإبداعي (أو مشتق منه) ، فسأتمسك أيضًا بشرط عدم الشر حتى النهاية.
البند مفتوح للتفسير (وبالتأكيد لن يستمر في المحكمة ، ولم يكن قصد المؤلف أنه يمكن ذلك ، أنا متأكد من ذلك) لسبب ما. وقد يكون السبب أخلاقيًا ، أو روح الدعابة ، أو ربما مزيجًا من الاثنين.

الآن إذا لم تستطع بعض التوزيعات تضمين البرامج في مستودعاتها لأن تعريف "البرمجيات الحرة" الذي يصرون على الالتزام به صارم للغاية - أو سأقول ضيق الأفق - فهذا سيء للغاية.

عمل جيد douglascrockford ومسؤولو المشروع.

تحرير: يجب أن أقول إنني أوافق تقنيًا على أن الترخيص غير مجاني لأنه بلا شك يفرض قيودًا على الغرض من استخدام البرنامج ، حتى لو كان ساخرًا تقريبًا. حقيقة أن التوزيعات لا تتضمن البرامج البرمجية في مستودعاتها الرسمية على هذه الأسس هي مجرد سخيفة.

اخبارسعيدة يا جماعة! لقد نشرنا للتو JSHint 2.12.0 ، الإصدار الأول المرخص بالكامل بموجب ترخيص MIT Expact. التفاصيل حول العملية متاحة على موقع المشروع.

إذا كان أي شخص لا يزال مهتمًا بتعبئة JSHint لمستودع برامج ، فسيسعدني تقديم المساعدة!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات