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

GPLv3 Compatibility? #364

Closed
marcio-ao opened this issue Mar 13, 2018 · 16 comments
Closed

GPLv3 Compatibility? #364

marcio-ao opened this issue Mar 13, 2018 · 16 comments
Assignees

Comments

@marcio-ao
Copy link

marcio-ao commented Mar 13, 2018

Hello,

We would like to incorporate the code from the USB Host Shield in the Marlin firmware for 3D printers as this would allow printers to read USB Flash Drives rather the SD cards. The company I work for is a great believer in open-source and we would donate all our integration work to the open-source and 3D printing community.

However, I notice that the USB Host Shield is released under "GPL v2" rather than "GPLv2 or later", which would preclude integration with Marlin, which is released under the "GPL v3".

Is there any chance the license could be upgraded to either the GPL v3, or to include the wording "GPLv2 or later" in order to maintain compatibility with the GPL v3?

Information why this is necessary for the GPLv3 and GPLv2 is listed here:

https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Thank you!

-- Marcio

@felis felis self-assigned this Mar 14, 2018
@felis
Copy link
Owner

felis commented Mar 14, 2018

I like Lulzbot and I like my TAZ 6 :-), the whole product documentation for which is open sourced and available.

@Lauszus , @xxxajk - do you have objections to changing the wording of the license to 'GPLv2 or later'?

@Lauszus
Copy link
Collaborator

Lauszus commented Mar 15, 2018

I'm in for changing the license as well. I have a few 3D printers running Marlin, so I'm excited to see what they come up with :)

@xxxajk
Copy link
Contributor

xxxajk commented Mar 15, 2018

I've no problem with GPL2 or later...

@marcio-ao
Copy link
Author

This is fantastic news! Another engineer and I have already done preliminary work on this and we know that we can reuse the FAT routines that Marlin already has for SD cards, so we only need the following files that implement the block-level USB mass storage access:

  • address.h
  • avrpin.h
  • confdescparser.h
  • macros.h
  • masstorage.cpp
  • masstorage.h
  • max3421e.h
  • message.cpp
  • message.h
  • parsetools.cpp
  • parsetools.h
  • printhex.h
  • settings.h
  • Usb.cpp
  • Usb.h
  • usb_ch9.h
  • UsbCore.h
  • usbhost.h

So for our purposes, if just those particular files were updated with the wording "GPL v2 or later", we would be able to perform the integration.

Thank you so much!

-- Marcio

@marcio-ao
Copy link
Author

marcio-ao commented Mar 19, 2018

I just wanted to share some preliminary results. This is actually Marlin reading files from a USB drive. It is also driving a color LCD touch panel (another project we have been working on):

marlinusb

Printing already works, although the only glitch is that currently the drive insertion/removal is not recognized (we still haven't figured out how to detect those events)

@xxxajk
Copy link
Contributor

xxxajk commented Mar 19, 2018 via email

@marcio-ao
Copy link
Author

marcio-ao commented Mar 20, 2018

Curious whether there will be a commit with the files with an updated license? This is not something I feel comfortable doing myself on just our sources. I would like to replace the files I am currently using with something with the correct licenses that matches what is in this repo.

I suppose I could also try using USB Host Shield 3.0, if you guys feel that is a better choice and are willing to re-license that as well.

@Lauszus
Copy link
Collaborator

Lauszus commented Mar 20, 2018

Since @felis assigned himself, I was assuming that he would do it?

@marcio-ao
Copy link
Author

Anything happening with this?

@Lauszus
Copy link
Collaborator

Lauszus commented Apr 10, 2018

@marcio-ao I have updated the copyright header in the relevant files in 00aa355.

@marcio-ao
Copy link
Author

@Lauszus : Awesome! Thank you so much!

@Lauszus
Copy link
Collaborator

Lauszus commented Apr 10, 2018

You're welcome :)

@marcio-ao
Copy link
Author

@Lauszus : Sorry to bother you again, is there a chance you could update the license for the following files as well?

  • version_helper.h
  • hex_dump.h
  • sink_parser.h

I'm sorry I didn't request this sooner. I got caught up in a new printer releases and I had to put this on hold for a while.

@Lauszus
Copy link
Collaborator

Lauszus commented Jun 23, 2018

@marcio-ao sorry for the late reply, it was fixed in: 06d5ed1.

@marcio-ao
Copy link
Author

marcio-ao commented Jun 25, 2018

@Lauszus : Thank you! I was able to roll it all up as a PR to Marlin (#11115). Hopefully we will see this new feature standard in Marlin 2.0. I appreciate all the help along the way! :)

@Lauszus
Copy link
Collaborator

Lauszus commented Jun 25, 2018

Great! Looking forward to seeing the code in the wild :)

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

4 participants