Talk:Software

From Trisquel Enhancement Project
Jump to: navigation, search

Detailed reasoning behind Katawa Shoujo's removable[edit]

Katawa Shoujo is 100% non-free. Not only its content but the entire game including Ren'Py source code is distributed exclusively under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. There are two issues with this license as far as freedom is concerned.

1) The license does not allow commercial use, period. The gnu.org free-sw page <https://www.gnu.org/philosophy/free-sw> says that "A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies", whereas the CC BY-NC-ND states that "You may not use the material for commercial purposes. A commercial use is one primarily intended for commercial advantage or monetary compensation" in its human-readable summary at <https://creativecommons.org/licenses/by-nc-nd/3.0/>.

2) The license does not allow distribution of modifications. Exact copies are OK, and modifications that are not shared are OK, but in order for a program to be free software freedom 3 -- "The freedom to distribute copies of your modified versions to others" -- must be met. The Creative Commons page says "If you remix, transform, or build upon the material, you may not distribute the modified material".

The official Katawa Shoujo website states the license, at <http://www.katawa-shoujo.com/about.php>: "[Katawa Shoujo] is available free of charge under the Creative Commons BY-NC-ND License". The page includes a link to the CC page on version 3.0 Unported of this license.

The LICENSE.txt file included with Katawa Shoujo (at least the Linux x86 full version) includes free licenses for Ren'Py -- the game engine used to create Katawa Shoujo -- and software it includes. This is not part of Katawa Shoujo, it is closer to a linked library. The aforementioned free licenses, including LGPL, Python, JPEG, PNG, Zlib, Bzip2, and MIT, do not restrict the license that linked software must be distributed under. Therefore, Katawa Shoujo itself is entirely CC BY-NC-ND 3.0 Unported, a non-free software license, and thus is not fit for inclusion anywhere on this wiki. --99.235.209.83 00:26, 19 February 2015 (UTC)

