Alternatif Open Source gaya BSD untuk CMSIS?

8

Karena lisensi pada CMSIS tidak jelas ketika datang ke open source, itu mungkin merupakan pelanggaran untuk memasukkan CMSIS dalam proyek open source terlepas dari apakah itu menggunakan lisensi gaya GPL atau BSD.

Apakah ada alternatif CMSIS di luar sana untuk MCU berbasis Cortex M: di luar sana yang kompatibel dengan lisensi BSD atau Apache2.0?

Atau apakah ada yang tahu apakah boleh memasukkan CMSIS ke proyek sumber terbuka?

Terima kasih

Johan
sumber

Jawaban:

4

Banyak komponen perangkat lunak CMSIS sekarang dirilis di bawah lisensi BSD.

Dalam paket CMSIS resmi, ini adalah konten yang relevan dari "PERJANJIAN LISENSI PENGGUNA LISENSI PENGGUNA CMSIS.pdf":

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.

Kami menggunakan banyak komponen perangkat lunak CMSIS ini dalam open source, Apache berlisensi, mbed SDK: http://mbed.org/blog/entry/CMSIS-Components-BSD-Licensed/

emilmont
sumber
6

Dari membaca lisensi CMSIS 2.0 saat ini , tampaknya maksudnya bukan untuk mencegah Anda mengembangkan perangkat lunak Anda sebagai sumber terbuka atau sebaliknya, tetapi lebih lanjut tentang menutupi pantat ARM. Yaitu mereka ingin memastikan bahwa Anda tidak mengklaim kepemilikan kode itu sendiri atau IP apa pun yang mungkin ada di dalamnya, dan juga bahwa itu digunakan untuk mengembangkan kode yang sesuai dengan CMSIS dan bukan untuk tujuan lain.

  1. Tunduk pada ketentuan Klausul 2, 3, 4 dan 5, ARM dengan ini memberikan kepada Anda di bawah kekayaan intelektual apa pun yang (a) dimiliki atau dilisensikan secara bebas oleh ARM tanpa pembayaran kepada pihak ketiga yang tidak terafiliasi dan (b) diwujudkan dalam salah satu atau keduanya Kode Sumber dan Spesifikasi, sebagaimana berlaku, atau Diperlukan (didefinisikan dalam Klausul 4 di bawah) untuk menyalin atau mengimplementasikan antarmuka aplikasi biner yang sesuai dengan Spesifikasi, lisensi abadi, non-eksklusif, tidak dapat dipindahtangankan, bebas royalti, gratis di seluruh dunia untuk:
    ( i) menggunakan dan menyalin Spesifikasi untuk tujuan pengembangan, pengembangan, pembuatan, pembuatan, penawaran untuk menjual, menjual, memasok atau mendistribusikan produk yang memenuhi Spesifikasi;
    (ii) menggunakan, menyalin, memodifikasi dan mensublisensikan Kode Sumber (dalam bentuk kode sumber atau objek) semata-mata dengan tujuan untuk mengembangkan, setelah mengembangkan, membuat, memproduksi, menawarkan untuk menjual, menjual, memasok atau mendistribusikan produk yang sesuai dengan Spesifikasi, asalkan Anda mempertahankan semua pemberitahuan hak cipta yang termasuk dalam Kode Sumber.

  2. Kode Sumber dan Spesifikasi dimiliki oleh ARM atau pemberi lisensinya dan dilindungi oleh undang-undang hak cipta dan perjanjian hak cipta internasional serta hukum dan perjanjian kekayaan intelektual lainnya. Kode Sumber dan Spesifikasi dilisensikan tidak dijual. Kecuali secara khusus dilisensikan sesuai dengan Klausa 1, Anda tidak memperoleh hak, kepemilikan, atau minat pada Kode Sumber dan Spesifikasi atau kekayaan intelektual apa pun yang terkandung di dalamnya. Dalam keadaan apa pun, lisensi yang diberikan sesuai dengan Klausul 1 tidak dapat ditafsirkan sebagai pemberian Anda, secara tegas atau implikasinya, penghentian atau sebaliknya, lisensi untuk menggunakan teknologi ARM apa pun kecuali Kode Sumber dan Spesifikasi. Kecuali sebagaimana ditentukan dalam Klausul 1, tidak ada hak yang diberikan kepada Anda untuk mensublisensikan hak yang diberikan kepada Anda berdasarkan Lisensi ini.

Yang mengatakan, jika Anda masih tidak nyaman dengan istilah-istilah itu, Anda bisa mengambil datasheet dan membuat header sendiri. Orang dari microbuilder.eu telah melakukan hal itu, dan merilis LPC1114 dan LPC1343 basis kode di bawah BSD.

Igor Skochinsky
sumber
tautan bagus ke microbuilder.eu dan proyek itu.
Johan
1
@Johan, mereka juga memiliki basis kode 13xx: code.google.com/p/lpc1343codebase
max taldykin
4

Saya kira tidak ada masalah. Masing-masing file memiliki pernyataan ini:

"* ARM Limited (ARM) memasok perangkat lunak ini untuk digunakan dengan mikrokontroler berbasis prosesor Cortex-M *. File ini dapat didistribusikan secara bebas * dalam alat pengembangan yang mendukung prosesor berbasis ARM tersebut."

dan saya juga tidak melihat apa pun di lisensi yang menghalangi itu.

Ada direktori gcc dalam distribusi CMSIS, yang menyiratkan bahwa itu dapat diberikan dengan alat open-source.

Pernyataan ini:

(i) menggunakan dan menyalin Spesifikasi CMSIS untuk tujuan mengembangkan, mengembangkan, membuat, memproduksi, menawarkan untuk menjual, menjual, memasok atau mendistribusikan produk yang sesuai dengan Spesifikasi CMSIS, asalkan Anda mempertahankan setiap pemberitahuan hak cipta yang termasuk dengan, atau dalam, Spesifikasi CMSIS dan asalkan Anda tidak menggunakan nama, logo atau merek dagang ARM untuk memasarkan produk-produk tersebut;

menyiratkan bahwa Anda dapat memasukkan CMSIS dalam proyek open source Anda.

Leon Heller
sumber
1
Tetapi apakah proyek open source merupakan "alat pengembangan"? Katakanlah saya sedang menulis program blinky open source, dan dorong kode itu ke github. Bisakah itu benar-benar didefinisikan sebagai "didistribusikan dalam alat pengembangan"?
Johan
Dan turun di "(iii) gunakan, salin, ubah, dan sublisensi Kode Contoh". Saya pikir kata ajaibnya adalah sublisensi, karena itu berarti saya dapat memodifikasi dan mendistribusikan kembali dengan lisensi sumber terbuka?
Johan
1
Bagian penting adalah 'untuk digunakan dengan Cortex-M *'. Pembuat chip ingin Anda menggunakan chip mereka! Lisensi mengizinkan ini - seperti yang Anda perhatikan pada subpoin iii. Bagian penting adalah bahwa apa pun yang Anda jual dengan itu atau setiap sublisensi yang Anda lakukan harus memasukkan chip ARM Cortex *. Jadi jangan memodifikasi file agar berfungsi dengan MSP430 dan mendistribusikannya kembali dan Anda baik-baik saja.
AngryEE
1
Saya percaya kutipan pertama benar-benar bertentangan dengan GPL (dalam semangat) karena membatasi kebebasan Anda untuk menggunakan dan mendistribusikan perangkat lunak.
XTL