Các lựa chọn thay thế nguồn mở BSD cho CMSIS?


8

Vì các giấy phép trên CMSIS không rõ ràng khi nói đến nguồn mở, nên có thể vi phạm khi đưa CMSIS vào một dự án nguồn mở bất kể nó sử dụng giấy phép kiểu GPL hay BSD.

Có bất kỳ giải pháp thay thế CMSIS nào cho MCU dựa trên Cortex M ngoài đó có tương thích với giấy phép BSD hoặc Apache2.0 không?

Hoặc có ai biết liệu có ổn không khi đưa CMSIS vào một dự án nguồn mở?

Cảm ơn

Câu trả lời:


4

Nhiều thành phần phần mềm CMSIS hiện được phát hành theo giấy phép BSD.

Trong gói CMSIS chính thức, đây là nội dung có liên quan của "HỢP ĐỒNG CẤP GIẤY PHÉP NGƯỜI DÙNG CMSIS END":

The package also includes the components contained in the following directories:
(a) ./CMSIS/DSP_Lib - DSP Library sources and examples;
(B) ./CMSIS/Include - Header files;
(c) ./CMSIS/Lib - DSP Library build for various toolchains;
(d) ./CMSIS/RTOS - Header file template for CMSIS-RTOS implementation; and
(e) ./Device - Template files and implementations for Cortex-M class processors.

All of the above components are licensed to you under the terms of the BSD licence,
which is incorporated within or alongside the above components.

Chúng tôi đang sử dụng nhiều thành phần phần mềm CMSIS này trong mã nguồn mở, được cấp phép, SDK mbed: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/


6

Từ việc đọc giấy phép CMSIS 2.0 hiện tại , có vẻ như ý định không phải là ngăn bạn phát triển phần mềm của bạn dưới dạng nguồn mở hay nói cách khác, mà là nói thêm về việc bảo vệ mông của ARM. Tức là họ muốn đảm bảo rằng bạn không yêu cầu quyền sở hữu mã hoặc bất kỳ IP nào có thể có trong đó và cũng được sử dụng để phát triển mã tuân theo CMSIS chứ không nhằm mục đích nào khác.

  1. Theo các quy định tại các khoản 2, 3, 4 và 5, ARM cấp cho bạn theo bất kỳ tài sản trí tuệ nào được ARM sở hữu hoặc cấp phép tự do mà không cần thanh toán cho các bên thứ ba không liên kết và (b) được thể hiện trong một hoặc cả hai Mã nguồn và Thông số kỹ thuật, nếu có thể, hoặc Cần thiết (được định nghĩa trong Khoản 4 bên dưới) để sao chép hoặc triển khai giao diện nhị phân của ứng dụng tuân thủ Thông số kỹ thuật, giấy phép vĩnh viễn, không độc quyền, không thể chuyển nhượng, miễn phí bản quyền trên toàn thế giới:
    ( i) sử dụng và sao chép Thông số kỹ thuật cho mục đích phát triển, phát triển, sản xuất, sản xuất, chào bán, bán, cung cấp hoặc phân phối các sản phẩm tuân thủ Thông số kỹ thuật;
    (ii) sử dụng, sao chép, sửa đổi và cấp phép cho Mã nguồn (dưới dạng mã nguồn hoặc mã đối tượng) chỉ nhằm mục đích phát triển, phát triển, sản xuất, sản xuất, cung cấp để bán, bán, cung cấp hoặc phân phối các sản phẩm tuân thủ Đặc điểm kỹ thuật, miễn là bạn giữ tất cả các thông báo bản quyền có trong Mã nguồn.

  2. Mã nguồn và Đặc điểm kỹ thuật được sở hữu bởi ARM hoặc người cấp phép của nó và được bảo vệ bởi luật bản quyền và các điều ước quốc tế về bản quyền cũng như các luật và hiệp ước sở hữu trí tuệ khác. Mã nguồn và Thông số kỹ thuật được cấp phép không được bán. Trừ khi được cấp phép cụ thể theo Khoản 1, bạn không có quyền, quyền hoặc lợi ích trong Mã nguồn và Thông số kỹ thuật hoặc bất kỳ tài sản trí tuệ nào được thể hiện trong đó. Trong mọi trường hợp, các giấy phép được cấp theo Khoản 1 sẽ được hiểu là cấp cho bạn, rõ ràng hoặc theo hàm ý, estoppel hoặc bằng cách khác, giấy phép sử dụng bất kỳ công nghệ ARM nào ngoại trừ Mã nguồn và Thông số kỹ thuật. Trừ khi được quy định tại Khoản 1, không có quyền nào được cấp cho bạn để cấp phép cho các quyền được cấp cho bạn theo Giấy phép này.

