Difference between revisions of "Free Software Directory:IceCat WebExtensions (proposed)/Dev"

From Free Software Directory
Jump to: navigation, search
(Moved)
Line 13: Line 13:
 
* Please read the [[Free_Software_Directory:Participate|participation]] guideline.
 
* Please read the [[Free_Software_Directory:Participate|participation]] guideline.
 
* Add your name/register to the [[Free_Software_Directory_talk:IceCat_extensions_(proposed)#Project_members|project members]] (see the Guidelines to know how to do that).
 
* Add your name/register to the [[Free_Software_Directory_talk:IceCat_extensions_(proposed)#Project_members|project members]] (see the Guidelines to know how to do that).
* Decide if you are going to use IceCat: We recommend that you use Trisquel if you are going to evaluate add-ons for IceCat. This is not a requirement though, as you might just want to help solving license issues for which you can use any web browser.
+
* Decide if you are going to use IceCat: We recommend that you use the [https://www.gnu.org/distros/free-distros.html endorsed FSF distribution] Trisquel GNU/Linux if you are going to evaluate add-ons for IceCat. This is not a requirement though, as you might just want to help solving license issues for which you can use any web browser. [https://www.gnu.org/software/gnuzilla/ Gnu Icecat] is developed by Rubén Rodriguez who work for the FSF, who is also the creator of [https://trisquel.info/ GNU Trisquel].
 
 
Note: [https://www.gnu.org/software/gnuzilla/ Gnu Icecat] is developed by Rubén Rodriguez who work for the FSF, who is also the creator of the [https://www.gnu.org/distros/free-distros.html endorsed FSF distribution] [https://trisquel.info/ GNU Trisquel].
 
  
 
==Guidelines==
 
==Guidelines==

Revision as of 06:56, 24 October 2016

Memberlist

Project administrators

Project members

Candidates

How to become a contributor?

  • Please read the participation guideline.
  • Add your name/register to the project members (see the Guidelines to know how to do that).
  • Decide if you are going to use IceCat: We recommend that you use the endorsed FSF distribution Trisquel GNU/Linux if you are going to evaluate add-ons for IceCat. This is not a requirement though, as you might just want to help solving license issues for which you can use any web browser. Gnu Icecat is developed by Rubén Rodriguez who work for the FSF, who is also the creator of GNU Trisquel.

Guidelines

Licenses

Verify licenses

  • Please verify license for some of the 600 unapproved add-ons. Do _not_ add new entries as we are currently overloaded.
  • Add-ons that were listed on addons.mozilla.org without any license were manually downloaded and reviewed. I added them only if the files distributed them as free software. Thus do not remove them from the FSD only because you didn't see the License on addons.mozilla.org.
  • Please refer to addons.mozilla.org pages if you cannot find any license in the source. Sometimes they add it just on the project page in addons.mozilla.org.

Verifying licenses is the first point that you must look at before even adding the add-on into the list of acceptable add-ons

The first verification is done when you first encounter the presentation of it at addons.mozilla.org

Normally on the right of the presentation page you can see the license of the software if, it is not specified you will have to look at:

  • The source code repositories
  • Verify if the license is specified in the source files
  • Or directly contact the creator

Example:

For this example we will take the LibreJS add-on.

Look at the presentation pages.

You will see that you can download it.

A bit further down on the right you will see four new informations:

  1. The home page of the add-on
  2. The support site
  3. The support e-mail
  4. and finally the License, in this case you can see that it is "Released under GNU General Public License, version 3.0"

If you select, "the home page of the add-on" or "The support site" you will immediately be redirected to the the same web page.

  • Why ?

Because the source codes is hosted at the same place has it's web site presentation page, same thing with the email.

The email is explicitly mentioned on the web-page presentation.

If you go further down in the web-page presentation you can also see that the source codes is also hosted in the ethical source code repository savannah.

Source code can be hosted in multiple areas it's not a problem.

To continue on the verification the second step is to look in the files of the add-on.

Download it via the Mozilla LibreJS page you can use "wget" or do a "right click" on the green "Download now" button and select "Save as".

  • Why not simply click on it ?

Cross-Platform Installer Module (XPI) is a ZIP file used to install packages, utilizing the XPInstall technology. XPI modules (so called "Bundles") are employed to install a wide variety of software, including Plugins, Extensions, Themes, and Thunderbird dictionaries. - https://developer.mozilla.org/en-US/docs/Mozilla/XPI

Because the format is a ".xpi" if you make a left click on it Icecat will immediately ask you if you want to install it.

Right now what we are going to do is not an installation but a decompression of the ".xpi" file.

When downloaded just extract it in a folder and open it.

At the root of the directory of the files that you just extracted.

You must have a file that indicates the license of the software.

The file generally has the name "COPYING" or simply "LICENSE" both a plain text you can open them with a text editor.

That just the preliminary verification of the extraction after that you need to look at the file that contain code and see if the beginning of it contains the license.

If you go in "data/script_detector" and open the file "script_detector.js" you can see at the beggining that the license is specified

/**
 * GNU LibreJS - A browser add-on to block nonfree nontrivial JavaScript.
 * *
 * Copyright (C) 2011, 2012, 2014 Loic J. Duros
 * Copyright (C) 2014, 2015 Nik Nyby
 *
 * This file is part of GNU LibreJS.
 *
 * GNU LibreJS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * GNU LibreJS is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GNU LibreJS.  If not, see <http://www.gnu.org/licenses/>.
 */

If any of these point are missing please see the "File an issue" section to... well file an issue to the developers.


  • The most important job you can do is to detect add-ons with license issues.
  • If you see "Not available for Firefox xx.x" if you evaluate an add-on in addons.mozilla.org you have to go to the add-on page and click on "Version Information" and then on "See complete version history" to find a version that match your browser version.
  • Please add "IceCat" but not "Firefox" in the "This an extension, add-on, or plugin to" field in new add-on entrys, as suggested by the FSF.

File license issues

Send this text to the developer.

Replace (including [])

I'm working as a volunteer for the Free Software Directory. There are a few legal issues to defend your and other users that use your software. If you fix them I'll publish your software at http://directory.fsf.org/wiki/DASH_FULL_SOFTWARE_NAME

[REMOVE ISSUES THAT ARE NOT RELEVANT TO THE ADD-ON BEFORE YOU SUBMIT IT.]

# License not displayed
[addons.mozilla.org_ENTRY] do not list "Released under".

# No full license file

There are no full copy of the license file

The root directory don't have a COPYING file with a copy of the software license. A plain text version of [LICENSE LICENSE_VERSION] 
can be found here: [LICENSE_LINK]

# Lack of license headers in each file

There are no license notices in the non-trivial source files

The source files in [FULL_SOFTWARE_NAME] don't have notices saying you are the copyright
holder and/or that they are released under [LICENSE LICENSE_VERSION]. 
I'm writing to ask you to please put a notice on each nontrivial source file.

Selecting a license on a website that hosts the add-on (like addons.mozilla.org), will only show it there, the source files won't be modified.

First, here's why license notices are needed.

The purpose of a license notice is to state formally that a certain
file may be used under the terms of a particular license.

The [LICENSE], like most free software licenses, applies to whatever
material is released under that license.  It does not say anything
about which programs are released that way.

Therefore, simply including a copy of the [LICENSE] with some code
does not release the code under the terms of the [LICENSE].
To do that, you need a license notice, which says, more or less,
"We the copyright holders release this code under the [LICENSE]."

It should be accompanied by a copyright notice, which says who
"we" copyright holders are.  That takes the form "Copyright YEAR NAME".

For the [LICENSE], there are two other reasons for a license notice: to say
which version of the [LICENSE] applies, and (for [LICENSE LICENSE_VERSION]), to say whether the
[LICENSE]'s option of GPL compatibility applies.  It is enabled by default
in [LICENSE LICENSE_VERSION], but users should have an explicit statement of where things
stand for any particular code.  The license notice is where you
specify this.

Why should the license notice be on each source file?
Because doing it at the package level is error-prone.

In the free software community, it is not unusual to copy a file from
a free program into some other context.  If the source file doesn't
have its own license notice, then its licensing comes from the
original context.  In the other context, its licensing may not be
clear.  It may not be stated at all, or it could be stated wrong.  For
instance, what if the other program says, "This program is released
under Apache 2.0", or "This program is released under GNU GPL, version
3 or any later version published by the Free Software Foundation."

The result would be to misinform users about the file's licensing.

People sometimes copy part of a file, too.  If the file has a license
notice, people know to preserve that notice when copying part of the
file's code.  Otherwise, the licensing will probably get lost.

A different problem can happen if you copy code _into_ [FULL_SOFTWARE_NAME] from
some other package.  Your package-level license notice would say it is
under [LICENSE LICENSE_VERSION], but what if it actually carries some other license,
such as Apache 2.0, or GPL Version 3 or later?

Keeping a license notice in each file is the way to reliably show
users what their rights are.  Please don't let uncertainty creep in.

You've made a decision about the license -- would you please announce
it in a way that won't get forgotten?

See https://www.gnu.org/licenses/gpl-howto.en.html for how to apply license notices.
See https://addons.mozilla.org/en-US/firefox/addon/librejs/ for a well licensed add-on.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.