Câu hỏi thường gặp về Giấy phép
Trong bài viết này chúng tôi sẽ giải thích tại sao giấy phép thư viện máy chủ và máy khách MariaDB và MySQL tác động đến những ứng dụng khác và tác động đến những ứng dụng khác và những bước bbạn có thể làm để thực hiện theo GPL hoặc tránh phải thay đổi các ứng dụng của bạn theo GPL.
Trong phần văn bản sau đây chúng ta nói về MariaDB. Các hướng dẫn cũng áp dụng với MySQL nói chung, ít nhất phù hợp với phiên bản lên tới 5.1.55 là phiên bản ổn định mới nhất ở thời điểm viết bài.
Contents
Giấy phép sử dụng bởi MariaDB
MariaDB được phân phối theo giấy phép GPL, phiên bản 2.
Các thư viện máy khách MariaDB mới cho C và Java được phân phối dưới giấy phép LGPL, phiên bản 2.1 hoặc mới hơn. Giấy phép LGPL cho phép bạn phân phối những thư viện máy khách MariaDB một cách tự do với bất kỳ ứng dụng nào.
Thư viện máy khách MariaDB được bao gồm với máy chủ MariaDB cũng theo giấy phép GPL phiên bản 2, nhưng có một ngoại lệ FLOSS để cho phép bạn tổ hợp nó vớihầu hết các phần mềm nguồn mở khác, mà không xung đột với giấy phép của chúng, ngay cả khi giấy phép không tương thích với GPL. Chúng tôi khuyên bạn nên sử dụngcác thư viện máy khách mới cho bất kỳ ứng dụng không theo giấy phép GPL.
Sử dụng nội bộ là miễn phí
Giấy phép GPL chỉ ảnh hưởng đến mã nguồn mà bạn phân phối cho các bên khác.
Sử dụng nội bộ trong một tổ chức là hoàn toàn miễn phí và không phải chịu bất kỳ điều kiện gì. Không có những điều như "phân phối nội bộ" khiến hạn chế việc sử dụng mã nguồn của bạn được yêu cầu nó trở thành theo-GPL.
Việc kết nối với một dịch vụ từ xa mà nó chạy MariaDB (hoặc bất kỳ phần mềm GPL nào khác) trên nền cũng là miễn phí
Đối với các chương trình mà bạn sở hữu tất cả bản quyền ©, có bản chất là không rủi ro khi sử dụng phần mềm GPL. Lập luận bạn có tehẻ sử dụng để bảo vệ chính bản thân là nếu phần mềm đã trở thành GPL như một phần của việc phân phối, bạn là chủ sở hữu quyền tác giả có thể ngay lập tức trở lại một hần của bạn trở lại bản quyền ban đầu của nó. Không ai có quyền yêu cầu bạn phải tiết lộ hoặc phân phối lại mã của bạn đến bên ngoài tổ chức của bạn ngoài tổ chức của bạn, ngay cả nếu bạn muốn được phân phối nó trong nội bộ được liên kết với phần mềm GPL!
Nếu luật sự của bạn có liên quan về việc phân phối phần mềm liên kết với thư viện GPL giữa các thực thể pháp lý khác nhau trong tổ chức của bạn, bạn có thể giải quyết điều này bằng việc phân phối các thành phần và từng phần phần mềm GPL riêng rẽ, và có sự tổ hợp các thực thể khác của bạn. Bạn cũng có thể chuyển đổi sử dụng các thư viện máy khách LGPL client mới.
Việc phân phối một ứng dụng với một đầu nối/máy khách MariaDB
Phần này dành cho những người muốn phân phối mã nguồn thư viện máy khách MariaDB, nhưng không phải máy chủ, với các ứng dụng của chúng.
Ứng dụng phần mềm tự do/ nguồn mở
Nếu ứng dụng của bạn là Phần mềm tự do/nguồn mở và sử dụng một trong các giấy phép được liệt kê dưới đây trong ngoại lệ FLOSS, giấy phép GPL trong thư viện máy khách không tác động đến ứng dụng của bạn.
Trong các trường hợp khác chúng tôi khuyến khích bạn sử dụng các thư viện máy khách LGPL mới.
Sử dụng một bộ kết nối không phải là GPL
Nếu bạn sử dụng một bộ kết nối mà nó không là GPL, bạn chỉ bị ràng buộc bởi bộ kết nối đó. Một số ví dụ là:
- trình điều khiển MySQL thuần cho PHP - mysqlnd
- ruby-mysql
- các thư viện máy khách LGPL hoặc C và Java.
Ở trên có giấy phép cho phép bạn sử dụng chúng một cách tự do, mà không có bạn trở nên bị ràng buộc bởi giấy phép GPL.
Việc sử dụng một nguồn cơ sở dữ liệu độc lập nền tảng
Nếu bạn đang sử dụng một nền tảng cho phép bạn kết nối động đến các Hệ quản trị Cơ sở dữ liệu khác nhau, bất kỳ mô-đun được cấp phép GPL nào được nạp bởi nền tảng sẽ không tác động đến ứng dụng. Những nền tảng như vậy là
- ODBC (Kết nối Cơ sở dữ liệu Mở)
- JDBC (kết nối Cơ sở dữ liệu Java)
- Perl
- PHP PDO trình điều khiển MySQL
Lý do GPL trong thư viện máy khách MySQL sẽ không tác động đến ứng dụng của bạn trong trường hợp này là máy khách GPL được hỗ trợ trong một giao diện tiêu chuẩnvà do đó một thành phần tùy chọn giữa nhiều thứ khác. Ứng dụng của bạn có thể chỉ như dễ sử dụng nền tảng để kết nối đến một Hệ quản trị Cơ sở dữ liệu khác hơn là MariaDB hoặc MySQL.
Bất kỳ phần mềm nào có thể được kết nối với Bộ kết nối/ODBC MySQL được trang bị giấy phép GPL v2 Connector/ODBC, mà không cần cho phần mềm đó phải là GPL. Đó là bởi vì có một phần mềm quản lý tổng thể, trình quản lý ODBC, giữa Bộ kết nối/ODBC theo GPL và phần mềm của bạn. Nếu bất kỳ lô-gíc nào được yêu cầu với phần mềm cái mà giao diện với Bộ kết nối/ODBC MySQLtrở thành GPL, sau đó áp dụng cũng cho trình quản lý ODBC bởi chính nó. Tuy nhiên, trình quản lý ODBC không phải là GPL, không trên Windows không trên Linux. Bởi hậu quả, không ai được phép sử dụng MySQL trình điều khiển ODBC cho bất cứ điều gì.
Việc sử dụng thư viện máy khách MariaDB cho C
Nếu ứng dụng của bạn sử dụng một giấy phép mà nó được bao gồm bởi ngoại lệ FLOSS, sau đó bạnnên sử dụng thư viện máy khách LGPL hoặc C mới.
Giấy phép LGPL cho phép bạn phân phối những thư viện máy khách MariaDB một cách tự do với bất kỳ ứng dụng nào. Nếu bạn chỉnh sửa thư viện máy khách, bạn cần xuất bản mã nguồn mới.
Phân phối một ứng dụng sở hữu với máy chủ MariaDB/MySQL
Khi bạn phân phối ứng dụng của bạn cùng với MariaDB hoặc MySQL bạn bị ràng buộc (hoặc có thể được nhìn thấy bởi một số luật sư) bởi giấy phép GPL nếu một số câu sau được áp dụng:
- Bạn đang sử dụng mã nguồn GPL từ MySQL được liên kết trực tiếp đến ứng dụng của bạn. (Giống như thư viện máy khách MySQL GPL).
- Ứng dụng của bạn yêu cầu máy chủ MariaDB để làm việc và không có máy chủ Maria không khởi động hoặc nó có các chức năng rất bị giới hạn.
Vấn đề với thư viện máy khách có thể tránh được bằng việc sử dụng một trong các giải pháp được đề cập trước đó.
Nếu ứng dụng của bạn làm việc với nhiều cơ sở dữ liệu, hoặc là tự nhiên hoặc bằng cách sử dụng một trong các nền tảng độc lập mã nguồn cơ sở dữ liệu, sau đó bạn có thể tự do phân phối máy chủ MariaDB với ứng dụng của bạn không bị tác động bởi GPL. Lý do cho điều này là MariaDB chỉ có một từy chọn, thành phần độc lập trong phân phối phần mềm của bạnvà phần 2 của giấy phép GPL cho phép điều này:
"Ngoài ra, việc chứa các sản phẩm khác không dựa trên Chương trình với Chương trình (hay với sản phẩm dựa trên Chương trình) trên một khối lượng lưu trữ hoặc phân phối một phương tiện không đem lại khác làm việc thuộc phạm vi của Giấy phép này."
Bạn cũng có tùy chọn để mua giấy phép cho MySQL từ Oracle để có được MySQL theo các điều khoản bản quyền khác. Nếu bạn muốn sau đó có thể sử dụng MariaDB thay vì MySQL, hãy đảm bảo rằng giấy phép của bạn Thỏa thuận cho phép bạn thay đổi các mã MySQL! (Đây là cái gì mà bạn phải đảm bảo trong mọi trường hợp vì nếu không bạn có thể chạy vào lỗi mà Oracle sẽ không sửa chữa, bạn không được phép để sửa chữa và có thể làm cho phần mềm MySQL không sử dụng được cho bạn!)
Quyền sử dụng các MariaDB thay đổi mã trong ứng dụng của bạn có thể yêu cầu từ Monty Program Ab.
Lưu ý pháp lý
Các văn bản trên được viết bởi Michael "Monty" Widenius, người không phải là một luật sư và bạn không nên xem bất kỳ báo cáo của các thông tin trên "sự thật cuối cùng" trong tất cả các tình huống. Mặt khác, nó là David và Monty đã cùng nhau quyết định làm cho MySQL GPL và cũng đã quyết định và công khai tuyên bố ý định đằng sau sự thay đổi giấy phép này, do đó, một số công trạng cho các thông tin trong bài viết này.
Nếu bạn có một ý kiến thứ hai về cách GPL làm việc như thế nào trong trường hợp này, bạn có thể liên hệ Trung tâm Luật Tự do Phần mềm hoặc Tổ chức Phần mềm Tự do về điều này. Không một phần đã có bất cứ điều gì để làm với bài viết Cơ sở tri thức này nhưng họ là những nhà chức trách mặc định để chuyển đến khi bạn muốn biết thêm về GPL hoặc LGPL.