No. You cannot take the code and relicense it without the original author's permission. You *CAN* ask the author to grant you a specific license (in your case a BSD license) if you get it in writing. They are the copyright (or copyleft in this instance ;) holder and can grant as many individual licenses as they want. I read your post. This isn't a clean-room implementation. You just want to 'reference' source code - one of the problems of knowledge, intent, and purpose in having source code means that any implementation you create is questionable. Even if they reverse engineered the code from a closed, proprietary source it isn't 'open' in the sense that they own the code. GPL is no different than any proprietary license (pretend you have Microsoft's code in hand - treat it the same as that unless you are producing a GPL version). If you do use the GPL code and someone gets wind of it, they could force you to withdraw your code entirely or require you accept their license/make it GPL. If they didn't get a license from the vendor and they did reverse engineer it, they worked hard for their efforts. The easiest thing would be to ask for permission for a custom license just-in-case. I'd hate for your hard work to be brought into question. Hope this helps, Norman --- Siarzhuk Zharski <zharik@xxxxxx> wrote: > Good afternoon, gentlemen, > > I'm not sure, that this is a right place to ask such > questions but... > :-) Well. I'm currently working on USB SCSI > interface module for mass > storage devices. Some standard protocols are already > implemented, some > are partially implemented. Anyway the design of this > module allows to > simply expand it for supporting another protocols > that use same commands > sets and can act as SCSI devices. > > I have seen in sources of the usb storage driver > from Linux, that there > are many vendor-specific devices supported, that use > non-standard > protocols. One from those specific devices is > FREECOM external USB drive > that I have and going to support in my driver. I > have looking for > alternative sources of information about FREECOM > protocol but there are > no ones. People say that FREECOM staff is also not > friendly to > third-part developers. Only Linux source code is > available for me now. > > The Question: Can I use this source as reference > information about > FREECOM protocol for writing my own implementation > under BSD license? > No, I'm not going to copy-paste any info from > original sources. Work > with USB in Linux and BeOS is different - no chance > to re-use. Only > ideas. I need just information how to initialize > device, read/write > data, handle errors etc. > > I'm afraid that such kind of using GPL-ed > information can make my work > GPL-ed too. I cannot accept this because I hope that > my work can be > useful in the future for implementing such > mass-storages support in OBOS > and the GPL will be a problem in this case. > > What do you think? > > As variant I can support two versions of my module: > basic with support > of only standard protocols under BSD license and > "extended" with such > vendor-specific support under GPL. > > Thank you for your Attention. > > Kind Regards, > S.Zharski > >