FalconChristmas / fpp

Falcon Player
http://FalconChristmas.com
Other
556 stars 193 forks source link

License appears to apply to sensors but FAQ says only BBBString48 and DPIString require license #1374

Closed sslupsky closed 10 months ago

sslupsky commented 1 year ago

Describe the bug and Steps to reproduce: https://github.com/FalconChristmas/fpp/blob/b3027120c9de061a5791c5ba4a8a2babb46558ac/src/non-gpl/CapeUtils/CapeUtils.cpp#L846-L851

This code snippet shows that the license requirements are being applied to the cape's sensors. However, the FAQ on shop.falconplayer.com does appear to indicate the sensors are licensed:

When using a cape with an unsigned EEPROM, the BBB48String and DPIPixels Channel Outputs are limited to 50 pixels max per string output and are not allowed to use differential smart receivers. If you apply a license key or keys to sign the EEPROM, these limits are removed for the number of outputs covered by the license key(s) applied. The covered outputs are ALWAYS applied starting at the first outputs on a board, you can not select which outputs to cover with a license key.

The core of FPP is a combination of both GPL and LGPL while other parts are actually covered under other licenses such as the MIT license. A complete list of the licenses which apply to FPP code is located in the /opt/fpp/LICENSE file and the FPP github repository. This file received a lot of updating for FPP v6 to clarify what licenses applied to what code since some of the code we are using is not our own and some code we have written is not GPL or LGPL. LGPL is used for the main libfpp.so library which contains most of the brains of FPP. The LGPL license is traditionally used for libraries to allow non-GPL programs to link against those libraries. FPP also includes multiple Channel Output libraries, some of which were completely written by the FPP developers and some which were written by FPP developers but use other external libraries such as the rpi_ws281x and spixels libraries. The new DPIPixels and existing BBB48String Channel Output libraries are not GPL or LGPL, they are covered under the CC-BY-ND license which allows us to redistribute the source code for the Channel Outputs but does not allow modifications to be distributed or derivative works to be made. The license key currently enables advanced functionality in these non-GPL DPIPixels and BBB48String Channel Output libraries.

FPP is made up of two primary parts, the “player” portion and the “controller” portion. The controller part of FPP allows FPP to control pixels which are directly attached to a Raspberry Pi, BeagleBone, or PocketBeagle SBC (Single Board Computer). The player portion of FPP is everything else. FPP can be used as a player to send show data to physical controllers as well as other FPP systems acting as a controller. The player portion of FPP is free and open as is most of the controller portion of FPP. The two primary controller Channel Outputs that are included with FPP are the existing BBB48String output and the DPIPixels output which is new in FPP v6.0. The BBB48String output supports driving up to 48 strings of pixels on a BeagleBone or PocketBeagle and the DPIPixels output supports driving up to 24 strings of pixels on a Raspberry Pi. The FPP developers use the sale of FPP-based controller capes to help support the development of FPP allowing us to continue to develop the core player portion of FPP and keep the player fully open and free for users. When a FPP-based controller cape is purchased from PixelController.com or KulpLights.com, the purchase is directly supporting FPP developers. The developers want to continue to allow 3rd Party cape designers to build and sell FPP-based controller capes and providing License Keys to enable enhanced functionality on 3rd Party capes is a way of supporting FPP development while purchasing these 3rd Party capes.

Expected behavior: Clarification if sensors are licensed features.

darylc commented 1 year ago

@dkulp @cpinkham Can one of you address this question please?

darylc commented 1 year ago

@dkulp @cpinkham ?

darylc commented 1 year ago

I've been told by Dan Kulp and Chris Pinkham that sensors are licensed features. They both refuse to comment on this issue after multiple private and public promptings, and Chris Pinkham refuses to update the FAQ or provide access to others to update the FAQ.

cpinkham commented 10 months ago

Applicable FAQs have been updated to indicate that onboard cape sensors are covered under the same limitations.