WangXuan95 / FPGA-USB-Device

An FPGA-based USB full-speed device core to implement USB-serial, USB-camera, USB-audio, USB-hid, etc. It requires only 3 FPGA common IOs rather than additional chips. 基于FPGA的USB full-speed device端控制器,可实现USB串口、USB摄像头、USB音频、U盘、USB键盘等设备,只需要3个FPGA普通IO,而不需要额外的接口芯片。
https://gitee.com/wangxuan95/FPGA-USB-Device
GNU General Public License v3.0
542 stars 89 forks source link

GPL3.0 #19

Open the-moog opened 7 months ago

the-moog commented 7 months ago

Is this source code deiberately GPL3.0?

Only that means that, as it stands, this project can only be used in GPL3.0 compatible 'copy left' hardware as the act of synthisising it and loading into an FPGA is akin to a static link. Giving both project owners and contributors equal access and rights to both sets of IP. That makes using this in any commercial product almost impossible, even if not for profit, e.g. internal test equipment. Would you consider adopting a similar but less restrictive license, e.g. Apache or MIT? Or perhaps dual licence?

lnchan commented 6 months ago

If you'd look at issue #13, copyleft seems to be a deliberate choice, yes.

the-moog commented 6 months ago

@lnchan I took a look at #13 and added (a rather verbose, for which I apologise. I do ramble sometimes....) comment as an explanation to yourself and others why GPL3 can't work in most FPGA projects.

mangelajo commented 6 months ago

Yes, GPL3 is a very hard license, it means that you need to share not only your library when used, but also any code that you compile together with your library.

I'd recommend something lighter light the MIT license, (i.e. https://github.com/SpinalHDL/VexRiscv/blob/master/LICENSE ) , Apache license, or similar.

But anyway, I would like to use the lines here to congratulate you for the impressive work you have done here @WangXuan95

Thank you for sharing with us all!.

mangelajo commented 6 months ago

Also look at LGPL, this would help wider adoption of your library, while still ensuring that people will contribute back fixes and code to FPGA-USB-Device.