Xấu hổ khi thừa nhận sử dụng jQuery? [đóng cửa]


26

Một vài điều tôi đã nhận thấy trong vài tuần qua là có bao nhiêu trang web thương mại lớn sử dụng jQuery kết hợp với rất nhiều plugin - nhưng không thừa nhận điều đó. Họ sẽ đổi tên thư viện chính thành một cái gì đó tối nghĩa, cũng như các plugin. Khá nhiều người thậm chí sẽ xóa các bình luận có chứa thông tin giấy phép MIT / GPL. (chỉ cần lưu ý ngày hôm nay rằng odeon.co.uk đã làm chính xác điều này)

Tại sao họ làm điều này? Có phải họ bị từ chối bởi khuôn mặt rằng họ đang sử dụng một thư viện mã nguồn mở và miễn phí?


9
Câu hỏi thú vị. Xóa các bình luận bản quyền là vi phạm thỏa thuận cấp phép, phải không?
Pekka hỗ trợ GoFundMonica

2
Tại sao điều này được chuyển đến đây?
Tom

7
@Tim Post: Tôi muốn nói rằng nó hoàn toàn thuộc chủ đề cho các lập trình viên, hoàn toàn không phải cho stackoverflow. Vậy quyết định đúng đấy.
Orble

3
@marcgg: đó chắc chắn không phải là một câu hỏi lập trình. Cá nhân tôi đã bỏ phiếu để đóng như là tranh luận, nhưng sau đó một lần nữa lập trình viên. Có khá nhiều tồn tại để đưa vào tất cả những câu hỏi "chủ quan và tranh luận", ít nhất là trong suy nghĩ của những người đóng cửa khác.
Wooble

3
@Wooble - Lập trình viên không dành cho câu hỏi tranh luận. Đó là cho các câu hỏi chủ quan, nhưng mang tính xây dựng. Có thể có dịp bạn quay lại, nhưng nếu một câu hỏi chỉ mang tính tranh luận thì nó không có chỗ đứng trong lập trình viên hơn SO.
MIA

Câu trả lời:


26

Vâng, nó cũng tương tự đối với một số dự án tôi làm, nhưng chỉ vì Quy trình khai thác tự động là một phần của mỗi bản phát hành.


Đây có lẽ là lời giải thích đúng.
Chinmay Kanchi

Tương tự ở đây tại nơi làm việc của tôi. Nhưng các tệp không chỉ đơn giản là minfied, chúng được kết hợp thành một tệp duy nhất. Nếu không, sẽ có gần 20 tệp js khác nhau để tải xuống.
Echo nói Phục hồi Monica

Tôi rút gọn từng bộ phận / cắm bằng tay với Closure Compiler sau đó dán nhãn các phần với /* jQuery x.y */, hoverIntent x.y, vv để theo dõi.
Không hài lòngGoat

13

Theo định nghĩa của giấy phép MIT, nó hoàn toàn được phép. Họ không phân phối nó và thậm chí nếu có, họ sẽ chỉ phải bao gồm một bản sao của tệp giấy phép (không bắt buộc phải là tiêu đề của mỗi tệp).


Ah, tốt để biết.
Pekka hỗ trợ GoFundMonica

Thông tin tốt, nhưng tôi không nghĩ rằng điều này trả lời câu hỏi. OP hỏi tại sao các công ty làm điều này, chứ không phải nếu họ được phép.
Simon P Stevens

1
-1. Bằng cách lưu trữ jQuery (hoặc bất kỳ mã nào khác) trên máy chủ của bạn, bạn đang phân phối mã (ít nhất là theo luật pháp) và giấy phép MIT không yêu cầu phải giữ nguyên thông báo bản quyền.
josh3736

3
@ josh3736 Bạn có thể chỉ ra một luật nói điều này không? Ví dụ, GPL có Câu hỏi thường gặp nói rằng điều này không đủ điều kiện để phân phối. Có giấy phép GPL của Affero nếu bạn không cho phép sử dụng loại đó.
Rene Saarsoo

