jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
23.21k stars 6.74k forks source link

Add license headers for Jitsi Meet's JavaScript sources (for LibreJS) #4699

Closed bandali0 closed 4 years ago

bandali0 commented 5 years ago

Description


We are planning on using Jitsi Meet for video calls for EmacsConf 2019. It would be great if Jitsi Meet included license information for JavaScript code it serves so that users with LibreJS could use it without having to disable LibreJS.

Current behavior


Only a grey blank page is seen with LibreJS enabled.

Expected Behavior


Jitsi Meet working as it normally would.

Possible Solution


Adding license information as explained on https://www.gnu.org/software/librejs/free-your-javascript.html.

Steps to reproduce


Download IceCat and open a Jitsi Meet meeting link (IceCat comes with LibreJS installed and enabled out of the box), or alternatively, download LibreJS and install it on Firefox or any of its derivatives and open a Jitsi Meet meeting link.

Environment details


N/A

bandali0 commented 5 years ago

Also previously reported at https://community.jitsi.org/t/jitsi-users-meet-jit-si-fails-to-load-in-librejs/13743 but with no replies.

saghul commented 5 years ago

Hi there! Our JS files get generated by webpack so we can't just add the license text somewhere, it needs to become part of the build system. In addition, this should probably be opt-in, since people building atop Jitsi Meet need not release their JS sources under the same license as we do.

Is there a webpack plugin capable of doing this?

bandali0 commented 5 years ago

Hey there! Thanks for your quick reply, and sorry for my super slow one; things have been very hectic the last couple of weeks.

Ha, it would probably make sense to have it be opt-in.

As for a webpack plugin, since I'm not a JS dev myself, I wouldn't know. I reached out to someone more familiar with both JS development and LibreJS than me, and they told me that they aren't aware of existence of such plugin, and that their current workaround consists of post-processing the JS file (e.g. as output by webpack) using a Makefile rule similar to this:

dist-librejs.js: dist.js
    cat header.js $< > $@

where it prepends header.js to dist.js and saves the result in dist-librejs.js. Of course, if libraries with different licenses are all concatenated into a single file, then the license headers have to be added to each one independently, either before concatenation, or by making replacements in the combined file, like appending after a copyright header.

FWIW, I found the following doing a quick search around the web; but haven't had a chance to take a closer look at any of them. It appears that the swh folks have implemented a webpack plugin; it'd be great if someone could look into it and see if it can be used for Jitsi Meet.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.