Difference between revisions of "Free Software Directory:Free software evaluation"

From Free Software Directory
Jump to: navigation, search
(Quoted Bill Auger)
(added libchromiumcontent to the Electron list)
 
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page is used to evaluate if suspected software is nonfree so we can remove them from the Directory or avoid to add them.
+
This project page is for heightened scrutiny, packages that need a second pass essentially.
  
 
Software should be considered non-free until proven otherwise - the burdon of proof should be on the developers to prove their code is 100% freely distributable.
 
Software should be considered non-free until proven otherwise - the burdon of proof should be on the developers to prove their code is 100% freely distributable.
  
 
Chromium-based browsers[1]
 
Chromium-based browsers[1]
* [[Chromium]] itself
+
* [[Chromium]] itself. See [[Talk:Chromium]] page for instructions on how to contribute to ongoing evaluation.
 
* [[Iridium Browser]] (based on the Chromium code base)
 
* [[Iridium Browser]] (based on the Chromium code base)
 
* [[Ungoogled-Chromium]]
 
* [[Ungoogled-Chromium]]
 +
 +
Discourse:
 +
* [[Discourse]] itself. The current page revision is old and the evaluation needs to take into account the JavaScript trap and LibreJS compatibility. Ssee [[Talk:Discourse]] page for instructions on how to contribute to ongoing evaluation.
  
 
Electron[1]
 
Electron[1]
 
* The [[Electron]] web framework itself
 
* The [[Electron]] web framework itself
 +
* [[libchromiumcontent]], a build prerequisite of Electron (see also [[Talk:Libchromiumcontent]])
 
* [[Atom]]
 
* [[Atom]]
 +
* [[Etcher]] -- Added to the [[Free Software Directory:Free software replacements|Free software replacements]] pages.
 
* [[Riot.im]]
 
* [[Riot.im]]
 
* [[Visual Studio Code]]
 
* [[Visual Studio Code]]
Line 20: Line 25:
 
# https://lists.gnu.org/archive/html/directory-discuss/2017-12/msg00008.html
 
# https://lists.gnu.org/archive/html/directory-discuss/2017-12/msg00008.html
 
# https://lists.gnu.org/archive/html/libreplanet-discuss/2017-01/msg00001.html
 
# https://lists.gnu.org/archive/html/libreplanet-discuss/2017-01/msg00001.html
 +
 +
[[Telegram]] (desktop client)
 +
* Has delayed availability of source files compared to the binary release. See the numbered items below for more information.
 +
** Investigate if, after a binary release, the software has a license notice available somewhere and a place telling how to contact the copyright holders for the complete corresponding source.
 +