Hi there.
First, please make sure that you always sign your comments with the "Your signature with timestamp" button or by manually entering "--~~~~" to the end of your post. This will ensure that people know who they're talking to (at least by the IP address if you chose not to register). Also, please do not remove parts of this wiki as it is disrespectful (given how much time I spent working without making any monetary profit from it) and can be seen as vandalism.
Now to the topic. I think you're misinterpreting the "Katawa Shoujo…is available free of charge under the Creative Commons BY-NC-ND License" statement which applies only to the game itself (i.e. not the source code[1] as that was developed by the Ren'Py project). The source code of Ren'Py is permissively licensed under the MIT/Expat license, while external libraries comes under various other free software licenses. Non-functional data, while part of the software, does not necessarily need to be free. While this makes the game as whole impossible to be included in a FSF approved GNU/Linux based distribution[2] (this is why it's in the "non-free content" category), the game as software remains free.
I hope this will stir your concerns about the freeness of this software.
Regards, --MYself (talk) 15:44, 19 February 2015 (UTC)
A Ren'Py game such as Katawa Shoujo is more than the Ren'Py code, developed by the Ren'Py project, and data (including sound, graphics, video and other artwork as per the Wikipedia article you linked). The game also includes Ren'Py scripts, which are software. They are written in a programming language (basically Python), they are run by an interpreter (Ren'Py), and they can be licensed like any other software. Below follows the start of a typical Ren'Py script:
   image bg lecturehall = "lecturehall.jpg"
   image bg uni = "uni.jpg"
   image bg meadow = "meadow.jpg"
   image bg club = "club.jpg"
   
   image sylvie normal = "sylvie_normal.png"
   image sylvie giggle = "sylvie_giggle.png"
   image sylvie smile = "sylvie_smile.png"
   image sylvie surprised = "sylvie_surprised.png"
   
   image sylvie2 normal = "sylvie2_normal.png"
   image sylvie2 giggle = "sylvie2_giggle.png"
   image sylvie2 smile = "sylvie2_smile.png"
   image sylvie2 surprised = "sylvie2_surprised.png"
   
   define s = Character('Sylvie', color="#c8ffc8")
   define m = Character('Me', color="#c8c8ff")
   
   label start:
       $ bl_game = False
       
       play music "illurock.ogg"
       
       scene bg lecturehall
       with fade
       
       "Well, professor Eileen's lecture was interesting."
       "But to be honest, I couldn't concentrate on it very much."
       "I had a lot of other thoughts on my mind."
       "And they all ended up with a question."
       "A question, I've been meaning to ask someone."
This is clearly not content (sound, graphics, video and other artwork), it is source code. When the Katawa Shoujo developers opened the project in the Ren'Py SDK, Ren'Py compiled all of these source files to bytecode, to later be interpreted by end users with Ren'Py. The bytecode is still software and can still have a license, but it is not source code. Source code is a prerequisite to free software, and the Ren'Py script sources (.rpy files) for Katawa Shoujo are not available, only the bytecode (.rpyc files). Therefore, regardless of the bytecode's license, Katawa Shoujo is not free software.
Let's examine the Katawa Shoujo distribution.
   Katawa Shoujo-linux-x86$ ls -A
   common  game  Game Manual.pdf  Katawa Shoujo.py  Katawa Shoujo.sh  lib  LICENSE.txt  renpy
common is full of Ren'Py script sources (.rpy files), Ren'Py script bytecode (.rpyc files) likely generated from the same sources (they have the same names), and GUI graphics. Let's take a look at the first Ren'Py script source file.
   # Copyright 2004-2010 PyTom <pytom@bishoujo.us>
   # See LICENSE.txt for license details.
   
   # This file contains warpers that are used by ATL. They need to be defined
   # early, so Ren'Py knows about them when parsing other files.
   
   python early hide:
   
       # pause is defined internally, but would look like:
       #
       # @renpy.atl_warper
       # def pause(t):
       #     if t >= 1.0:
       #         return 1.0
       #     else:
       #         return 0.0
       
       @renpy.atl_warper
       def linear(t):
           return t
   
       @renpy.atl_warper
       def easeout(x):
           import math
           return 1.0 - math.cos(x * math.pi / 2.0)
   
       @renpy.atl_warper
       def easein(x):
           import math
           return math.cos((1.0 - x) * math.pi / 2.0)
   
       @renpy.atl_warper
       def ease(x):
           import math
           return .5 - math.cos(math.pi * x) / 2.0
The common directory is evidently not the Katawa Shoujo game, but it is an excellent example of Ren'Py scripts' power. Regular Python can be included inside Ren'Py scripts, see <http://www.renpy.org/doc/html/python.html>. Therefore, even if you cannot accept plain Ren'Py scripts as software, they can be partially or entirely regular Python programs. It is not uncommon for complicated Ren'Py games to include normal Python for extra functionality not provided by Ren'Py. Since Katawa Shoujo's Ren'Py scripts are closed-source, there is no telling how much, if any, Python was used. Just as it is non-trivial to tell whether a proprietary program spies on its users, we don't know if Katawa Shoujo uses Python scripts (which are beyond any doubt software and not content). The safest assumption is the worst. Even if you don't accept vanilla Ren'Py scripts as software, we cannot assume that Katawa Shoujo does not include Python software.
It is safe to say that Katawa Shoujo includes software written by the Katawa Shoujo developers. Now, how is it licensed? Back to the Katawa Shoujo game distribution.
   common  game  Game Manual.pdf  Katawa Shoujo.py  Katawa Shoujo.sh  lib  LICENSE.txt  renpy
We have ruled out the common directory; it was obviously not written by the Katawa Shoujo developers. Game Manual.pdf is documentation written by the Katawa Shoujo developers. It is not software or content, but it is still covered by the non-free Creative Commons license. Documentation is not a deal-breaking concern of the FSF or Trisquel though. Katawa Shoujo.py is Python source code for launching the game. It contains a copyright notice attributing it to the Ren'Py maintainer PyTom and stating a permissive free software license that exclusively covers that launcher program. Katawa Shoujo.sh is another launcher program written in POSIX shell that does extra work if run on Mac OS X and then runs the Python launcher. It is trivial and does not have a license. The lib directory contains python executables and free libraries that are mentioned along with free software licenses in the LICENSE.txt file. These were not written by the Katawa Shoujo developers. The renpy directory contains Ren'Py Python code, written by the Ren'Py developers. The directory contains another LICENSE.txt file stating that Ren'Py itself, contained inside that directory, is licensed freely. This does not include anything written by the Katawa Shoujo developers. There is one directory left -- game -- and it is the only directory containing work by the Katawa Shoujo developers. It is called game and it is the only part of the distribution made by the developers of the game. This directory certainly contains the game itself. Technically, the Ren'Py interpreter and other libraries are used when a user runs Katawa Shoujo, but the game -- the software -- itself is contained entirely inside this game directory and it was written by the Katawa Shoujo developers. It can be safely assumed that when the Katawa Shoujo developers released their game under the non-free Creative Commons license, they meant everything inside this game directory. This directory contains Ren'Py script bytecode (.rpyc files). This is, again, not source code. It is software, or at the very least could contain software. There is not a single Ren'Py script source (.rpy) file inside this directory. There are three files inside this game directory that do not end in .rpyc: bytecode.rpyb, data.rpa, and presplash.png. The first looks like bytecode, just with a different extension. data.rpa is the game's data, but not in source form (the preferred form that the developers work on -- they certainly do not work on all graphics and sound (compressed?) in a single file). This isn't an issue for software freedom, but it is worth noting. presplash.png is a PNG image of the Katawa Shoujo splash screen. As well, there is one subdirectory inside game: langinit. It contains two Ren'Py script source files (normally .rpy) that contain two lines of Python, indicated by "init -1000 python:" as described in the Ren'Py documentation on including normal Python inside Ren'Py source files. This Python is certainly trivial enough to be public domain, but that doesn't mean any Python that may or may not be in the bytecode is. The ATL wrapper program from the common directory is 16 SLOC and is copyrighted. Maybe there is no non-trivial Python among the Katawa Shoujo bytecode, but the chance is too great to recommend the game here if you care about software freedom. In any case, the Ren'Py scripts are almost certainly software from a legal standpoint, even without regular Python.
--99.235.209.83 22:12, 19 February 2015 (UTC)
After thoroughly examining the situation and ruling out all the possibilities I have concluded that this issue is valid and Katawa Shoujo has been removed from the wiki. Therefore, I consider this issue to be resolved. --MYself (talk) 18:40, 28 February 2015 (UTC)

Illegal distribution of reverse engineered Katawa Shoujo sources[edit]

Should the link to the reverse engineered Katawa Shoujo source be included? This was derived from the CC BY-NC-ND bytecode; distribution of this derived work is in direct violation of the official distribution's proprietary license and is illegal. --99.235.209.83 23:08, 24 February 2015 (UTC)

True. I fixed it in the last commit. --MYself (talk) 19:20, 26 February 2015 (UTC)

Followup[edit]

Thanks for your work on the KS forums. I'll try to get it removed from the offending Wikipedia page and LGDB as well. --99.235.209.83 16:20, 28 February 2015 (UTC)

OK, but please always use the "Add topic" function from the top of this page and fill the "Subject/headline" column when creating a new topic. Also, do not remove the IP address from your signature as that identifies you as a user. Otherwise, I will not gonna answer your inquiries in the future. --MYself (talk) 19:02, 28 February 2015 (UTC)
Apologies, accidentally added an extra ~ to my signature. Will use topics in the future --99.235.209.83 16:14, 1 March 2015 (UTC)