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

Concerns about the licensing of the qr.js library #7

Closed
e2jk opened this issue Jul 30, 2014 · 9 comments
Closed

Concerns about the licensing of the qr.js library #7

e2jk opened this issue Jul 30, 2014 · 9 comments

Comments

@e2jk
Copy link

e2jk commented Jul 30, 2014

As I've reported upstream on neocotic/qrious#23 I am not sure that the qr.js license is valid.

qr.js is licensed under the MIT license.
The license section at the top of the qr.js file mentions that qr.js is based on jsqrencode, which is GPL-licensed.
Part of the GPL license is that derivatives must be licensed under the same license.

I have asked upstream if they have received explicit permission from upstream jsqrencode to change the licence from GPL to MIT. In the meantime, I am not sure we should include qr.js in Shaarli, as we might be distributing license-infringing software.

Let's wait for about a week if a reaction is filed on that bug report, otherwise I'll proceed with the removal of that library from Shaarli.

@Sbgodin
Copy link

Sbgodin commented Jul 30, 2014

Yes, I agree. This library handles the QR code generation. Do you have any replacement?

@e2jk
Copy link
Author

e2jk commented Jul 30, 2014

I am not aware of a replacement JavaScript library, although the QR code from http://qrfree.kaywa.com/ looks fine to me.
The only issue with putting that under a proper HTML link, is that you'll go to another page to see the QR code, instead of having that embedded on the Shaarli page.

I've never used the QR codes myself, I don't know how big of a deal it would be to just go to another page to see the QR code, and come back if you want to continue on Shaarli.

Otherwise, we might have to see if it's possible to embed that QR code in some kind of overlay. But it seems overkill to me.

Others' input welcome, in particular if you are a user of the QR code.

@nodiscc
Copy link
Member

nodiscc commented Jul 30, 2014

I actually used QR Codes when I had a phone that supported them. I ditched shaarli's QR codes and just used a browser addon instead (this one for Firefox/Iceweasel).

If you need QR code functionality you probably need it browser-wide, so not a huge loss if it gets removed from Shaarli.

Removing the QR code actually has already been requested.

This leaves an open question whether Shaarli should have an agnostic "Share" toolbar for each link (QR code, social media, mail, other services...)

@e2jk
Copy link
Author

e2jk commented Jul 30, 2014

For what it's worth, in the Debian package for 0.0.42beta (which is not yet uploaded to Sid) I have removed the QR code generation via JavaScript, but left the link to http://qrfree.kaywa.com

I would thus have no issues with removal of the code upstream, instead of a Debian-specific patch ;)

@Sbgodin
Copy link

Sbgodin commented Jul 30, 2014

It is also ok for me to remove this function.

@e2jk
Copy link
Author

e2jk commented Aug 4, 2014

Upstream has indicated that they will revert the license, meaning the problem should be solved soon. That being said, I'm still OK to remove it, and keep Shaarli simple and streamlined. If you need QR codes, instead of using this JavaScript solution, just click on the link and you'll see the QR code generated by http://qrfree.kaywa.com

@nodiscc
Copy link
Member

nodiscc commented Aug 5, 2014

just click on the link and you'll see the QR code generated by http://qrfree.kaywa.com

I wouldn't use external services to generate QR codes (privacy issue, dependancy on a third party). I'd remove the QR code altogether and find a way to integrate it in a "sharing" plugin (once a reasonable plugin system has been found)

@e2jk
Copy link
Author

e2jk commented Sep 1, 2014

The license of qr.js has just been reverted back to GPL-3, so my initial worries around the licensing of that library are addressed. We should update the library version to the newest version 1.1.3, and as far as I'm concerned we can leave the current code in Shaarli. Anybody opposed to that?

@nodiscc nodiscc closed this as completed in bbc6e66 Sep 4, 2014
@nodiscc
Copy link
Member

nodiscc commented Sep 4, 2014

Updated qr.min.js to 1.1.3 release and added proper credits/license. I'm closing this since the issue was about licensing concerns and this is now fixed.

ajabep added a commit to ajabep/Shaarli that referenced this issue Apr 2, 2021
When we try to access the atom feed and have no bookmarks, it raised the following exception :

```
Call to a member function reorder() on array /webroot/application/bookmark/BookmarkFileService.php:143
#0 /webroot/application/feed/FeedBuilder.php(106): Shaarli\Bookmark\BookmarkFileService->search(Array, 'public', false, false, true)
shaarli#1 /webroot/application/front/controller/visitor/FeedController.php(47): Shaarli\Feed\FeedBuilder->buildData('atom', Array)
shaarli#2 /webroot/application/front/controller/visitor/FeedController.php(20): Shaarli\Front\Controller\Visitor\FeedController->processRequest('atom', Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#3 [internal function]: Shaarli\Front\Controller\Visitor\FeedController->atom(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
shaarli#4 /webroot/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
shaarli#5 /webroot/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
shaarli#6 /webroot/application/front/ShaarliMiddleware.php(55): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#7 [internal function]: Shaarli\Front\ShaarliMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#8 /webroot/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Array, Array)
shaarli#9 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#10 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#11 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#12 /webroot/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#13 /webroot/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#14 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#15 /webroot/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#16 /webroot/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#17 /webroot/index.php(177): Slim\App->run(true)
shaarli#18 {main}
```
ArthurHoaro pushed a commit to ArthurHoaro/Shaarli that referenced this issue May 8, 2021
When we try to access the atom feed and have no bookmarks, it raised the following exception :

```
Call to a member function reorder() on array /webroot/application/bookmark/BookmarkFileService.php:143
#0 /webroot/application/feed/FeedBuilder.php(106): Shaarli\Bookmark\BookmarkFileService->search(Array, 'public', false, false, true)
#1 /webroot/application/front/controller/visitor/FeedController.php(47): Shaarli\Feed\FeedBuilder->buildData('atom', Array)
#2 /webroot/application/front/controller/visitor/FeedController.php(20): Shaarli\Front\Controller\Visitor\FeedController->processRequest('atom', Object(Slim\Http\Request), Object(Slim\Http\Response))
#3 [internal function]: Shaarli\Front\Controller\Visitor\FeedController->atom(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#4 /webroot/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#5 /webroot/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
shaarli#6 /webroot/application/front/ShaarliMiddleware.php(55): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#7 [internal function]: Shaarli\Front\ShaarliMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#8 /webroot/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Array, Array)
shaarli#9 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#10 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
shaarli#11 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#12 /webroot/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#13 /webroot/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#14 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#15 /webroot/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#16 /webroot/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
shaarli#17 /webroot/index.php(177): Slim\App->run(true)
shaarli#18 {main}
```
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

3 participants