Converse.js: LibreJS support

Created on 20 Jan 2018  路  12Comments  路  Source: conversejs/converse.js

Can converse.js be made to work with LibreJS? It would be really great, considering that all of the code is libre.

Feature dependencies help wanted in progress

Most helpful comment

Thanks, it worked. I've started adding the licenses now and will create a second pull request when they're done

All 12 comments

I can't just put the license at the top of converse.min.js because the dependencies are also bundled and they are released under other licenses.

Looks like what's required is a JavaScript web-labels table, which specifies the license for converse.js and each of its dependencies.

https://www.gnu.org/software/librejs/manual/librejs.html#JavaScript-Web-Labels

This table can be placed on a separate HTML page and then links to it are inserted in the other pages in the site.

More info here: https://www.gnu.org/licenses/javascript-labels.html

To be honest, if you care enough about this, then I think you can do the work and make a pull request.

The work required is to identify the license for each dependency and then make the table.
You can add the links if you want, but I can also do that afterwards.

OK. I've started work on this and I'll submit a pull request when I've completed it.

Wonderful, thanks.

@gnunicode I merged #1001, but then afterwards noticed that you missed lots of licenses for JS dependencies that are bundled into converse.min.js

Here's a list of the files that you missed:

node_modules/otr/build/dep/crypto.js
node_modules/otr/build/dep/salsa20.js
node_modules/otr/build/dep/eventemitter.js
node_modules/otr/build/otr.js
node_modules/strophe.js/strophe.js
node_modules/strophejs-plugin-vcard/strophe.vcard.js
node_modules/strophejs-plugin-disco/strophe.disco.js
node_modules/strophejs-plugin-rsm/strophe.rsm.js
node_modules/strophejs-plugin-ping/strophe.ping.js
node_modules/snabbdom/dist/snabbdom.js
node_modules/snabbdom/dist/snabbdom-attributes.js
node_modules/snabbdom/dist/snabbdom-class.js
node_modules/snabbdom/dist/snabbdom-dataset.js
node_modules/snabbdom/dist/snabbdom-eventlisteners.js
node_modules/snabbdom/dist/snabbdom-props.js
node_modules/snabbdom/dist/snabbdom-style.js
node_modules/lodash/lodash.js
node_modules/backbone/backbone.js
node_modules/backbone.nativeview/backbone.nativeview.js
node_modules/backbone.browserStorage/backbone.browserStorage.js
node_modules/backbone.overview/dist/backbone.overview.js
node_modules/backbone.overview/dist/backbone.orderedlistview.js
node_modules/backbone.vdomview/dist/backbone.vdomview.js
node_modules/awesomplete-avoid-xss/awesomplete.js
node_modules/moment/min/moment-with-locales.js

In order to fetch them, you need to run make dev, they'll then be downloaded and available in the paths above.

Thanks, I will get these licenses added as soon as possible

Sorry there's been a bit of a delay - I've been busy but also the build system requires Chromium which is blacklisted on my distribution (Parabola) and I've had some difficulties in getting a virtual machine set up to run make dev. However I think I may be able to get all the licenses done tomorrow

I think the Chromium dependency is for the tests which run on chrome-headless.

As a hacky workaround, you could just remove the problematic dependency from package.json and try again (don't commit that though).

See here: https://github.com/jcbrand/converse.js/blob/master/package.json#L63

Thanks, it worked. I've started adding the licenses now and will create a second pull request when they're done

@gnunicode Are you still going to finish this task?

Hi, sorry I had completely forgotten about this. I do not think I will be able to though as I have other commitments at the moment.

Hi @gnunicode

have you re-consider restart working on this?

Was this page helpful?
0 / 5 - 0 ratings