Làm cách nào để phát hiện và ghi lại vi phạm GPL?


15

Làm thế nào để phát hiện ai đó đã sao chép mã nguồn mở được cấp phép với GPL vào ứng dụng thương mại nguồn đóng của họ, khi bạn không có quyền truy cập vào mã nguồn đóng của họ?

Chỉnh sửa: Câu trả lời tuyệt vời! Phần 2. Điều gì sẽ xảy ra nếu đó là một ứng dụng web mà bạn thậm chí không có quyền truy cập vào các tệp thực thi?

Kịch bản: Họ sao chép nguồn, thực hiện một số thay đổi nhỏ cho gui để mặt trước gần giống nhau; thêm một tính năng mới vào back-end hoàn toàn giống nhau; và không phát hành nó trở lại nguồn mở.


1
Vâng, nó không chỉ là một "ý tưởng hay". Nó có thể được thi hành thông qua hậu quả pháp lý (trong nhiều khu vực pháp lý). Đó là, thuê (hoặc có được) một luật sư và nhóm phân tích.
pst

Sau khi chỉnh sửa, điều này khá rõ ràng. Có lẽ sẽ không được di chuyển ở dạng hiện tại của nó. Vì không thể gửi lại dễ dàng như vậy, tôi đã cố hết sức để trả lời. Tôi cũng sửa đổi tiêu đề của bạn.
Tim Post

Hãy để mắt đến anh chàng này ;)
MarkJ

Câu trả lời:


6

Có vẻ như bạn thực sự đang cố gắng phát hiện ra điều đó, điều đó có nghĩa là bạn phải đào sâu vào chương trình thực thi được biên dịch (hoặc các thư viện liên kết) của chương trình độc quyền để nói. Bạn đang tìm kiếm các chuỗi và biểu tượng rõ ràng phù hợp với phần mềm miễn phí mà bạn nghi ngờ.

Trên một hệ điều hành UNIX, stringstiện ích cung cấp một đầu mối tuyệt vời. Phân tích cẩn thận thường sẽ tiết lộ những gì bạn cần. Nếu bạn thấy foolib_easy_init, tốt .. chương trình được biên dịch đang sử dụng crazyib.

Điều này tất nhiên thay đổi theo mức độ tối ưu hóa trình biên dịch, obfuscation được thực hiện trước khi biên dịch và có thể các biểu tượng không sử dụng / gỡ lỗi bị loại bỏ, nhưng những người quá lười biếng để viết phần mềm của riêng họ thường lười biếng như vậy khi che giấu điều đó.


1
Tôi hiểu, nếu chương trình là một ứng dụng web, nơi bạn thậm chí không có quyền truy cập vào các tệp nhị phân thì sao? Họ sao chép toàn bộ mã nguồn được cấp phép GPL, thay đổi một vài thành phần GUI và phát hành ứng dụng web nguồn đóng của riêng họ với giao diện gần như giống hệt nhau và phụ trợ hoàn toàn giống hệt nhau. Sau đó, họ thêm một tính năng mới vào ứng dụng mà không phát hành dưới dạng nguồn mở. Có khả thi để phát hiện loại vi phạm GPL này không?
siamii

3
@ bizso09: Đó không phải là vi phạm GPL, giả sử chúng ta đang nói về phần cuối. Xem câu trả lời của tôi để biết thêm chi tiết.
David Thornley

2
@ bizso09 - Sẽ chỉ là vi phạm GPL nếu ứng dụng được chuyển cho bạn ở định dạng bị xáo trộn / biên dịch mà không có mã nguồn. Chỉ cần đặt nó 'trong dịch vụ' và cho phép mọi người sử dụng nó sẽ không vi phạm. Tuy nhiên, nó sẽ vi phạm GPL của Affero , bao gồm phần mềm tương tác với mạng. Tuy nhiên, bạn có thể phát hiện ra nó thông qua các công cụ firebird / dev bằng cách kiểm tra tất cả các yếu tố (hoặc thậm chí tìm kiếm các lỗi đã biết tồn tại trong mã mà bạn nghi ngờ đã sử dụng sai).
Tim Post

4

BusyBox đã có một số trường hợp cao cấp về việc kiện các nhà sản xuất phần cứng vì sử dụng BusyBox mà không tiết lộ nguồn. Những vụ kiện đã được đệ trình bởi các luật sư tại Trung tâm Luật Tự do Phần mềm .

Nếu dự án của bạn đủ trưởng thành để tham gia Bảo tồn Tự do Phần mềm, bạn cũng có thể tham gia các dịch vụ của SFLC. (Không chắc chắn nếu các dự án không bảo thủ có thể sử dụng dịch vụ của SFLC --- bạn nên kiểm tra.)


Liên kết rất đẹp. Thậm chí không biết những thứ như thế tồn tại.
pst

1
Họ làm nghiên cứu cho bạn hay họ chỉ cung cấp cho các luật sư? Vì tôi nghĩ OP đang tìm kiếm người cũ
TheLQ

1
-1 Trong khi thú vị, điều này không trả lời câu hỏi.
HedgeMage

