- 🇮🇳India prashant.c Dharamshala
Do you have any plans to port this to the latest version of the module?
- 🇺🇸United States greggles Denver, Colorado, USA
There is no longer an 8.x branch so moving to 2.x.
- First commit to issue fork.
- 🇮🇳India bhanu951
I am planning to work on this port , currently The JS library https://github.com/Valve/fingerprintjs2 redirects to https://github.com/fingerprintjs/fingerprintjs which is licensed under Business Source License 1.1 https://mariadb.com/bsl11/ is it okay to use in this module or do we need to look for alternative library.
The BSL prohibits the licensed code from being used in production — without explicit approval from the licensor.
https://fossa.com/blog/business-source-license-requirements-provisions-h...
https://www.tldrlegal.com/license/business-source-license-bsl-1-1
Does anyone has any suggestions ?
- 🇬🇧United Kingdom longwave UK
Looks like we can use FingerprintJS 3.x as it's MIT licensed, but not 4.x: https://fingerprint.com/blog/fingerprintjs-license-change/
- 🇺🇸United States kreynen
WOW. @bhanu951 Thanks for flagging this in Slack. I've read about the BSL, but this is the first time this has come up in a Drupal project that I know of. If you look at https://github.com/fingerprintjs/fingerprintjs/blob/master/LICENSE#L6, the will license from BLS->MIT "four years from first release for the specific version". So for 4.x releases, that would be July 2027.
https://mariadb.com/bsl-faq-adopting/#gpl has a good explanation about how GPL compatibility work.
FingerprintJS obviously isn't a derivative work of Drupal, you can't distribute FingerprintJS 4.x as part of a GPL-2.0 licensed module because Drupal's policies require everything distributed from Drupal.org to be GPL compatible (or GPL-firendly for non-code). That said someone who wanted to use FingerprintJS 4.x could purchase a license and run that version with Drupal and not be violating the GPL or BSL. The distinction is between use and distribution.
@greggles is going hate that I'm even bringing this up, but back in the dawn of time the Drupal project didn't allow ANY "3rd party" javascript. Everything module that required javascript required the person building the site to download the js and place it in a specific directory. I was threatened with being banned over suggesting we put a small 5K version of TinyMCE into the module so it would work "out of the box" and then tell users how to replace it with the larger, full TinyMCE packages.
I don't know if that's even practical with this project, but could you include 3.x and give users the option of using 4.x?
- 🇺🇸United States greggles Denver, Colorado, USA
@greggles is going hate that I'm even bringing this up
I appreciate you bringing it up :) It made me smile and chuckle.
I like the proposal to use 3.x and provide a way to opt for 4.x.
- 🇮🇳India bhanu951
Thanks @ longwave, @kreynen, @greggles for clarification will try to use 3.x and make the port.
- 🇵🇹Portugal jcnventura
I have serious reservations on adding support for a library that would create future maintenance problems whenever 3.x stops being compatible.
Can we maybe take a look at https://github.com/matomo-org/device-detector