jech / galene

The Galène videoconference server
https://galene.org
MIT License
899 stars 119 forks source link

LibreJS support #197

Closed TechnologyClassroom closed 2 months ago

TechnologyClassroom commented 2 months ago

This is a patch that adds LibreJS support to Galène. I followed section 3.1 of the LibreJS doc using the weblabels method. For all that are not using LibreJS, there is no change except for an additional link with JavaScript licensing information.

I was not really sure where to put the link in galene.html so I put it at the bottom of the settings menu.

I also removed some stray spaces.

If any additional .js files are added, I can maintain the javascript file in the future.

jech commented 2 months ago

It looks like a minor maintenance burden. Before considering this patch, I'd need to understand what's the concrete benefit for the users, the packagers, or the developers.

Quick review: the /javascript file is not served with the right MIME type, and it is not a correct HTML file. Galene does not depend on Expat, there's no need to link to Clark's licence.

TechnologyClassroom commented 2 months ago

The main benefit of adding LibreJS compliance to your project is that the JavaScript license information is in a machine-readable format showing people that use the LibreJS browser extension that all Galène instances use free software without manually reviewing and allowing each individual JavaScript file. Everyone else is unaffected by the changes. There would be no change for packagers. Developers would only need to notify me if any LibreJS related complaints are filed.

The file was not a traditional HTML file, but the minimal requirement of a JavaScript License Web Labels file. I tested with a basic html wrapper and it does work with LibreJS so I added this as another commit.

MIT was called the Expat license before MIT became commonly used and is what LibreJS expects.

jech commented 2 months ago

MIT was called the Expat license before MIT became commonly used and is what LibreJS expects.

It was called the MIT licence, or the MIT/X11 licence. It predates Expat by many years.

While I'm not opposed to adding licensing information in machine-readable form, notwithstanding the additional maintenance burden, I'd like it to happen in a cross-application format, not in a format proprietary to a single browser extension. I am closing this PR for now, please reopen when LibreJS uses a well-defined, cross-vendor format.

TechnologyClassroom commented 2 months ago

There were not any other vendors checking JavaScript licenses on the open web at the time so LibreJS had to make their own format. There are still not any other JavaScript license checkers.

jech commented 2 months ago

I am sure that LibreJS have good reasons to do things the way they do. I'm just not convinced that I'm willing to carry the added maintenance burden given that the format is specific to just one browser extension.

TechnologyClassroom commented 2 months ago

I did offer to maintain LibreJS patches.