2010-07-12 28 views

Trả lời

2

Có, bạn phải làm như vậy.

Nhưng không phải vì bạn đang gửi mysql-connector với ứng dụng của bạn, nhưng vì bạn đang liên kết với nó. (Nếu bạn thực sự làm)

Để được giải thích và giải pháp, hãy xem ghi chú này link text

8

Điều này luôn là vấn đề gây tranh cãi và gây nhầm lẫn nhiều. Điều này đã không được hỗ trợ bởi thái độ của MySQL AB, người thường khuyên bạn nên mua một giấy phép thương mại bất cứ điều gì bạn đang làm (miễn cho bạn khỏi các yêu cầu của GPL), thay vì giải thích sự thể hiện của họ trong hoàn cảnh nào. bạn hoạt động mà không có ai. (Vâng, họ không muốn dành nhiều thời gian tranh luận về việc bán hàng, tôi cho là vậy.)

Điểm khủng hoảng như tôi hiểu rằng trong khi GPL được xác định rõ và được hiểu rộng rãi trong kịch bản của 'liên kết' trong mô hình C truyền thống (eg), nó ít hơn so với các ngôn ngữ thông dịch như Java, nơi giao tiếp và lựa chọn giữa các thành phần là một vấn đề thời gian chạy, chất lỏng. Có thể lập luận rằng việc bỏ một .jar vào thư mục phân phối của bạn là "tập hợp đơn thuần" trên một phương tiện, trái ngược với "công việc tập thể", theo các điều khoản của phần GPLv2 2?

hnnnnmm ... tốt, có thể. Fancy làm cho lập luận đó tại tòa án? Nghi ngờ.

Bỏ qua vấn đề giải thích thư GPL (như tôi không phải là luật sư), tinh thần của ý định GPL có thể được tóm tắt bằng câu hỏi: Trình kết nối/J có phụ thuộc vào gói của bạn không hoặc là một thành phần riêng biệt mà người dùng cuối có thể chọn cài đặt và sau đó kết nối với gói của bạn?

Nếu bạn không muốn cấp phép gói của mình dưới dạng GPL hoặc nâng cấp giấy phép thương mại để hỗ trợ MySQL, hãy đảm bảo trường hợp sau thực sự là: không bó MySQL hoặc Trình kết nối với gói của bạn chặt chẽ hơn chỉ đơn giản là có trình cài đặt riêng biệt trên cùng một đĩa. Đừng làm cho trình cài đặt chạy cả hai.

Tốt nhất: đảm bảo phần mềm của bạn có thể hoạt động với nhiều chương trình cơ sở dữ liệu khác nhau, cho phép người dùng chọn họ sẽ sử dụng nó. Đây là một điều tốt để làm anyway; mã cơ sở dữ liệu cụ thể hút. Ngoài ra, nếu bạn muốn cung cấp trình cài đặt một cú nhấp chuột bao gồm cơ sở dữ liệu và đặt chúng lại với nhau, bạn luôn có thể sử dụng một giấy phép với giấy phép cho phép, chẳng hạn như PostgreSQL hoặc SQLite.

[Tôi giả định ở đây bạn đang nói về gói thương mại thay vì chương trình nguồn mở mà bạn chỉ muốn cung cấp theo giấy phép khác với GPL. Trong trường hợp đó, hãy xem tệp EXCEPTIONS-CONNECTOR-J cho giấy phép bạn cũng được phép sử dụng làm FOSS exceptions.]

Các vấn đề liên quan