Wstydzisz się przyznać za pomocą jQuery? [Zamknięte]


26

W ciągu ostatnich kilku tygodni zauważyłem, ile dużych komercyjnych witryn korzysta z jQuery w połączeniu z dużą ilością wtyczek - ale nie przyznawaj się do tego. Zmienią nazwę głównej biblioteki na coś niejasnego, podobnie jak wtyczki. Sporo osób nawet usunie komentarze zawierające informacje o licencji MIT / GPL. (właśnie zauważyłem, że odeon.co.uk właśnie to zrobił)

Czemu oni to robią? czy są zaskoczeni twarzą, że korzystają z darmowej i otwartej biblioteki?


9
Interesujące pytanie. Usunięcie komentarzy dotyczących praw autorskich narusza umowę licencyjną, prawda?
Pekka obsługuje GoFundMonica

2
Dlaczego to tu przeniesiono?
Tom

7
@Tim Post: Powiedziałbym, że jest w pełni tematyczny dla programistów, a wcale nie dla stackoverflow. Więc poprawna decyzja.
Orbling

3
@marcgg: z pewnością nie jest to pytanie programistyczne. Osobiście głosowałem za zamknięciem jako argumentacyjny, ale z drugiej strony programiści. Istnieje właściwie, aby przyjąć wszystkie te „subiektywne i argumentujące” pytania, przynajmniej w umysłach innych osób zamykających.
Wooble,

3
@Wooble - programiści nie są dla argumentujących pytań. Jest to pytanie subiektywne, ale konstruktywne. Może się zdarzyć, że dostaniesz się tam iz powrotem, ale jeśli pytanie jest tylko argumentacyjne, nie ma dla programistów więcej miejsca niż SO.
MIA,

Odpowiedzi:


26

Cóż, to samo dotyczy niektórych projektów, nad którymi pracuję, ale tylko z powodu zautomatyzowanego procesu minfying, który jest częścią każdej wersji.


To chyba właściwe wyjaśnienie.
Chinmay Kanchi,

To samo tutaj w mojej pracy. Ale pliki nie są po prostu zmielone, są one łączone w jeden plik. W przeciwnym razie byłoby prawie 20 różnych plików js do pobrania.
Echo mówi Przywróć Monikę

I minify każda część / wtyczki ręcznie z zamknięciem Compiler następnie oznakować sekcje /* jQuery x.y */, hoverIntent x.yitp śledzić.
DisgruntledGoat

13

Zgodnie z definicją licencji MIT jest to całkowicie dopuszczalne. Nie dystrybuują go, a nawet gdyby tak było, musieliby tylko dołączyć kopię pliku licencji (nie musi to być nagłówek każdego pliku).


Ach, dobrze wiedzieć.
Pekka obsługuje GoFundMonica

Dobra informacja, ale nie sądzę, że to odpowiada na pytanie. OP zapytał, dlaczego firmy to robią, a nie, czy pozwolono im.
Simon P Stevens,

1
-1. Przez hostingu jQuery (lub inny kod) na serwerze, Twoje dystrybucję kodu (przynajmniej jeśli chodzi o prawo to dotyczy), a licencja MIT nie wymagają prawach autorskich należy pozostawić nienaruszone.
josh3736

3
@ josh3736 Czy możesz wskazać prawo, które to mówi? Na przykład GPL zawiera często zadawane pytania, które wyraźnie stwierdzają, że nie kwalifikuje się to jako dystrybucja. Istnieje licencja Affero GPL, jeśli chcesz zabronić tego rodzaju użytkowania.
Rene Saarsoo

@Rene Saarsoo: Licencja MIT wyraźnie stwierdza, że ​​prawa autorskie nie powinny być usuwane, jeśli zamierzasz „używać, kopiować, modyfikować, łączyć, publikować, rozpowszechniać, udzielać sublicencji i / lub sprzedawać kopie Oprogramowania”.
mipadi

6

Oprócz innych odpowiedzi, które są zgadywaniem, jedynym innym powodem, dla którego mógłbym pomyśleć o celowym zaciemnieniu bibliotek, których używasz, może być zminimalizowanie wpływu, jeśli w bibliotece zostanie wykryty exploit zdalny.

Na przykład, jeśli w jQuery wykryto jakiś duży błąd w dziale XSS, może być korzystne, aby moje użycie go nie było zbyt oczywiste.

Zgadzam się z innymi użytkownikami, którzy twierdzą, że jest to prawdopodobnie efekt uboczny autominizacji wdrożenia.


4

Można to zrobić w celu optymalizacji. Użytkownik końcowy nie musi otrzymywać tych komentarzy. Nawet jeśli zaoszczędzą przez to 1kb kodu, może być dobrze


3

Prawdopodobnie nieudana próba zaciemnienia lub inna (prawdopodobnie) nieudana próba zmniejszenia przepustowości. Nie mogę wymyślić żadnego praktycznego ani technicznego powodu, dla którego chcieliby to zrobić.

Jeśli jesteś ciekawy, spróbuj wysłać do nich wiadomość e-mail z pytaniem, dlaczego usunęli informacje licencyjne z kodu.


7
czy kod minimalizujący nie usuwa komentarzy?
SB01

2

Być może używają lokalnej wersji zmodyfikowanej, a następnie zmienili jej nazwę, by być może przestrzegać lokalnych standardów?


2

Zmieniamy nazwę na naszą, ponieważ udostępniamy widżety drop-in dla naszych klientów i mogą oni również używać innej wersji jquery, która jest niezgodna z naszą.

$ może być dowolną wersją jQuery (lub czasami innymi bibliotekami, takimi jak prototyp), ale dmJQuery jest zawsze obsługiwaną przez nas wersją.

(Tak naprawdę nie zmieniamy nazwy w źródle, po prostu zrób to ...)

/* make sure we use this version of jQuery and not any others. */
window.dmJQuery = jQuery.noConflict(true);

Dlatego nie zmieniasz nazwy pliku pobieranego z jQuery. Wątpię, żeby jquery-1.4.4.min.js miał sprzeczne wersje.
James

tak, ale jeśli mój skrypt ładuje plik jquery-1.4.4.min.js, a jego skrypt ładuje plik jquery-1.4.1.min.js na tej samej stronie, mamy konflikt wersji ... (poza tym mój skrypt jest spakowany w jeden plik JS, aby łatwo upuścić na ich serwery ...)
Mike Ruhlin

Rozwiązanie tego jest dosłownie identyczne z obecnym rozwiązaniem, prawda? Och ... Chyba że twoja jQuery nie jest załadowana pierwsza wersja. To, i wszystko w jednym wygodnym pliku jest zrozumiałe. :-)
James

1

Jak pokazano na oficjalnej stronie jQuery , jest używany przez: Google, Dell, Digg, NBC, Netflix, Mozilla, WordPress i inne.

To powszechnie uważana i używana biblioteka.

Zakładam więc, że zmieniają nazwę, aby ludzie nie wiedzieli, że używają jQuery, ponieważ postrzegaliby to negatywnie, ponieważ polegają na czyimś kodzie, a nie sami go napisali.


1

Duzi programiści stron internetowych dbają o swoich użytkowników, nie widzę żadnego powodu, dla którego mieliby starać się zaciemniać technologie, których używają, od nieskończenie małej części użytkowników, którzy przygotowują kod źródłowy strony.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.