Tôi có thể sử dụng giấy phép Qt LGPL và bán ứng dụng của mình mà không có bất kỳ loại hạn chế nào không? [đóng cửa]


85

Tôi muốn bắt đầu một dự án đa nền tảng. Tôi đã có những nghiên cứu của mình và bây giờ tôi gần như chắc chắn Qt là một thỏa thuận phù hợp. Tuy nhiên, có một trở ngại lớn ở đây: cấp phép .

Tôi muốn bán dự án của mình và tôi cũng không muốn đưa ra bất kỳ nguồn nào liên quan đến công việc của tôi hoặc trả tiền cho giấy phép. Tôi đã kiểm tra và nhận thấy Qt cung cấp cả giải pháp thương mại và mã nguồn mở. Tôi đã nghe quá nhiều câu nói mâu thuẫn về cấp phép Qt khiến tôi bối rối rất nhiều. Một số người nói rằng ngay cả khi tôi sử dụng phiên bản LGPL của Qt, tôi vẫn cần gửi mã của mình. Điều này có đúng không?

Ai đó có thể cho tôi lời giải thích đơn giản về giấy phép Qt và cho tôi biết liệu tôi có thể bán ứng dụng của mình mà không có bất kỳ hạn chế nào hay không? Có ai cho tôi biết bất kỳ tương đương nào khác với Qt để phát triển đa nền tảng mà không có bất kỳ hạn chế nào không?


5
Câu hỏi này xoay quanh các vấn đề pháp lý. Những điều đó thật không may ở đây trên SO.
Bart

1
Tôi có một tình huống tiến thoái lưỡng nan về chủ đề này, Không có gì gây tranh cãi về bản thân việc cấp phép! chỉ là cách họ được đối xử và cách họ ảnh hưởng đến tôi trong quá trình phát triển. Vì vậy, tôi nghĩ rằng hoàn toàn ổn nếu đặt một câu hỏi như vậy.
Rika

1
Tôi không tìm kiếm bất kỳ lời khuyên nào cho việc chuyển sang thương mại hoặc LGPL, tôi chỉ cần một số giải thích rõ về hệ thống cấp phép. Vì vậy, tôi sẽ rất biết ơn nếu bạn mở câu hỏi này để làm rõ thêm về chủ đề này.
Rika

1
Sau đó đến với Meta. Hỏi xem với công thức của bạn câu hỏi có đúng chủ đề hay không và có thể được mở lại. Nó cần một người kiểm duyệt hoặc 5 người có đủ đặc quyền để mở lại. Chỉ cần đặt câu hỏi thân thiện ở đó và cộng đồng sẽ có cái nhìn. meta.stackoverflow.com
Bart

1
Meta tuyệt vời miễn là bạn không thực sự quan tâm đến đại diện Meta của mình. Việc bỏ phiếu ở đó tự do hơn nhiều.
rlemon

Câu trả lời:


100

Chỉ cần liên kết động với Qt. Nếu bạn liên kết động đến các thư viện LGPL, không có gì phải lo lắng.

Nếu bạn liên kết tĩnh với chúng, bạn chỉ có thể phân phối các tệp đối tượng của mình (không phải mã nguồn của bạn) và bạn sẽ ổn.

Ý tưởng của LGPL là người dùng cuối phải có thể thay thế thư viện LGPL bằng một phiên bản mà họ muốn. Liên kết động với thư viện LGPL cho phép bạn làm điều đó, cũng như liên kết tĩnh và phân phối tệp đối tượng của bạn. Vì vậy, miễn là bạn làm điều này, bạn có thể bán chương trình nguồn đóng của mình tất cả những gì bạn muốn.

Tất nhiên, LGPL còn nhiều thứ hơn chỉ là điều này, nhưng đó là phần liên quan.


6
LGPL cũng yêu cầu bạn "không hạn chế việc sửa đổi các phần của Thư viện có trong Công việc kết hợp và thiết kế ngược để gỡ lỗi các sửa đổi đó", điều này có thể mâu thuẫn với một số điều cấm của EULA thương mại về thiết kế ngược.
Josh Kelley

15
@Hossein Bạn thậm chí đã đọc câu trả lời? Điều này không liên quan gì đến mã của bạn . Giấy phép LGPL của Qt chỉ liên quan đến Qt và Qt, vì vậy bạn có thể đóng gói mã của mình và cấp phép theo cách bạn muốn, nhưng trừ khi bạn định mua giấy phép thương mại Qt, bạn phải liên kết động với Qt. Giấy phép thương mại của Qt dành cho khi bạn muốn sửa đổi mã nguồn của Qtkhông công bố những thay đổi bạn đã thực hiện cho công chúng.
cmannett85,

1
@Hossein: Và miễn là bạn liên kết động đến Qt. Thành thật mà nói, bạn chỉ nên tìm một luật sư. Bạn luôn nên nói chuyện với một người trước khi tham gia vào một liên doanh thương mại. Và FWIW, IANAL.
bắp

2
@Hossein, Người dùng có thể thiết kế ngược lại và thay thế hoàn toàn chính Qt. Tuy nhiên, điều này có nghĩa là bạn KHÔNG nên cấm thiết kế ngược. Bạn phải phân phối Qt dưới dạng DLL .... và để được thưởng, các tệp Đối tượng của ứng dụng của bạn (không bắt buộc). Nếu bạn CHĂM SÓC về các tệp đối tượng của mình, thì bạn cũng nên quan tâm đến EXE của mình! Bởi vì đối với một người biết cách sử dụng các tệp Đối tượng, anh ta cũng biết CHÍNH XÁC là EXE! Những người này có xu hướng quan tâm đến những thứ cấp thấp và họ biết nhiều hơn chúng ta. Đối với họ, thậm chí EXE của bạn có thể là có thể đọc được dưới dạng mã nguồn của bạn cho bạn: P
Петър Петров

1
@ ПетърПетров Đúng, thiết kế ngược là mối quan tâm thực sự khi sử dụng thư viện LGPL. Tuy nhiên, các tệp thực thi thường khó thiết kế ngược hơn nhiều so với một loạt tệp đối tượng (cụ thể là vì tệp thực thi thường bị loại bỏ, có tối ưu hóa thời gian liên kết và áp dụng nội tuyến, v.v.). Nhưng bạn hoàn toàn đúng: nếu bạn không cẩn thận về cách bạn xây dựng tệp thực thi của mình, thì việc thiết kế ngược có thể dễ dàng như tất cả các tệp đối tượng của bạn.
Cornstalks
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.