1
@HedgeMage - câu hỏi mơ hồ hơn một chút trước khi chỉnh sửa.
gièm pha

3

GPL chỉ có một ứng dụng giới hạn cho các ứng dụng web phía máy chủ. Bất cứ thứ gì phía máy khách đang được phân phối, nhưng đây thường là Javascript và người dùng sẽ tự động lấy nguồn. Bất cứ điều gì nghiêm ngặt phía máy chủ đang được chạy, không được phân phối và GPL chủ yếu áp dụng cho phân phối.

Đây là động lực cho Affero GPL, mà (IIRC) nói rằng về cơ bản là nếu bạn sử dụng phần mềm AGPLed trong một cái gì đó như ứng dụng web, thì cần phải cung cấp để phân phối nguồn.


1
Chính xác. AGPL đặc biệt bao gồm 'phần mềm tương tác với mạng'. Nó sẽ chỉ áp dụng cho ... một máy chủ IMAP ... giống như với ứng dụng web.
Tim Post

2

Nếu nó hoạt động như và chạy như chương trình của bạn, bạn có thể bắt đầu với objdumpvà các công cụ tương tự. Mục Slashdot cũ này cho thấy một phương pháp khác chính thức hơn để phát hiện vi phạm GPL.


1

Harald Welte đã thành công với cách tiếp cận cà rốt và gắn bó để có được các công ty đã sử dụng mã GPL được cấp phép của mình không đúng cách để tuân thủ các điều khoản của giấy phép. Nhiều công ty chỉ cần được giáo dục về hậu quả của các quyết định của họ và giải quyết các vấn đề của họ ra khỏi tòa án.


-1 Không thực sự giải quyết câu hỏi được hỏi, đó là cách xác định các hành vi lạm dụng đó, không phải làm gì sau khi tìm thấy.
HedgeMage

5
@HedgeMage - các câu hỏi đã được sửa gần đây, nó đã thực sự bối rối đủ rằng nó đã di cư đến đây, trong khi thực tế nó có lẽ không thuộc về SO.
Tim Post

2
@Tim: Bây giờ chúng ta có thể đi và trả đũa xuống @HedgeMage bây giờ không? Bệnh sốt rét? :-P (Đối với những người ẩn danh bên thứ ba: Không, đó không phải là một đề xuất nghiêm túc. Cả Tim và tôi đều là người điều hành trên các trang SE khác và sẽ không bao giờ tham gia vào bất cứ điều gì như vậy. Chắc chắn!)
Chris Jester-Young

1

Nếu bạn phát hiện vi phạm GPL (ai đó đã sử dụng mã theo bản quyền của bạn và không cung cấp nguồn trong khi phân phối nhị phân), hãy liên hệ với người vi phạm và yêu cầu giải quyết tình huống. Tài liệu thư, dữ liệu khi bạn liên lạc với ai, v.v.

Nếu đó không phải là bản quyền của bạn nhưng bạn đã phát hiện ra vi phạm, hãy liên hệ với chủ bản quyền gốc bên cạnh người vi phạm và nói với cô ấy / anh ấy về vi phạm. Khuyến cáo trước khi bạn liên hệ với người vi phạm.

Nếu phần mềm là một tác phẩm kết hợp với nhiều chủ bản quyền, thì điều tương tự cũng áp dụng cho bạn nếu bạn chỉ là một trong những người giữ bản quyền hoặc chỉ một nhóm người giữ bản quyền (chứ không phải tất cả). Đó là bản quyền của bạn và GPL áp dụng cho bất kỳ loại phái sinh nào - lớn hay nhỏ.

Nếu bạn do các giới hạn kỹ thuật không thể có được kiến ​​thức nếu vi phạm có thể xảy ra thực sự là vi phạm, bạn cần tìm các cách khác để tìm hiểu thêm. Ví dụ: bằng cách đặt câu hỏi cho người vi phạm có thể, bằng cách truy cập vào các nguồn nhị phân hoặc thậm chí thông qua các bên thứ ba, v.v.

Nếu mã được đề cập là theo GPL v2 và có vi phạm các điều khoản cấp phép, chấm dứt áp dụng. Người vi phạm đã mất tất cả các quyền mãi mãi để sử dụng mã GPL'ed. Anh ta phải liên lạc lại với tất cả các chủ sở hữu bản quyền và yêu cầu khôi phục quyền, nếu không vẫn sử dụng mã vi phạm bản quyền.

Nếu mã được đề cập là theo GPL v3 và vi phạm các điều khoản cấp phép, việc chấm dứt cũng có hiệu lực nhưng người vi phạm có thể phục hồi từ điều này bằng cách tự mình dừng vi phạm - trừ khi chủ bản quyền yêu cầu thêm.

Chỉnh sửa: Đây chỉ là thông tin chung. Nếu bạn muốn xem xét khía cạnh pháp lý cụ thể của vấn đề này, bạn nên là chủ sở hữu bản quyền và bạn nên liên hệ trước với đội ngũ pháp lý của mình để tìm hiểu những gì bạn cần cho một bằng chứng và những gì được đề xuất để giải quyết vi phạm ngay cả với luật pháp như Điều này thực tế hơn nhiều.

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.