Bug 901758

Summary: non-free code for json decoder
Product: [Fedora] Fedora Reporter: Michael S. <misc>
Component: monoAssignee: Xavier Lamien <lxtnow>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: chkr, itamar, lxtnow, paul, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-19 19:37:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 182235, 901759    

Description Michael S. 2013-01-19 01:40:48 UTC
According to http://lintian.debian.org/tags/license-problem-json-evil.html and to a quick check by myself, mono has a file under a problematic license, stating :
"
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

The Software shall be used for Good, not Evil.
"
According to http://wiki.debian.org/qa.debian.org/jsonevil , this make the license non-free, and so the code should be cleaned.

Comment 1 Christian Krause 2013-01-19 15:33:14 UTC
Upstream changed the the License of that file (mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JsonDeserializer.cs) 2 months ago with the following comment:

"Removed original license since no substantial portions of the original software are used in our implementation":

https://github.com/mono/mono/commit/7b1d9f179c5ca5fea93443793356bf9695bf3dbc

Besides the license change, the only difference between git HEAD of that file and the one included in mono 2.10.8 (which is the latest version in Fedora) is:

-----------------------------
 using System;
 using System.Collections;
@@ -302,7 +276,6 @@
 		JsonType jsonType;
 		
 		bool escaped;
-		bool negated;
 		int state;
 		Stack <string> currentKey;
 		StringBuilder buffer;
-----------------------------

I would assume, that upstream's statement, that "no substantial portion of the original software are used", also holds for the current version of that file in mono 2.10.8. If strictly necessary, it would be possible rebuild mono for all Fedora releases and use the git HEAD version of that file. I'm not sure whether that is necessary.

The final decision should be done by Fedora-Legal.

Comment 2 Tom "spot" Callaway 2013-01-19 19:37:53 UTC
I agree. It is safe to assume that the broken JSON license is not in play on the current mono file in Fedora. Closing as NOTABUG.