* Free/''libre'' software '''philosophy''' related issue: lacks federation with XMPP. See the whole parent thread of the references from the enumerated list below, and also [https://libreplanet.org/wiki/XMPP the page on XMPP in LibrePlanet wiki].
 +
 +
# https://lists.fsfe.org/mailman/private/android/2017-December/001049.html (requires subscription)
 +
# https://lists.fsfe.org/mailman/private/android/2017-December/001075.html (requires subscription)
 +
 +
==Trademark==
 +
* [[Scratch]]: http://download.scratch.mit.edu/scratch-1.4.0.6.src.tar.gz: /TRADEMARK_POLICY
 +
 +
==DRM==
 +
[[Tor Browser]] - https://trac.torproject.org/projects/tor/ticket/26144
 +
 +
==Nonfree JS==
 +
Every JavaScript file in every software for each new version release should be evaluated with command line tool that has the same capabilities as LibreJS. Unfortunate there's no such tool yet.
 +
 +
===IRC clients===
 +
 +
These web-based IRC clients cannot be used with LibreJS:
 +
{|class=wikitable
 +
|[[The Lounge]]: || [https://github.com/thelounge/thelounge/issues/2318 feature request] || [https://demo.thelounge.chat/ test LibreJS]
 +
|-
 +
|[[Kiwi IRC]]:    || [https://github.com/kiwiirc/kiwiirc/issues/294      feature request] || [https://kiwiirc.com/nextclient/#irc://chat.freenode.net/#kiwiirc test LibreJS]
 +
|-
 +
|[[qwebirc]]:    || [https://github.com/qwebirc/qwebirc/issues/345      feature request] || [http://webchat.quakenet.org/?channels=dev test LibreJS]
 +
|}
 +
We're using irc:// in <nowiki>Template:Print_entry</nowiki> (used on the entry pages like [[IceCat]]) and <nowiki>Template:IRC_text</nowiki> (used on the [[Main Page]]).
 +
 +
Related: IceCat, [https://savannah.gnu.org/bugs/index.php?53530 Free web-based IRC client replacement for Mibbit needed].
 +
 +
==Parabola blacklisted software==
 +
 +
===Blacklisted Parabola software that is approved in the Directory===
 +
 +
* [[Abiword]]
 +
* [[Abs]]
 +
* [[Abuse]]
 +
* [[Acpi_call]]
 +
* [[Apache_Ant]]
 +
* [[Ark]]
 +
* [[Atom]]
 +
* [[Atool]]
 +
* [[Bbswitch]]
 +
* [[Bfgminer]]
 +
* [[Blackbox]]
 +
* [[Blender]]
 +
* [[Bogofilter]]
 +
* [[Boinc]]
 +
* [[Bugzilla]]
 +
* [[Bumblebee]]
 +
* [[Calibre]]
 +
* [[Capi4hylafax]]
 +
* [[Cdrtools]]
 +
* [[Cgminer]]
 +
* [[Clementine]]
 +
* [[Clojure]]
 +
* [[Clonezilla]]
 +
* [[Closure_Compiler]]
 +
* [[Cowsay]]
 +
* [[Drbl]]
 +
* [[Ecasound]]
 +
* [[Engrampa]]
 +
* [[Epiphany]]
 +
* [[Gfxboot]]
 +
* [[Gnormalize]]
 +
* [[Grub]]
 +
* [[Hydrogen]]
 +
* [[Jmol]]
 +
* [[Kopete]]
 +
* [[Kile]]
 +
* [[Kodi]]
 +
* [[Konqueror]]
 +
* [[Krusader]]
 +
* [[Libxfce4ui]]
 +
* [[Mapnik]]
 +
* [[Maven]]
 +
* [[Mc]]
 +
* [[Mesa]]
 +
* [[Midori]]
 +
* [[Minitube]]
 +
* [[Mp32ogg]]
 +
* [[Netpbm]]
 +
* [[Pacman]]
 +
* [[Povray]]
 +
* [[Psutils]]
 +
* [[Pyrit]]
 +
* [[Qtcreator]]
 +
* [[Qupzilla]]
 +
* [[Ruby]]
 +
* [[Shntool]]
 +
* [[Shutter]]
 +
* [[Systemd]]
 +
* [[Vim]]
 +
* [[Wings3d]]
 +
* [[Xarchiver]]
 +
* [[Xscreensaver]]
 +
* [[Parley]]
 +
* [[Bladerf]]
 +
 +
===Script===
 +
[See https://git.parabola.nu/blacklist.git/tree/?h=development for more scripts]
 +
 +
<pre>
 +
#!/bin/bash
 +
 +
readonly WIKI_BASE_URL=https://directory.fsf.org/wiki
 +
readonly BLACKLIST_URL=https://git.parabola.nu/blacklist.git/plain
 +
readonly BLACKLIST_FILE=blacklist.txt
 +
 +
 +
wget $BLACKLIST_URL/$BLACKLIST_FILE
 +
[ ! -f ./$BLACKLIST_FILE ] && echo "download failed" && exit 1
 +
 +
 +
readonly PACKAGES=$(grep '^\s*[^:#]*:.*' ./$BLACKLIST_FILE                          | \
 +
                    sed 's/^\s*\([^:#]*\):.*/\1/ ; s/^./\U&/g ; s/-./\U&/g ; s/-/_/g')
 +
 +
for package in $PACKAGES
 +
do status=$(curl -s -o /dev/null -w "%{http_code}" $WIKI_BASE_URL/$package)
 +
  if  [ "$status" == '200' ]
 +
  then echo "$package entry exists"
 +
  elif [ "$status" == '404' -o "$status" == '301' ]
 +
  then echo "$package entry not found"
 +
  else echo "$package unknown response"
 +
  fi
 +
done
 +
</pre>
 +
 +
==License verification==
 +
All pages in license pages should have the correct version of the GPL. "The ones I looked at were pretty old, so I'm guessing they're mostly gplv2, but we should get it fixed." (Donald) "It's either the project which inserted the name without version, or the person who added the entry which did it that way." (Adfeno)
 +
* [[License:GPL]]
 +
* [[License:LGPL]]
 +
* [[License:MPL]]
 +
  
 
[[Category:Project Team]]
 
[[Category:Project Team]]

Latest revision as of 06:20, 21 June 2018

This project page is for heightened scrutiny, packages that need a second pass essentially.

Software should be considered non-free until proven otherwise - the burdon of proof should be on the developers to prove their code is 100% freely distributable.

Chromium-based browsers[1]

Discourse:

  • Discourse itself. The current page revision is old and the evaluation needs to take into account the JavaScript trap and LibreJS compatibility. Ssee Talk:Discourse page for instructions on how to contribute to ongoing evaluation.

Electron[1]

Qt WebEngine[1][2]

  1. https://lists.gnu.org/archive/html/directory-discuss/2017-12/msg00008.html
  2. https://lists.gnu.org/archive/html/libreplanet-discuss/2017-01/msg00001.html

Telegram (desktop client)

  • Has delayed availability of source files compared to the binary release. See the numbered items below for more information.
    • Investigate if, after a binary release, the software has a license notice available somewhere and a place telling how to contact the copyright holders for the complete corresponding source.
  • Free/libre software philosophy related issue: lacks federation with XMPP. See the whole parent thread of the references from the enumerated list below, and also the page on XMPP in LibrePlanet wiki.
  1. https://lists.fsfe.org/mailman/private/android/2017-December/001049.html (requires subscription)
  2. https://lists.fsfe.org/mailman/private/android/2017-December/001075.html (requires subscription)

Trademark

DRM

Tor Browser - https://trac.torproject.org/projects/tor/ticket/26144

Nonfree JS

Every JavaScript file in every software for each new version release should be evaluated with command line tool that has the same capabilities as LibreJS. Unfortunate there's no such tool yet.

IRC clients

These web-based IRC clients cannot be used with LibreJS:

The Lounge: feature request test LibreJS
Kiwi IRC: feature request test LibreJS
qwebirc: feature request test LibreJS

We're using irc:// in Template:Print_entry (used on the entry pages like IceCat) and Template:IRC_text (used on the Main Page).

Related: IceCat, Free web-based IRC client replacement for Mibbit needed.

Parabola blacklisted software

Blacklisted Parabola software that is approved in the Directory

Script

[See https://git.parabola.nu/blacklist.git/tree/?h=development for more scripts]

#!/bin/bash

readonly WIKI_BASE_URL=https://directory.fsf.org/wiki
readonly BLACKLIST_URL=https://git.parabola.nu/blacklist.git/plain
readonly BLACKLIST_FILE=blacklist.txt


wget $BLACKLIST_URL/$BLACKLIST_FILE
[ ! -f ./$BLACKLIST_FILE ] && echo "download failed" && exit 1


readonly PACKAGES=$(grep '^\s*[^:#]*:.*' ./$BLACKLIST_FILE                           | \
                    sed 's/^\s*\([^:#]*\):.*/\1/ ; s/^./\U&/g ; s/-./\U&/g ; s/-/_/g')

for package in $PACKAGES
do status=$(curl -s -o /dev/null -w "%{http_code}" $WIKI_BASE_URL/$package)
   if   [ "$status" == '200' ]
   then echo "$package entry exists"
   elif [ "$status" == '404' -o "$status" == '301' ]
   then echo "$package entry not found"
   else echo "$package unknown response"
   fi
done

License verification

All pages in license pages should have the correct version of the GPL. "The ones I looked at were pretty old, so I'm guessing they're mostly gplv2, but we should get it fixed." (Donald) "It's either the project which inserted the name without version, or the person who added the entry which did it that way." (Adfeno)



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.