Điều đó nói rằng, nếu bạn vẫn không thoải mái với những điều khoản đó, bạn có thể chỉ cần lấy biểu dữ liệu và tự làm tiêu đề. Các chàng trai từ microbuilder.eu đã làm điều đó và phát hành cơ sở mã LPC1114LPC1343 của họ dưới BSD.


liên kết tốt đẹp đến microbuilder.eu và những dự án.
Johan

1
@Johan, họ cũng có 13xx codebase: code.google.com/p/lpc1343codebase
max taldykin

4

Tôi không nghĩ rằng có một vấn đề. Các tệp riêng lẻ có tuyên bố này:

"* ARM Limited (ARM) đang cung cấp phần mềm này để sử dụng với các bộ vi điều khiển dựa trên bộ xử lý Cortex-M *. Tệp này có thể được phân phối tự do * trong các công cụ phát triển hỗ trợ các bộ xử lý dựa trên ARM đó."

và tôi cũng không thấy bất cứ điều gì trong giấy phép loại trừ nó.

Có một thư mục gcc trong bản phân phối CMSIS, ngụ ý rằng nó có thể được cung cấp với các công cụ nguồn mở.

Tuyên bố này:

(i) sử dụng và sao chép Thông số kỹ thuật CMSIS cho mục đích phát triển, phát triển, sản xuất, sản xuất, cung cấp để bán, bán, cung cấp hoặc phân phối các sản phẩm tuân thủ Thông số kỹ thuật CMSIS, miễn là bạn giữ bất kỳ thông báo bản quyền nào bao gồm, hoặc trong, Đặc điểm kỹ thuật CMSIS và miễn là bạn không sử dụng tên, logo hoặc nhãn hiệu của ARM để tiếp thị các sản phẩm đó;

ngụ ý rằng bạn có thể kết hợp CMSIS trong dự án nguồn mở của mình.


1
Nhưng một dự án nguồn mở có phải là một "công cụ phát triển" không? Giả sử tôi đang viết một chương trình mờ nguồn mở và đẩy mã đó lên github. Điều đó thực sự có thể được định nghĩa là "phân phối trong các công cụ phát triển" không?
Johan

Và xuống tại "(iii) sử dụng, sao chép, sửa đổi và cấp phép lại Mã ví dụ". Tôi nghĩ từ ma thuật là cấp phép, vì điều đó có nghĩa là tôi có thể sửa đổi và phân phối lại bằng giấy phép nguồn mở?
Johan

1
Phần quan trọng là 'để sử dụng với Cortex-M *'. Các nhà sản xuất chip muốn bạn sử dụng chip của họ! Giấy phép cho phép điều này - như bạn nhận thấy trong điểm phụ iii. Phần quan trọng là bất cứ thứ gì bạn bán với nó hoặc bất kỳ việc cấp phép nào bạn làm đều phải kết hợp chip ARM Cortex *. Vì vậy, đừng sửa đổi các tệp để hoạt động với MSP430 và phân phối lại chúng và bạn vẫn ổn.
AngryEE

1
Tôi tin rằng trích dẫn đầu tiên hoàn toàn chống lại GPL (về tinh thần) vì nó giới hạn quyền tự do sử dụng và phân phối phần mềm của bạn.
XtL
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.