Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libserialport Migration #14

Closed
sjkelly opened this issue Jun 18, 2016 · 5 comments
Closed

libserialport Migration #14

sjkelly opened this issue Jun 18, 2016 · 5 comments

Comments

@sjkelly
Copy link
Member

sjkelly commented Jun 18, 2016

This should help with performance and simplicity. The major question is whether the
Python backend should disappear. I'd like to keep it, but I don't want to sacrifice performance. My
current thought is to make it a build flag, something similar to how PyCall chooses
a python path or anaconda install.

@andrewadare
Copy link

Hello, I've pretty much done this here: https://github.com/andrewadare/LibSerialPort.jl

I've been using it for several months now on various projects involving microcontrollers, and it seems to be working well for me overall. I took your package as a a guideline while writing the API, so it should look familiar to you if I was successful.

Let me know if you'd like to collaborate on this issue; the legwork of wrapping the C library is done. It's just a matter of refining the interface to match what you have in this package. Glad to help out where I can!

@andrewadare
Copy link

I should also mention that building and testing on Windows is incomplete, since I'm not much of a Windows user. That's probably the biggest outstanding to-do item.

@sjkelly
Copy link
Member Author

sjkelly commented Jan 10, 2017

Have you registered LibSerialPort yet? How do we want to deal with the license?

@andrewadare
Copy link

I've avoided registering LibSerialPort.jl, because I was thinking it would be better to integrate it into this package than have two packages with very similar functionality (bigger maintenance burden, confusing for package users, slightly different APIs for no real reason, etc).

However, the licensing is one consideration (looks like PySerial is BSD 3-clause) while libserialport is LGPLv3+. Apparently the node wrapper adopted that, so there's one precedent. Two obvious options are to change the license here, or to contact the libserialport maintainer(s) about whether they are open to switching to something more permissive.

The other consideration is how to unify the wrapper APIs, since the libraries are not 1:1. Since this package is "established" (i.e. registered) and LibSerialPort.jl is not, I'm fine with changing to the interface for this package as much as possible wherever there are discrepancies. LibSerialPort.jl exposes many additional functions compared to this package, but additions should cause no problem for existing users.

@sjkelly
Copy link
Member Author

sjkelly commented Jan 15, 2017

Excellent, I did not notice libserial port was LGPL3. If you could relicense LibSerialPort.jl as LGPL3 I will relicense SerialPorts as LPGL3 as well. I pulled the commit history/file of LibSerialPort.jl ontop of SerialPorts here as a starting point: #20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants