The default SD library installed by TeensyDuino claims to be a wrapper for sdfatlib, and it carries a GPL license "because sdfatlib is licensed with this." Unfortunately, devices subject to certain types of regulatory oversight cannot reasonably comply with GPL requirements. For this reason, any GPL code is a poison pill for such projects.
Looking at the actual code, it appears that SD is now actually a wrapper for a 2009 version of SdFat (from Bill Greiman) that also used the GPL.
About a year ago Bill Greiman solved this problem for us all by making recent versions of his excellent SdFat library available under the MIT license, which makes it acceptable for regulated devices. Other updates such as high speed optimizations and long filenames are merely bonuses. Ongoing development against modern SD cards, a large number of solid examples, good utilities, and *very* good documentation are other good reasons to use current releases of the SdFat library.
I use the current version of SdFat on Teensy 3.6 with no problems.
However, a number of other TeensyDuino -installed libraries (most notably the audio library) take a dependency on the supplied SD wrapper, and I have not found it straightforward to modify that dependency to use SdFat while continuing to benefit from library updates.
I've been unable to completely untangle the licensing trail, but it appears to me that if SD could wrap a current version of SdFat, then the GPL license could be replaced with an MIT license. I'm not sure whether SparkFun would need to modify their wrapper license label or whether their disclaimer would cover this, or whether the wrapper would need to be rewritten, but all of those are possible now that the underlying codebase has a better license.
I seem to remember a thread suggesting that perhaps SdFat could be made "SD-Compatible" or that SD could use the current version of SdFat by adding a few macros, but I haven't been able to find that thread again so perhaps I imagined it.
Bottom line: I propose that the GPL license should be removed from the TeensyDuino-supported version of SD by any means necessary.
In the meantime, if anybody is aware of a existing work towards a wrapper or set of configuration settings that can allow me to substitute a recent version of SdFat to appear as SD (e.g., to make it work with the unmodified audio library) I would be very interested.
Looking at the actual code, it appears that SD is now actually a wrapper for a 2009 version of SdFat (from Bill Greiman) that also used the GPL.
About a year ago Bill Greiman solved this problem for us all by making recent versions of his excellent SdFat library available under the MIT license, which makes it acceptable for regulated devices. Other updates such as high speed optimizations and long filenames are merely bonuses. Ongoing development against modern SD cards, a large number of solid examples, good utilities, and *very* good documentation are other good reasons to use current releases of the SdFat library.
I use the current version of SdFat on Teensy 3.6 with no problems.
However, a number of other TeensyDuino -installed libraries (most notably the audio library) take a dependency on the supplied SD wrapper, and I have not found it straightforward to modify that dependency to use SdFat while continuing to benefit from library updates.
I've been unable to completely untangle the licensing trail, but it appears to me that if SD could wrap a current version of SdFat, then the GPL license could be replaced with an MIT license. I'm not sure whether SparkFun would need to modify their wrapper license label or whether their disclaimer would cover this, or whether the wrapper would need to be rewritten, but all of those are possible now that the underlying codebase has a better license.
I seem to remember a thread suggesting that perhaps SdFat could be made "SD-Compatible" or that SD could use the current version of SdFat by adding a few macros, but I haven't been able to find that thread again so perhaps I imagined it.
Bottom line: I propose that the GPL license should be removed from the TeensyDuino-supported version of SD by any means necessary.
In the meantime, if anybody is aware of a existing work towards a wrapper or set of configuration settings that can allow me to substitute a recent version of SdFat to appear as SD (e.g., to make it work with the unmodified audio library) I would be very interested.