@Rene Saarsoo: Giấy phép MIT nêu rõ bản quyền không nên bị xóa nếu bạn định "sử dụng, sao chép, sửa đổi, hợp nhất, xuất bản, phân phối, cấp phép lại và / hoặc bán các bản sao của Phần mềm".
mipadi

6

Ngoài những câu trả lời khác, đó là những phỏng đoán tốt, lý do duy nhất khác tôi có thể nghĩ là cố tình làm xáo trộn thư viện nào bạn đang sử dụng có thể là để giảm thiểu tác động nếu phát hiện từ xa trong thư viện.

Ví dụ, nếu có một số showstopper lớn của lỗ XSS được phát hiện trong jQuery, thì việc sử dụng nó không có gì là quá rõ ràng.

Tôi đồng ý với những người trả lời khác nói rằng đó có thể là tác dụng phụ của việc tự động triển khai.


4

Điều này có thể được thực hiện để tối ưu hóa. Một người dùng cuối không cần phải nhận được ý kiến ​​đó. Ngay cả khi họ tiết kiệm 1kb mã bằng cách này, nó có thể tốt


3

Có lẽ là một nỗ lực sai lầm trong obfuscation, hoặc một nỗ lực sai lầm khác (được cho là) ​​để giảm băng thông. Tôi không thể nghĩ ra bất kỳ lý do thực tế hoặc kỹ thuật nào mà họ muốn làm điều này.

Nếu bạn tò mò, hãy thử gửi email cho họ hỏi tại sao họ xóa thông tin giấy phép khỏi mã.


7
không rút gọn mã xóa bình luận?
SB01

2

Họ có thể đang sử dụng một phiên bản sửa đổi cục bộ, và sau đó đổi tên nó theo tiêu chuẩn địa phương?


2

Chúng tôi đổi tên chúng tôi vì chúng tôi cung cấp các vật dụng thả vào cho khách hàng của chúng tôi và họ cũng có thể đang sử dụng một phiên bản khác của trò đùa không tương thích với chúng tôi.

$ có thể là bất kỳ phiên bản nào của jQuery (hoặc đôi khi là các thư viện khác như nguyên mẫu), nhưng dmJQuery luôn là phiên bản chúng tôi hỗ trợ.

(Chúng tôi không thực sự đổi tên nó trong nguồn, chỉ cần làm điều này ...)

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

Đó là lý do tại sao bạn không đổi tên tệp bạn tải xuống từ jQuery. Tôi hơi nghi ngờ rằng jquery-1.4.4.min.js sẽ có các phiên bản xung đột.
James

có, nhưng nếu tập lệnh của tôi tải jquery-1.4.4.min.js và tập lệnh của họ tải jquery-1.4.1.min.js trên cùng một trang, chúng tôi đã có xung đột phiên bản ... (bên cạnh đó, tập lệnh của tôi được gói vào một tệp JS để dễ dàng thả vào máy chủ của họ ...)
Mike Ruhlin

Giải pháp cho điều đó hoàn toàn giống với giải pháp hiện tại của bạn, phải không? Ồ ... Trừ khi jQuery của bạn không được tải phiên bản đầu tiên. Điều đó, và có mọi thứ trong một tập tin thuận tiện là điều dễ hiểu. :-)
James

1

Như được hiển thị trên trang web jQuery chính thức , nó được sử dụng bởi: Google, Dell, Digg, NBC, Netflix, Mozilla, WordPress và những người khác.

Đó là một thư viện được xem xét và sử dụng rộng rãi.

Vì vậy, tôi cho rằng họ thay đổi tên để mọi người không biết họ sử dụng jQuery, vì họ sẽ xem nó một cách tiêu cực, bởi vì họ đang dựa vào mã của người khác thay vì tự viết.


1

Các nhà phát triển trang web lớn quan tâm đến người dùng của họ, tôi không thấy bất kỳ lý do nào khiến họ bỏ qua cách này để làm xáo trộn các công nghệ họ sử dụng từ phần nhỏ nhất của người dùng đã sẵn sàng mã nguồn của trang.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.