1 | This is librejs.info, produced by makeinfo version 5.2 from man.texi.
|
---|
2 |
|
---|
3 | This manual is for GNU LibreJS (version 7.2, 10 February 2018), a GNU
|
---|
4 | IceCat extension to detect and block nonfree nontrivial JavaScript on
|
---|
5 | webpages.
|
---|
6 |
|
---|
7 | Copyright (C) 2011 2012 2014 2015 Loic J. Duros
|
---|
8 |
|
---|
9 | Permission is granted to copy, distribute and/or modify this
|
---|
10 | document under the terms of the GNU Free Documentation License,
|
---|
11 | Version 1.3 or any later version published by the Free Software
|
---|
12 | Foundation; with no Invariant Sections, with no Front-Cover Texts,
|
---|
13 | and with no Back-Cover Texts. A copy of the license is included in
|
---|
14 | the section entitled "GNU Free Documentation License".
|
---|
15 | INFO-DIR-SECTION GNUzilla
|
---|
16 | START-INFO-DIR-ENTRY
|
---|
17 | * LibreJS: (librejs). Detect nonfree nontrivial in GNU Icecat
|
---|
18 | END-INFO-DIR-ENTRY
|
---|
19 |
|
---|
20 |
|
---|
21 | File: librejs.info, Node: Top, Next: Overview, Up: (dir)
|
---|
22 |
|
---|
23 | LibreJS
|
---|
24 | *******
|
---|
25 |
|
---|
26 | This manual is for GNU LibreJS (version 7.2, 10 February 2018).
|
---|
27 |
|
---|
28 | * Menu:
|
---|
29 |
|
---|
30 | * Overview:: General purpose and information.
|
---|
31 | * Disclaimer:: Emphasize what LibreJS does and does not.
|
---|
32 | * Installation:: Installing LibreJS from source.
|
---|
33 | * How to Use:: How to use LibreJS in IceCat.
|
---|
34 | * JavaScript Detection:: How LibreJS detects nontrivial Javascript.
|
---|
35 | * Free Licenses Detection:: List of licenses detected by LibreJS.
|
---|
36 | * Setting Your JavaScript Free:: Information for website owners/maintainers.
|
---|
37 | * LibreJS Development Notes:: Documentation about the development of
|
---|
38 | LibreJS itself.
|
---|
39 | * Installation Requirements:: Requirements to build and install LibreJS.
|
---|
40 | * LibreJS Internals:: How LibreJS works under the hood.
|
---|
41 | * GNU Free Documentation License:: Copying and sharing this documentation.
|
---|
42 |
|
---|
43 |
|
---|
44 |
|
---|
45 |
|
---|
46 |
|
---|
47 |
|
---|
48 |
|
---|
49 |
|
---|
50 |
|
---|
51 | File: librejs.info, Node: Overview, Next: Disclaimer, Prev: Top, Up: Top
|
---|
52 |
|
---|
53 | 1 Overview
|
---|
54 | **********
|
---|
55 |
|
---|
56 | GNU LibreJS --an add-on for GNU IceCat and Mozilla Firefox-- detects and
|
---|
57 | blocks nonfree nontrivial JavaScript while allowing its execution on
|
---|
58 | pages containing code that is either trivial and/or free.
|
---|
59 |
|
---|
60 | Many websites run nontrivial JavaScript on your computer. Some use
|
---|
61 | it for complex tasks; many use it gratuitously for minor jobs that could
|
---|
62 | be done easily with plain HTML. Sometimes this JavaScript code is
|
---|
63 | malicious. Either way, the JavaScript code is often nonfree. For
|
---|
64 | explanation of the issue, see "The JavaScript
|
---|
65 | Trap"(<http://www.gnu.org/philosophy/javascript-trap.html>).
|
---|
66 |
|
---|
67 | If you care about freedom in your computing, and don't wish to let
|
---|
68 | all and sundry make you run nonfree programs, now you can prevent it by
|
---|
69 | using LibreJS.
|
---|
70 |
|
---|
71 |
|
---|
72 | File: librejs.info, Node: Disclaimer, Next: Installation, Prev: Overview, Up: Top
|
---|
73 |
|
---|
74 | 2 Disclaimer
|
---|
75 | ************
|
---|
76 |
|
---|
77 | * LibreJS is not a security tool. Its goal is to detect nonfree
|
---|
78 | nontrivial JavaScript, and it currently does not detect whether
|
---|
79 | free or trivial code is malicious or not. Other free Mozilla
|
---|
80 | extensions and add-ons may be available for this purpose.
|
---|
81 |
|
---|
82 | * LibreJS is always a work in progress. If you find a bug, please
|
---|
83 | report it to <bug-librejs@gnu.org>.
|
---|
84 |
|
---|
85 |
|
---|
86 | File: librejs.info, Node: Installation, Next: How to Use, Prev: Disclaimer, Up: Top
|
---|
87 |
|
---|
88 | 3 Installation
|
---|
89 | **************
|
---|
90 |
|
---|
91 | You can install LibreJS directly using a generated 'librejs.xpi' file,
|
---|
92 | or by building it from source.
|
---|
93 |
|
---|
94 | You can also download it from Mozilla, but due to Mozilla's review
|
---|
95 | process the download isn't always up to date.
|
---|
96 |
|
---|
97 |
|
---|
98 | File: librejs.info, Node: How to Use, Next: JavaScript Detection, Prev: Installation, Up: Top
|
---|
99 |
|
---|
100 | 4 How to Use
|
---|
101 | ************
|
---|
102 |
|
---|
103 | 4.1 LibreJS in action
|
---|
104 | =====================
|
---|
105 |
|
---|
106 | After installing the add-on, you will see the LibreJS widget in the
|
---|
107 | add-on bar at the top right of the browser window. After loading a
|
---|
108 | page, left-click on the widget to view the deactivated JavaScript code
|
---|
109 | from the page (both on page and external) and, if applicable, the
|
---|
110 | scripts that were accepted.
|
---|
111 |
|
---|
112 | 4.2 Script Blacklist/whitelist
|
---|
113 | ==============================
|
---|
114 |
|
---|
115 | Scripts may be blacklisted or whitelisted through the pop-up menu box.
|
---|
116 |
|
---|
117 | Whitelisted scripts will always be accepted and blacklisted scripts
|
---|
118 | will always get rejected.
|
---|
119 |
|
---|
120 | It is important to note that this feature recognizes which scripts
|
---|
121 | are blacklisted and whitelisted based on hash. This means that even a
|
---|
122 | slight difference in a script's code will cause it to be recognized as a
|
---|
123 | seperate script.
|
---|
124 |
|
---|
125 | Sometimes, JavaScript will be dynamically generated so that it is
|
---|
126 | different every time a website is loaded. These types of scripts cannot
|
---|
127 | be whitelisted or blacklisted since they cannot be recognized.
|
---|
128 |
|
---|
129 | LibreJS has a default whitelist of scripts that are known to be free
|
---|
130 | but may not use the format for declaring a license that it can
|
---|
131 | understand.
|
---|
132 |
|
---|
133 | 4.3 Complaint Feature
|
---|
134 | =====================
|
---|
135 |
|
---|
136 | It is very important to complain when a site has nonfree JavaScript
|
---|
137 | code, especially if it won't work without that code. LibreJS makes it
|
---|
138 | easy to complain by heuristically finding where to send the complaint.
|
---|
139 |
|
---|
140 | When nonfree/nontrivial code is detected in a page, LibreJS attempts
|
---|
141 | to find a relevant contact link or email for the website you are
|
---|
142 | visiting. In order to do so, it will attempt to visit a few links from
|
---|
143 | the current page (for instance, a link labeled "contact" on the same
|
---|
144 | domain as the current page, ...)
|
---|
145 |
|
---|
146 | LibreJS detects contact pages, email addresses that are likely to be
|
---|
147 | owned by the maintainer of the site, Twitter and identi.ca links, and
|
---|
148 | phone numbers.
|
---|
149 |
|
---|
150 | When you complain to the website for their nonfree nontrivial
|
---|
151 | JavaScript, provide them with the link to the JavaScript Trap essay so
|
---|
152 | that they can get more information on what the issue is and how they can
|
---|
153 | solve it on their own site.
|
---|
154 |
|
---|
155 | LibreJS includes a default subject line and body for the complaint
|
---|
156 | email, with a link to the JavaScript Trap essay. This can be configured
|
---|
157 | in the LibreJS add-on preferences in your web browser.
|
---|
158 |
|
---|
159 | 4.4 Options
|
---|
160 | ===========
|
---|
161 |
|
---|
162 | "Whitelist"
|
---|
163 |
|
---|
164 | LibreJS lets you whitelist domain names and subdomains to bypass
|
---|
165 | the regular JavaScript check. This might be useful, for example,
|
---|
166 | if you are running your own code in a local web server. In order
|
---|
167 | to add a whitelisted domain or url, go to Tools >> Add-ons. Inside
|
---|
168 | the add-on window, click on "Extensions", and in the list, where
|
---|
169 | you see LibreJS, click on the "Preferences" button. You will see
|
---|
170 | an input field labeled "Whitelist".
|
---|
171 |
|
---|
172 | In the field, enter comma-separated domain names. Do not enter the
|
---|
173 | protocol. For instance to whitelist all the pages of
|
---|
174 | <http://www.gnu.org> and <https://gnu.org>, enter 'gnu.org'. To
|
---|
175 | allow all subdomains from gnu.org, enter: '*.gnu.org'. This will
|
---|
176 | match such sites as <http://savannah.gnu.org> and
|
---|
177 | <http://audio-video.gnu.org>.
|
---|
178 |
|
---|
179 | "Complaint email subject"
|
---|
180 | Configure the default subject used in complaint emails.
|
---|
181 |
|
---|
182 | "Complaint email body"
|
---|
183 | Configure the default body used in complaint emails.
|
---|
184 |
|
---|
185 |
|
---|
186 | File: librejs.info, Node: JavaScript Detection, Next: Free Licenses Detection, Prev: How to Use, Up: Top
|
---|
187 |
|
---|
188 | 5 JavaScript Detection
|
---|
189 | **********************
|
---|
190 |
|
---|
191 | LibreJS considers a very strict subset of JavaScript to be acceptable
|
---|
192 | for use in non-free scripts. This is meant to maximimize compatibility
|
---|
193 | with websites that haven't tried to be LibreJS compatible.
|
---|
194 |
|
---|
195 | We consider modification of the document non-trivial. There isn't
|
---|
196 | much that javascript could do that we would consider trivial, for
|
---|
197 | anything else a free software license would be required.
|
---|
198 |
|
---|
199 | The criterion is as follows:
|
---|
200 |
|
---|
201 | For each function definition:
|
---|
202 | * It must call only primitives.
|
---|
203 | * The number of conditionals and loops must be at most 3.
|
---|
204 | * It does not declare an array more than 50 elements long.
|
---|
205 | * It must not call itself
|
---|
206 |
|
---|
207 | For the rest of the script, outside of function definitions:
|
---|
208 | * It must call only primitives and functions defined above in the
|
---|
209 | page.
|
---|
210 | * The number of conditionals and loops must be at most 3.
|
---|
211 |
|
---|
212 | "function" means anything executable that gets a name, including
|
---|
213 | methods.
|
---|
214 |
|
---|
215 | Allowed primitives exclude:
|
---|
216 | * eval()
|
---|
217 | * ajax
|
---|
218 | * calling methods with the square bracket notation
|
---|
219 | * altering the dom
|
---|
220 | * most other items found as methods of the '.window' object.
|
---|
221 |
|
---|
222 |
|
---|
223 | File: librejs.info, Node: Free Licenses Detection, Next: Setting Your JavaScript Free, Prev: JavaScript Detection, Up: Top
|
---|
224 |
|
---|
225 | 6 Free Licenses Detection
|
---|
226 | *************************
|
---|
227 |
|
---|
228 | The machine readable format for license declarations that LibreJS uses
|
---|
229 | has changed in the most recent version. This was necessary in order to
|
---|
230 | not break the asynchronous JS loading model that browsers use. Scripts
|
---|
231 | are now evaluated independent of eachother and strictly as they arrive.
|
---|
232 |
|
---|
233 |
|
---|
234 | File: librejs.info, Node: Setting Your JavaScript Free, Next: LibreJS Development Notes, Prev: Free Licenses Detection, Up: Top
|
---|
235 |
|
---|
236 | 7 Setting Your JavaScript Free
|
---|
237 | ******************************
|
---|
238 |
|
---|
239 | The first step is releasing your JavaScript under a free license. If
|
---|
240 | you are already using a free library, or you're not using any
|
---|
241 | third-party libraries, it might only take a few minutes.
|
---|
242 |
|
---|
243 | On your website, take a look at your HTML source. You can identify
|
---|
244 | distinct pieces of JavaScript that might be free and some other that are
|
---|
245 | nonfree.
|
---|
246 |
|
---|
247 | This might be the case with an analytics tracker, social media
|
---|
248 | widgets, and code that runs ads. Removing these pieces of code from
|
---|
249 | your site is required to have the rest accepted as free. There are
|
---|
250 | often alternatives to nonfree libraries or to third-party services:
|
---|
251 |
|
---|
252 | * If you have used nonfree third-party code as the base to write your
|
---|
253 | own code, try to find a free alternative.
|
---|
254 |
|
---|
255 | * If you're using a third-party service such as an analytics service,
|
---|
256 | replace it with a free alternative like Piwik.
|
---|
257 |
|
---|
258 | * If you can't find free JavaScript that has already been developed,
|
---|
259 | write it yourself! Who knows, your own solution might be the start
|
---|
260 | of a brilliant project!
|
---|
261 |
|
---|
262 | 7.1 License tags
|
---|
263 | ================
|
---|
264 |
|
---|
265 | LibreJS will allow non-trivial scripts to run as long as they use a free
|
---|
266 | license.
|
---|
267 |
|
---|
268 | In order for the license of a script to be recognized by LibreJS, it
|
---|
269 | must be declared using a machine-readable license format.
|
---|
270 |
|
---|
271 | This format is the same for both remote in-line scripts.
|
---|
272 |
|
---|
273 | "// @license [magnet link] [identifier]" [Script here] "//
|
---|
274 | @license-end"
|
---|
275 |
|
---|
276 | "Identifier" is a name of a license from the following list and
|
---|
277 | "magnet link" is that license's exact corresponding magnet link.
|
---|
278 |
|
---|
279 | {
|
---|
280 | 'Apache-2.0':{
|
---|
281 | 'URL': 'http://www.apache.org/licenses/LICENSE-2.0',
|
---|
282 | 'Magnet link': 'magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt'
|
---|
283 | },
|
---|
284 | 'Artistic-2.0':{
|
---|
285 | 'URL': 'http://www.perlfoundation.org/artistic_license_2_0',
|
---|
286 | 'Magnet link': 'magnet:?xt=urn:btih:54fd2283f9dbdf29466d2df1a98bf8f65cafe314&dn=artistic-2.0.txt'
|
---|
287 | },
|
---|
288 | 'Boost':{
|
---|
289 | 'URL': 'http://www.boost.org/LICENSE_1_0.txt',
|
---|
290 | 'Magnet link': 'magnet:?xt=urn:btih:89a97c535628232f2f3888c2b7b8ffd4c078cec0&dn=Boost-1.0.txt'
|
---|
291 | },
|
---|
292 | 'BSD-3-Clause':{
|
---|
293 | 'URL': 'http://opensource.org/licenses/BSD-3-Clause',
|
---|
294 | 'Magnet link': 'magnet:?xt=urn:btih:c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt',
|
---|
295 | },
|
---|
296 | 'CPAL-1.0':{
|
---|
297 | 'URL': 'http://opensource.org/licenses/cpal_1.0',
|
---|
298 | 'Magnet link': 'magnet:?xt=urn:btih:84143bc45939fc8fa42921d619a95462c2031c5c&dn=cpal-1.0.txt'
|
---|
299 | },
|
---|
300 | 'CC0-1.0':{
|
---|
301 | 'URL': 'http://creativecommons.org/publicdomain/zero/1.0/legalcode',
|
---|
302 | 'Magnet link': 'magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt'
|
---|
303 | },
|
---|
304 | 'EPL-1.0':{
|
---|
305 | 'URL': 'http://www.eclipse.org/legal/epl-v10.html',
|
---|
306 | 'Magnet link': 'magnet:?xt=urn:btih:4c6a2ad0018cd461e9b0fc44e1b340d2c1828b22&dn=epl-1.0.txt'
|
---|
307 | },
|
---|
308 | 'Expat':{
|
---|
309 | 'URL': 'http://www.jclark.com/xml/copying.txt',
|
---|
310 | 'Magnet link': 'magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt'
|
---|
311 | },
|
---|
312 | 'FreeBSD':{
|
---|
313 | 'URL': 'http://www.freebsd.org/copyright/freebsd-license.html',
|
---|
314 | 'Magnet link': 'magnet:?xt=urn:btih:87f119ba0b429ba17a44b4bffcab33165ebdacc0&dn=freebsd.txt'
|
---|
315 | },
|
---|
316 | 'GPL-2.0':{
|
---|
317 | 'URL': 'http://www.gnu.org/licenses/gpl-2.0.html',
|
---|
318 | 'Magnet link': 'magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt'
|
---|
319 | },
|
---|
320 | 'GPL-3.0':{
|
---|
321 | 'URL': 'http://www.gnu.org/licenses/gpl-3.0.html',
|
---|
322 | 'Magnet link': 'magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt'
|
---|
323 | },
|
---|
324 | 'LGPL-2.1':{
|
---|
325 | 'URL': 'http://www.gnu.org/licenses/lgpl-2.1.html',
|
---|
326 | 'Magnet link': 'magnet:?xt=urn:btih:5de60da917303dbfad4f93fb1b985ced5a89eac2&dn=lgpl-2.1.txt'
|
---|
327 | },
|
---|
328 | 'LGPL-3.0':{
|
---|
329 | 'URL': 'http://www.gnu.org/licenses/lgpl-3.0.html',
|
---|
330 | 'Magnet link': 'magnet:?xt=urn:btih:0ef1b8170b3b615170ff270def6427c317705f85&dn=lgpl-3.0.txt'
|
---|
331 | },
|
---|
332 | 'AGPL-3.0':{
|
---|
333 | 'URL': 'http://www.gnu.org/licenses/agpl-3.0.html',
|
---|
334 | 'Magnet link': 'magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt'
|
---|
335 | },
|
---|
336 | 'ISC':{
|
---|
337 | 'URL': 'https://www.isc.org/downloads/software-support-policy/isc-license/',
|
---|
338 | 'Magnet link': 'magnet:?xt=urn:btih:b8999bbaf509c08d127678643c515b9ab0836bae&dn=ISC.txt'
|
---|
339 | },
|
---|
340 | 'MPL-2.0':{
|
---|
341 | 'URL': 'http://www.mozilla.org/MPL/2.0',
|
---|
342 | 'Magnet link': 'magnet:?xt=urn:btih:3877d6d54b3accd4bc32f8a48bf32ebc0901502a&dn=mpl-2.0.txt'
|
---|
343 | },
|
---|
344 | 'UPL-1.0': {
|
---|
345 | 'URL': 'https://oss.oracle.com/licenses/upl/',
|
---|
346 | 'Magnet link': 'magnet:?xt=urn:btih:478974f4d41c3fa84c4befba25f283527fad107d&dn=upl-1.0.txt'
|
---|
347 | },
|
---|
348 | 'WTFPL': {
|
---|
349 | 'URL': 'http://www.wtfpl.net/txt/copying/',
|
---|
350 | 'Magnet link': 'magnet:?xt=urn:btih:723febf9f6185544f57f0660a41489c7d6b4931b&dn=wtfpl.txt'
|
---|
351 | },
|
---|
352 | 'Unlicense':{
|
---|
353 | 'URL': 'http://unlicense.org/UNLICENSE',
|
---|
354 | 'Magnet link': 'magnet:?xt=urn:btih:5ac446d35272cc2e4e85e4325b146d0b7ca8f50c&dn=unlicense.txt'
|
---|
355 | },
|
---|
356 | 'X11':{
|
---|
357 | 'URL': 'http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3',
|
---|
358 | 'Magnet link': 'magnet:?xt=urn:btih:5305d91886084f776adcf57509a648432709a7c7&dn=x11.txt'
|
---|
359 | },
|
---|
360 | 'Modified-BSD':{
|
---|
361 | 'URL': 'http://www.xfree86.org/current/LICENSE4.html',
|
---|
362 | 'Magnet link': 'magnet:?xt=urn:btih:12f2ec9e8de2a3b0002a33d518d6010cc8ab2ae9&dn=xfree86.txt'
|
---|
363 | }
|
---|
364 | }
|
---|
365 |
|
---|
366 | 7.2 Undetected Free Licenses
|
---|
367 | ============================
|
---|
368 |
|
---|
369 | If you are using a free license that isn't detected by LibreJS and isn't
|
---|
370 | listed in the previous section, please send a message to
|
---|
371 | <bug-librejs@gnu.org> regarding this license, where code released under
|
---|
372 | this license can be found, and where to find the license text and
|
---|
373 | information.
|
---|
374 |
|
---|
375 | Many free licenses are listed in this page:
|
---|
376 | <http://www.gnu.org/licenses/license-list.html>
|
---|
377 |
|
---|
378 |
|
---|
379 | File: librejs.info, Node: LibreJS Development Notes, Next: Installation Requirements, Prev: Setting Your JavaScript Free, Up: Top
|
---|
380 |
|
---|
381 | 8 LibreJS Development Notes
|
---|
382 | ***************************
|
---|
383 |
|
---|
384 | 8.1 Debugging
|
---|
385 | =============
|
---|
386 |
|
---|
387 | To debug LibreJS, visit the special URL 'about:debugging'. Click on
|
---|
388 | 'Enable add-on debugging' then 'Load Temporary Add-on'. Navigate to
|
---|
389 | LibreJS's unpacked source directory and select 'manifest.json'.
|
---|
390 |
|
---|
391 | Lines 34 and 35 in 'main_background.js' control the printing of
|
---|
392 | 'dbg_print()' statements. Make sure these are set to false in releases.
|
---|
393 |
|
---|
394 | 8.2 Adding new whitelisted libraries
|
---|
395 | ====================================
|
---|
396 |
|
---|
397 | The script index.js in './hash_script' generates the default whitelist.
|
---|
398 | Run it with the following command:
|
---|
399 |
|
---|
400 | 'node index.js > output'
|
---|
401 |
|
---|
402 | Then, just copy the contents of the file "output" to the appropriate
|
---|
403 | place in main_background.js.
|
---|
404 |
|
---|
405 | 8.3 Releasing a new version
|
---|
406 | ===========================
|
---|
407 |
|
---|
408 | Update the version number in manifest.json.
|
---|
409 |
|
---|
410 | Make sure debug statements are set to felse on lines 34/35 in
|
---|
411 | 'main_background.js'.
|
---|
412 |
|
---|
413 | Then, run the build script 'build.sh'.
|
---|
414 |
|
---|
415 |
|
---|
416 | File: librejs.info, Node: Installation Requirements, Next: LibreJS Internals, Prev: LibreJS Development Notes, Up: Top
|
---|
417 |
|
---|
418 | Appendix A Installation Requirements
|
---|
419 | ************************************
|
---|
420 |
|
---|
421 | A.1 Mozilla Browser
|
---|
422 | ===================
|
---|
423 |
|
---|
424 | You will need one of the many flavors of the Mozilla browser to use
|
---|
425 | LibreJS. It can be installed on the following:
|
---|
426 |
|
---|
427 | GNU IceCat, Mozilla Firefox, Trisquel Abrowser, Debian Iceweasel.
|
---|
428 |
|
---|
429 | LibreJS works on these browsers starting from version 57. We
|
---|
430 | recommend that you use the latest version of your Mozilla browser.
|
---|
431 | LibreJS has been tested on a GNU/Linux distribution, but it is
|
---|
432 | compatible any operating system as long as you're using a compatible
|
---|
433 | Mozilla browser.
|
---|
434 |
|
---|
435 |
|
---|
436 | File: librejs.info, Node: LibreJS Internals, Next: GNU Free Documentation License, Prev: Installation Requirements, Up: Top
|
---|
437 |
|
---|
438 | Appendix B LibreJS Internals
|
---|
439 | ****************************
|
---|
440 |
|
---|
441 | LibreJS intercepts HTTP responses and rewrites their contents after
|
---|
442 | analyzing JavaScript within them. It does not remove script nodes and
|
---|
443 | attributes from the page, but instead "deactivates" them by replacing
|
---|
444 | their content with a commented notice.
|
---|
445 |
|
---|
446 | LibreJS detects the most common cases using the HTTP response method
|
---|
447 | described above, but in less common edge cases, or when running code
|
---|
448 | locally, LibreJS cannot detect JavaScript during the response stage.
|
---|
449 |
|
---|
450 |
|
---|
451 | File: librejs.info, Node: GNU Free Documentation License, Prev: LibreJS Internals, Up: Top
|
---|
452 |
|
---|
453 | Appendix C GNU Free Documentation License
|
---|
454 | *****************************************
|
---|
455 |
|
---|
456 | Version 1.3, 3 November 2008
|
---|
457 |
|
---|
458 | Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
---|
459 | <http://fsf.org/>
|
---|
460 |
|
---|
461 | Everyone is permitted to copy and distribute verbatim copies
|
---|
462 | of this license document, but changing it is not allowed.
|
---|
463 |
|
---|
464 | 0. PREAMBLE
|
---|
465 |
|
---|
466 | The purpose of this License is to make a manual, textbook, or other
|
---|
467 | functional and useful document "free" in the sense of freedom: to
|
---|
468 | assure everyone the effective freedom to copy and redistribute it,
|
---|
469 | with or without modifying it, either commercially or
|
---|
470 | noncommercially. Secondarily, this License preserves for the
|
---|
471 | author and publisher a way to get credit for their work, while not
|
---|
472 | being considered responsible for modifications made by others.
|
---|
473 |
|
---|
474 | This License is a kind of "copyleft", which means that derivative
|
---|
475 | works of the document must themselves be free in the same sense.
|
---|
476 | It complements the GNU General Public License, which is a copyleft
|
---|
477 | license designed for free software.
|
---|
478 |
|
---|
479 | We have designed this License in order to use it for manuals for
|
---|
480 | free software, because free software needs free documentation: a
|
---|
481 | free program should come with manuals providing the same freedoms
|
---|
482 | that the software does. But this License is not limited to
|
---|
483 | software manuals; it can be used for any textual work, regardless
|
---|
484 | of subject matter or whether it is published as a printed book. We
|
---|
485 | recommend this License principally for works whose purpose is
|
---|
486 | instruction or reference.
|
---|
487 |
|
---|
488 | 1. APPLICABILITY AND DEFINITIONS
|
---|
489 |
|
---|
490 | This License applies to any manual or other work, in any medium,
|
---|
491 | that contains a notice placed by the copyright holder saying it can
|
---|
492 | be distributed under the terms of this License. Such a notice
|
---|
493 | grants a world-wide, royalty-free license, unlimited in duration,
|
---|
494 | to use that work under the conditions stated herein. The
|
---|
495 | "Document", below, refers to any such manual or work. Any member
|
---|
496 | of the public is a licensee, and is addressed as "you". You accept
|
---|
497 | the license if you copy, modify or distribute the work in a way
|
---|
498 | requiring permission under copyright law.
|
---|
499 |
|
---|
500 | A "Modified Version" of the Document means any work containing the
|
---|
501 | Document or a portion of it, either copied verbatim, or with
|
---|
502 | modifications and/or translated into another language.
|
---|
503 |
|
---|
504 | A "Secondary Section" is a named appendix or a front-matter section
|
---|
505 | of the Document that deals exclusively with the relationship of the
|
---|
506 | publishers or authors of the Document to the Document's overall
|
---|
507 | subject (or to related matters) and contains nothing that could
|
---|
508 | fall directly within that overall subject. (Thus, if the Document
|
---|
509 | is in part a textbook of mathematics, a Secondary Section may not
|
---|
510 | explain any mathematics.) The relationship could be a matter of
|
---|
511 | historical connection with the subject or with related matters, or
|
---|
512 | of legal, commercial, philosophical, ethical or political position
|
---|
513 | regarding them.
|
---|
514 |
|
---|
515 | The "Invariant Sections" are certain Secondary Sections whose
|
---|
516 | titles are designated, as being those of Invariant Sections, in the
|
---|
517 | notice that says that the Document is released under this License.
|
---|
518 | If a section does not fit the above definition of Secondary then it
|
---|
519 | is not allowed to be designated as Invariant. The Document may
|
---|
520 | contain zero Invariant Sections. If the Document does not identify
|
---|
521 | any Invariant Sections then there are none.
|
---|
522 |
|
---|
523 | The "Cover Texts" are certain short passages of text that are
|
---|
524 | listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
---|
525 | that says that the Document is released under this License. A
|
---|
526 | Front-Cover Text may be at most 5 words, and a Back-Cover Text may
|
---|
527 | be at most 25 words.
|
---|
528 |
|
---|
529 | A "Transparent" copy of the Document means a machine-readable copy,
|
---|
530 | represented in a format whose specification is available to the
|
---|
531 | general public, that is suitable for revising the document
|
---|
532 | straightforwardly with generic text editors or (for images composed
|
---|
533 | of pixels) generic paint programs or (for drawings) some widely
|
---|
534 | available drawing editor, and that is suitable for input to text
|
---|
535 | formatters or for automatic translation to a variety of formats
|
---|
536 | suitable for input to text formatters. A copy made in an otherwise
|
---|
537 | Transparent file format whose markup, or absence of markup, has
|
---|
538 | been arranged to thwart or discourage subsequent modification by
|
---|
539 | readers is not Transparent. An image format is not Transparent if
|
---|
540 | used for any substantial amount of text. A copy that is not
|
---|
541 | "Transparent" is called "Opaque".
|
---|
542 |
|
---|
543 | Examples of suitable formats for Transparent copies include plain
|
---|
544 | ASCII without markup, Texinfo input format, LaTeX input format,
|
---|
545 | SGML or XML using a publicly available DTD, and standard-conforming
|
---|
546 | simple HTML, PostScript or PDF designed for human modification.
|
---|
547 | Examples of transparent image formats include PNG, XCF and JPG.
|
---|
548 | Opaque formats include proprietary formats that can be read and
|
---|
549 | edited only by proprietary word processors, SGML or XML for which
|
---|
550 | the DTD and/or processing tools are not generally available, and
|
---|
551 | the machine-generated HTML, PostScript or PDF produced by some word
|
---|
552 | processors for output purposes only.
|
---|
553 |
|
---|
554 | The "Title Page" means, for a printed book, the title page itself,
|
---|
555 | plus such following pages as are needed to hold, legibly, the
|
---|
556 | material this License requires to appear in the title page. For
|
---|
557 | works in formats which do not have any title page as such, "Title
|
---|
558 | Page" means the text near the most prominent appearance of the
|
---|
559 | work's title, preceding the beginning of the body of the text.
|
---|
560 |
|
---|
561 | The "publisher" means any person or entity that distributes copies
|
---|
562 | of the Document to the public.
|
---|
563 |
|
---|
564 | A section "Entitled XYZ" means a named subunit of the Document
|
---|
565 | whose title either is precisely XYZ or contains XYZ in parentheses
|
---|
566 | following text that translates XYZ in another language. (Here XYZ
|
---|
567 | stands for a specific section name mentioned below, such as
|
---|
568 | "Acknowledgements", "Dedications", "Endorsements", or "History".)
|
---|
569 | To "Preserve the Title" of such a section when you modify the
|
---|
570 | Document means that it remains a section "Entitled XYZ" according
|
---|
571 | to this definition.
|
---|
572 |
|
---|
573 | The Document may include Warranty Disclaimers next to the notice
|
---|
574 | which states that this License applies to the Document. These
|
---|
575 | Warranty Disclaimers are considered to be included by reference in
|
---|
576 | this License, but only as regards disclaiming warranties: any other
|
---|
577 | implication that these Warranty Disclaimers may have is void and
|
---|
578 | has no effect on the meaning of this License.
|
---|
579 |
|
---|
580 | 2. VERBATIM COPYING
|
---|
581 |
|
---|
582 | You may copy and distribute the Document in any medium, either
|
---|
583 | commercially or noncommercially, provided that this License, the
|
---|
584 | copyright notices, and the license notice saying this License
|
---|
585 | applies to the Document are reproduced in all copies, and that you
|
---|
586 | add no other conditions whatsoever to those of this License. You
|
---|
587 | may not use technical measures to obstruct or control the reading
|
---|
588 | or further copying of the copies you make or distribute. However,
|
---|
589 | you may accept compensation in exchange for copies. If you
|
---|
590 | distribute a large enough number of copies you must also follow the
|
---|
591 | conditions in section 3.
|
---|
592 |
|
---|
593 | You may also lend copies, under the same conditions stated above,
|
---|
594 | and you may publicly display copies.
|
---|
595 |
|
---|
596 | 3. COPYING IN QUANTITY
|
---|
597 |
|
---|
598 | If you publish printed copies (or copies in media that commonly
|
---|
599 | have printed covers) of the Document, numbering more than 100, and
|
---|
600 | the Document's license notice requires Cover Texts, you must
|
---|
601 | enclose the copies in covers that carry, clearly and legibly, all
|
---|
602 | these Cover Texts: Front-Cover Texts on the front cover, and
|
---|
603 | Back-Cover Texts on the back cover. Both covers must also clearly
|
---|
604 | and legibly identify you as the publisher of these copies. The
|
---|
605 | front cover must present the full title with all words of the title
|
---|
606 | equally prominent and visible. You may add other material on the
|
---|
607 | covers in addition. Copying with changes limited to the covers, as
|
---|
608 | long as they preserve the title of the Document and satisfy these
|
---|
609 | conditions, can be treated as verbatim copying in other respects.
|
---|
610 |
|
---|
611 | If the required texts for either cover are too voluminous to fit
|
---|
612 | legibly, you should put the first ones listed (as many as fit
|
---|
613 | reasonably) on the actual cover, and continue the rest onto
|
---|
614 | adjacent pages.
|
---|
615 |
|
---|
616 | If you publish or distribute Opaque copies of the Document
|
---|
617 | numbering more than 100, you must either include a machine-readable
|
---|
618 | Transparent copy along with each Opaque copy, or state in or with
|
---|
619 | each Opaque copy a computer-network location from which the general
|
---|
620 | network-using public has access to download using public-standard
|
---|
621 | network protocols a complete Transparent copy of the Document, free
|
---|
622 | of added material. If you use the latter option, you must take
|
---|
623 | reasonably prudent steps, when you begin distribution of Opaque
|
---|
624 | copies in quantity, to ensure that this Transparent copy will
|
---|
625 | remain thus accessible at the stated location until at least one
|
---|
626 | year after the last time you distribute an Opaque copy (directly or
|
---|
627 | through your agents or retailers) of that edition to the public.
|
---|
628 |
|
---|
629 | It is requested, but not required, that you contact the authors of
|
---|
630 | the Document well before redistributing any large number of copies,
|
---|
631 | to give them a chance to provide you with an updated version of the
|
---|
632 | Document.
|
---|
633 |
|
---|
634 | 4. MODIFICATIONS
|
---|
635 |
|
---|
636 | You may copy and distribute a Modified Version of the Document
|
---|
637 | under the conditions of sections 2 and 3 above, provided that you
|
---|
638 | release the Modified Version under precisely this License, with the
|
---|
639 | Modified Version filling the role of the Document, thus licensing
|
---|
640 | distribution and modification of the Modified Version to whoever
|
---|
641 | possesses a copy of it. In addition, you must do these things in
|
---|
642 | the Modified Version:
|
---|
643 |
|
---|
644 | A. Use in the Title Page (and on the covers, if any) a title
|
---|
645 | distinct from that of the Document, and from those of previous
|
---|
646 | versions (which should, if there were any, be listed in the
|
---|
647 | History section of the Document). You may use the same title
|
---|
648 | as a previous version if the original publisher of that
|
---|
649 | version gives permission.
|
---|
650 |
|
---|
651 | B. List on the Title Page, as authors, one or more persons or
|
---|
652 | entities responsible for authorship of the modifications in
|
---|
653 | the Modified Version, together with at least five of the
|
---|
654 | principal authors of the Document (all of its principal
|
---|
655 | authors, if it has fewer than five), unless they release you
|
---|
656 | from this requirement.
|
---|
657 |
|
---|
658 | C. State on the Title page the name of the publisher of the
|
---|
659 | Modified Version, as the publisher.
|
---|
660 |
|
---|
661 | D. Preserve all the copyright notices of the Document.
|
---|
662 |
|
---|
663 | E. Add an appropriate copyright notice for your modifications
|
---|
664 | adjacent to the other copyright notices.
|
---|
665 |
|
---|
666 | F. Include, immediately after the copyright notices, a license
|
---|
667 | notice giving the public permission to use the Modified
|
---|
668 | Version under the terms of this License, in the form shown in
|
---|
669 | the Addendum below.
|
---|
670 |
|
---|
671 | G. Preserve in that license notice the full lists of Invariant
|
---|
672 | Sections and required Cover Texts given in the Document's
|
---|
673 | license notice.
|
---|
674 |
|
---|
675 | H. Include an unaltered copy of this License.
|
---|
676 |
|
---|
677 | I. Preserve the section Entitled "History", Preserve its Title,
|
---|
678 | and add to it an item stating at least the title, year, new
|
---|
679 | authors, and publisher of the Modified Version as given on the
|
---|
680 | Title Page. If there is no section Entitled "History" in the
|
---|
681 | Document, create one stating the title, year, authors, and
|
---|
682 | publisher of the Document as given on its Title Page, then add
|
---|
683 | an item describing the Modified Version as stated in the
|
---|
684 | previous sentence.
|
---|
685 |
|
---|
686 | J. Preserve the network location, if any, given in the Document
|
---|
687 | for public access to a Transparent copy of the Document, and
|
---|
688 | likewise the network locations given in the Document for
|
---|
689 | previous versions it was based on. These may be placed in the
|
---|
690 | "History" section. You may omit a network location for a work
|
---|
691 | that was published at least four years before the Document
|
---|
692 | itself, or if the original publisher of the version it refers
|
---|
693 | to gives permission.
|
---|
694 |
|
---|
695 | K. For any section Entitled "Acknowledgements" or "Dedications",
|
---|
696 | Preserve the Title of the section, and preserve in the section
|
---|
697 | all the substance and tone of each of the contributor
|
---|
698 | acknowledgements and/or dedications given therein.
|
---|
699 |
|
---|
700 | L. Preserve all the Invariant Sections of the Document, unaltered
|
---|
701 | in their text and in their titles. Section numbers or the
|
---|
702 | equivalent are not considered part of the section titles.
|
---|
703 |
|
---|
704 | M. Delete any section Entitled "Endorsements". Such a section
|
---|
705 | may not be included in the Modified Version.
|
---|
706 |
|
---|
707 | N. Do not retitle any existing section to be Entitled
|
---|
708 | "Endorsements" or to conflict in title with any Invariant
|
---|
709 | Section.
|
---|
710 |
|
---|
711 | O. Preserve any Warranty Disclaimers.
|
---|
712 |
|
---|
713 | If the Modified Version includes new front-matter sections or
|
---|
714 | appendices that qualify as Secondary Sections and contain no
|
---|
715 | material copied from the Document, you may at your option designate
|
---|
716 | some or all of these sections as invariant. To do this, add their
|
---|
717 | titles to the list of Invariant Sections in the Modified Version's
|
---|
718 | license notice. These titles must be distinct from any other
|
---|
719 | section titles.
|
---|
720 |
|
---|
721 | You may add a section Entitled "Endorsements", provided it contains
|
---|
722 | nothing but endorsements of your Modified Version by various
|
---|
723 | parties--for example, statements of peer review or that the text
|
---|
724 | has been approved by an organization as the authoritative
|
---|
725 | definition of a standard.
|
---|
726 |
|
---|
727 | You may add a passage of up to five words as a Front-Cover Text,
|
---|
728 | and a passage of up to 25 words as a Back-Cover Text, to the end of
|
---|
729 | the list of Cover Texts in the Modified Version. Only one passage
|
---|
730 | of Front-Cover Text and one of Back-Cover Text may be added by (or
|
---|
731 | through arrangements made by) any one entity. If the Document
|
---|
732 | already includes a cover text for the same cover, previously added
|
---|
733 | by you or by arrangement made by the same entity you are acting on
|
---|
734 | behalf of, you may not add another; but you may replace the old
|
---|
735 | one, on explicit permission from the previous publisher that added
|
---|
736 | the old one.
|
---|
737 |
|
---|
738 | The author(s) and publisher(s) of the Document do not by this
|
---|
739 | License give permission to use their names for publicity for or to
|
---|
740 | assert or imply endorsement of any Modified Version.
|
---|
741 |
|
---|
742 | 5. COMBINING DOCUMENTS
|
---|
743 |
|
---|
744 | You may combine the Document with other documents released under
|
---|
745 | this License, under the terms defined in section 4 above for
|
---|
746 | modified versions, provided that you include in the combination all
|
---|
747 | of the Invariant Sections of all of the original documents,
|
---|
748 | unmodified, and list them all as Invariant Sections of your
|
---|
749 | combined work in its license notice, and that you preserve all
|
---|
750 | their Warranty Disclaimers.
|
---|
751 |
|
---|
752 | The combined work need only contain one copy of this License, and
|
---|
753 | multiple identical Invariant Sections may be replaced with a single
|
---|
754 | copy. If there are multiple Invariant Sections with the same name
|
---|
755 | but different contents, make the title of each such section unique
|
---|
756 | by adding at the end of it, in parentheses, the name of the
|
---|
757 | original author or publisher of that section if known, or else a
|
---|
758 | unique number. Make the same adjustment to the section titles in
|
---|
759 | the list of Invariant Sections in the license notice of the
|
---|
760 | combined work.
|
---|
761 |
|
---|
762 | In the combination, you must combine any sections Entitled
|
---|
763 | "History" in the various original documents, forming one section
|
---|
764 | Entitled "History"; likewise combine any sections Entitled
|
---|
765 | "Acknowledgements", and any sections Entitled "Dedications". You
|
---|
766 | must delete all sections Entitled "Endorsements."
|
---|
767 |
|
---|
768 | 6. COLLECTIONS OF DOCUMENTS
|
---|
769 |
|
---|
770 | You may make a collection consisting of the Document and other
|
---|
771 | documents released under this License, and replace the individual
|
---|
772 | copies of this License in the various documents with a single copy
|
---|
773 | that is included in the collection, provided that you follow the
|
---|
774 | rules of this License for verbatim copying of each of the documents
|
---|
775 | in all other respects.
|
---|
776 |
|
---|
777 | You may extract a single document from such a collection, and
|
---|
778 | distribute it individually under this License, provided you insert
|
---|
779 | a copy of this License into the extracted document, and follow this
|
---|
780 | License in all other respects regarding verbatim copying of that
|
---|
781 | document.
|
---|
782 |
|
---|
783 | 7. AGGREGATION WITH INDEPENDENT WORKS
|
---|
784 |
|
---|
785 | A compilation of the Document or its derivatives with other
|
---|
786 | separate and independent documents or works, in or on a volume of a
|
---|
787 | storage or distribution medium, is called an "aggregate" if the
|
---|
788 | copyright resulting from the compilation is not used to limit the
|
---|
789 | legal rights of the compilation's users beyond what the individual
|
---|
790 | works permit. When the Document is included in an aggregate, this
|
---|
791 | License does not apply to the other works in the aggregate which
|
---|
792 | are not themselves derivative works of the Document.
|
---|
793 |
|
---|
794 | If the Cover Text requirement of section 3 is applicable to these
|
---|
795 | copies of the Document, then if the Document is less than one half
|
---|
796 | of the entire aggregate, the Document's Cover Texts may be placed
|
---|
797 | on covers that bracket the Document within the aggregate, or the
|
---|
798 | electronic equivalent of covers if the Document is in electronic
|
---|
799 | form. Otherwise they must appear on printed covers that bracket
|
---|
800 | the whole aggregate.
|
---|
801 |
|
---|
802 | 8. TRANSLATION
|
---|
803 |
|
---|
804 | Translation is considered a kind of modification, so you may
|
---|
805 | distribute translations of the Document under the terms of section
|
---|
806 | 4. Replacing Invariant Sections with translations requires special
|
---|
807 | permission from their copyright holders, but you may include
|
---|
808 | translations of some or all Invariant Sections in addition to the
|
---|
809 | original versions of these Invariant Sections. You may include a
|
---|
810 | translation of this License, and all the license notices in the
|
---|
811 | Document, and any Warranty Disclaimers, provided that you also
|
---|
812 | include the original English version of this License and the
|
---|
813 | original versions of those notices and disclaimers. In case of a
|
---|
814 | disagreement between the translation and the original version of
|
---|
815 | this License or a notice or disclaimer, the original version will
|
---|
816 | prevail.
|
---|
817 |
|
---|
818 | If a section in the Document is Entitled "Acknowledgements",
|
---|
819 | "Dedications", or "History", the requirement (section 4) to
|
---|
820 | Preserve its Title (section 1) will typically require changing the
|
---|
821 | actual title.
|
---|
822 |
|
---|
823 | 9. TERMINATION
|
---|
824 |
|
---|
825 | You may not copy, modify, sublicense, or distribute the Document
|
---|
826 | except as expressly provided under this License. Any attempt
|
---|
827 | otherwise to copy, modify, sublicense, or distribute it is void,
|
---|
828 | and will automatically terminate your rights under this License.
|
---|
829 |
|
---|
830 | However, if you cease all violation of this License, then your
|
---|
831 | license from a particular copyright holder is reinstated (a)
|
---|
832 | provisionally, unless and until the copyright holder explicitly and
|
---|
833 | finally terminates your license, and (b) permanently, if the
|
---|
834 | copyright holder fails to notify you of the violation by some
|
---|
835 | reasonable means prior to 60 days after the cessation.
|
---|
836 |
|
---|
837 | Moreover, your license from a particular copyright holder is
|
---|
838 | reinstated permanently if the copyright holder notifies you of the
|
---|
839 | violation by some reasonable means, this is the first time you have
|
---|
840 | received notice of violation of this License (for any work) from
|
---|
841 | that copyright holder, and you cure the violation prior to 30 days
|
---|
842 | after your receipt of the notice.
|
---|
843 |
|
---|
844 | Termination of your rights under this section does not terminate
|
---|
845 | the licenses of parties who have received copies or rights from you
|
---|
846 | under this License. If your rights have been terminated and not
|
---|
847 | permanently reinstated, receipt of a copy of some or all of the
|
---|
848 | same material does not give you any rights to use it.
|
---|
849 |
|
---|
850 | 10. FUTURE REVISIONS OF THIS LICENSE
|
---|
851 |
|
---|
852 | The Free Software Foundation may publish new, revised versions of
|
---|
853 | the GNU Free Documentation License from time to time. Such new
|
---|
854 | versions will be similar in spirit to the present version, but may
|
---|
855 | differ in detail to address new problems or concerns. See
|
---|
856 | <http://www.gnu.org/copyleft/>.
|
---|
857 |
|
---|
858 | Each version of the License is given a distinguishing version
|
---|
859 | number. If the Document specifies that a particular numbered
|
---|
860 | version of this License "or any later version" applies to it, you
|
---|
861 | have the option of following the terms and conditions either of
|
---|
862 | that specified version or of any later version that has been
|
---|
863 | published (not as a draft) by the Free Software Foundation. If the
|
---|
864 | Document does not specify a version number of this License, you may
|
---|
865 | choose any version ever published (not as a draft) by the Free
|
---|
866 | Software Foundation. If the Document specifies that a proxy can
|
---|
867 | decide which future versions of this License can be used, that
|
---|
868 | proxy's public statement of acceptance of a version permanently
|
---|
869 | authorizes you to choose that version for the Document.
|
---|
870 |
|
---|
871 | 11. RELICENSING
|
---|
872 |
|
---|
873 | "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
|
---|
874 | World Wide Web server that publishes copyrightable works and also
|
---|
875 | provides prominent facilities for anybody to edit those works. A
|
---|
876 | public wiki that anybody can edit is an example of such a server.
|
---|
877 | A "Massive Multiauthor Collaboration" (or "MMC") contained in the
|
---|
878 | site means any set of copyrightable works thus published on the MMC
|
---|
879 | site.
|
---|
880 |
|
---|
881 | "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
|
---|
882 | license published by Creative Commons Corporation, a not-for-profit
|
---|
883 | corporation with a principal place of business in San Francisco,
|
---|
884 | California, as well as future copyleft versions of that license
|
---|
885 | published by that same organization.
|
---|
886 |
|
---|
887 | "Incorporate" means to publish or republish a Document, in whole or
|
---|
888 | in part, as part of another Document.
|
---|
889 |
|
---|
890 | An MMC is "eligible for relicensing" if it is licensed under this
|
---|
891 | License, and if all works that were first published under this
|
---|
892 | License somewhere other than this MMC, and subsequently
|
---|
893 | incorporated in whole or in part into the MMC, (1) had no cover
|
---|
894 | texts or invariant sections, and (2) were thus incorporated prior
|
---|
895 | to November 1, 2008.
|
---|
896 |
|
---|
897 | The operator of an MMC Site may republish an MMC contained in the
|
---|
898 | site under CC-BY-SA on the same site at any time before August 1,
|
---|
899 | 2009, provided the MMC is eligible for relicensing.
|
---|
900 |
|
---|
901 | ADDENDUM: How to use this License for your documents
|
---|
902 | ====================================================
|
---|
903 |
|
---|
904 | To use this License in a document you have written, include a copy of
|
---|
905 | the License in the document and put the following copyright and license
|
---|
906 | notices just after the title page:
|
---|
907 |
|
---|
908 | Copyright (C) YEAR YOUR NAME.
|
---|
909 | Permission is granted to copy, distribute and/or modify this document
|
---|
910 | under the terms of the GNU Free Documentation License, Version 1.3
|
---|
911 | or any later version published by the Free Software Foundation;
|
---|
912 | with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
---|
913 | Texts. A copy of the license is included in the section entitled ``GNU
|
---|
914 | Free Documentation License''.
|
---|
915 |
|
---|
916 | If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
---|
917 | Texts, replace the "with...Texts." line with this:
|
---|
918 |
|
---|
919 | with the Invariant Sections being LIST THEIR TITLES, with
|
---|
920 | the Front-Cover Texts being LIST, and with the Back-Cover Texts
|
---|
921 | being LIST.
|
---|
922 |
|
---|
923 | If you have Invariant Sections without Cover Texts, or some other
|
---|
924 | combination of the three, merge those two alternatives to suit the
|
---|
925 | situation.
|
---|
926 |
|
---|
927 | If your document contains nontrivial examples of program code, we
|
---|
928 | recommend releasing these examples in parallel under your choice of free
|
---|
929 | software license, such as the GNU General Public License, to permit
|
---|
930 | their use in free software.
|
---|
931 |
|
---|
932 |
|
---|
933 |
|
---|
934 | Tag Table:
|
---|
935 | Node: Top826
|
---|
936 | Node: Overview1820
|
---|
937 | Node: Disclaimer2667
|
---|
938 | Node: Installation3163
|
---|
939 | Node: How to Use3505
|
---|
940 | Node: JavaScript Detection7002
|
---|
941 | Node: Free Licenses Detection8289
|
---|
942 | Node: Setting Your JavaScript Free8760
|
---|
943 | Node: LibreJS Development Notes14487
|
---|
944 | Node: Installation Requirements15601
|
---|
945 | Node: LibreJS Internals16311
|
---|
946 | Node: GNU Free Documentation License16961
|
---|
947 |
|
---|
948 | End Tag Table
|
---|