nkaminski / csrmesh

Reverse engineered bridge implementation of the CSRMesh BTLE protocol
GNU Lesser General Public License v3.0
70 stars 20 forks source link

Academic License may be preferred for some users #3

Closed truedat101 closed 7 years ago

truedat101 commented 8 years ago

An Apache or MIT license might be preferred by some users of this source. Either offering a dual license, or possibly moving to academic license would be preferred.

nkaminski commented 8 years ago

My reason for using the GPLv3 is because I do not want this source to be incorporated into a closed-source application that is then resold. My goal of writing this is to make it such that the interface to CSRMesh is as open as possible and that improvements made to this remain open-source and modifiable by the end user, even if used in a commercial product/application..

truedat101 commented 8 years ago

I think it's a smart move to stick with GPLv3, since QC may eventually find this project and try to shut it down. It's unfortunate since CSR had mentioned in their 2014 slides their spec would be open. I think that got abandoned after they got acquired. This shouldn't be a problem as I am just prototyping.

nkaminski commented 8 years ago

Yeah, even if you register for a CSR/QC support account(like myself) you still cannot access anything more than slides and whitepapers unless you contact them (and likely sign an NDA). None of the code examples or detailed protocol specs are available hence the reverse engineering effort. Haven't had heard anything from CSR/QC so far, so hopefully that never becomes an issue.

truedat101 commented 8 years ago

Eventually they'll find the project. I think they are better off to create an open protocol with proprietary hardware if that's what gets people locked in. I was shocked there was anything on github, so was happy to find this.

truedat101 commented 7 years ago

I think reasonably, your goal is copyleft, so lgpl v2.1 might be more reasonable alternative. A GPLv3 would imply that any application or service built with this code must also be open sourced. This will scare off any companies that might consider working with your library. I think your goal stated in your comment is to keep modifications to this open source library in the open, to avoid BSD rip off type situation.

nkaminski commented 7 years ago

"GPLv3 would imply that any application or service built with this code must also be open sourced" -> This is precisely my goal, to enable fully open source software systems to communicate with CSRMesh devices. There are already the proprietary libraries from CSR that are more than suitable for use in proprietary applications but of course limited to Android and iOS.

truedat101 commented 7 years ago

Hmmm, I think you are missing my point. You can achieve your goal with MPL (or perhaps LGPL), without requiring application creators (those linking with the library) to also put their apps or services under GPLv3 and releasing the combined work. I agree 100% that it is a good idea to keep modifications and enhancements of your library in the open. "Perhaps a middle ground can be achieved", is sort of the a better subject line for this issue.

And, to your point about the proprietary licenses, I do have some inside knowledge of these libraries, and indeed for iOS and Android there is some suitable proprietary version available, however, for purposes of building something that integrates into a router or other non-mobile device (a PC or Mac), they don't release these libraries, even internally inside of QCA. So, limited is the operative word.

nkaminski commented 7 years ago

Will consider the LGPL v2.1 or v3. Going to do a little more research on the matter of licensing before committing to a relicense however.

truedat101 commented 7 years ago

Excellent! Thank you for considering this change.