Bug 222509 - Mk/bsd.license.db.mk,Templates/Licenses,Mk/bsd.sanity.mk: Fix mixed-up status of MIT license
Summary: Mk/bsd.license.db.mk,Templates/Licenses,Mk/bsd.sanity.mk: Fix mixed-up status...
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Port Management Team
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-22 08:05 UTC by Yasuhiro Kimura
Modified: 2019-08-10 01:58 UTC (History)
1 user (show)

See Also:


Attachments
patch file (5.93 KB, patch)
2017-09-22 08:05 UTC, Yasuhiro Kimura
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-22 08:05:03 UTC
Created attachment 186612 [details]
patch file

1. Changes done by attached patch

* Add 3 license named MIT_CURRENT, MIT_LEGACY and MIT_ANCIENT to
  Mk/bsd.license.db.mk.
* Add 3 files under Templates/Licenses as license document of them.
* Add codes to Mk/bsd.sanity.mk that warns maintainers that MIT is
  deprecated and one of MIT_[CURRENT|LEGACY|ANCIENT] should be used
  instead.

2. Intension to submit this patch

3 licenses with different sentences are specified as 'LICENSE=MIT'in
Makefile of different ports. I would like to fix this mixed-up status
of MIT license.

3. Backgrounds and Details

While trying to add license information to some ports, I noticed that
3 licenses consisting of different sentences are specified as
'LICENSE=MIT' in the Makefile of different ports. Following are
examples of each case.

Case 1. License of lang/lua53

According to doc/readme.html of source archive, this software is
licensed under following sentenses.

----------------------------------------------------------------------
Copyright (C) 1994-2017 Lua.org, PUC-Rio.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------------------------------

This is the one certified as 'The MIT License' by Open Source Initiative.

https://opensource.org/licenses/MIT

It seems that a lot of relatively new softwares adopt it.

Case 2. License of x11/xinit

Acording to COPYING of source archive, this software is licensed under
following sentences.

----------------------------------------------------------------------
Copyright 1986, 1988, 1993, 1998 The Open Group

Permission to use, copy, modify, distribute, and sell this software
and its documentation for any purpose is hereby granted without fee,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation.

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
----------------------------------------------------------------------

First 3 paragraphs of this license are same as license of case 1. But
there is additional 4th paragraph. On TLDLegal this is named as 'X11
License'.

https://tldrlegal.com/license/x11-license#fulltext

Some softwares from Xorg adopt it.

Case 3. License of x11-wm/tvtwm

According to source code files, this software is licensed under
following sentenses.

----------------------------------------------------------------------
     Copyright 1988 by Evans & Sutherland Computer Corporation,
                        Salt Lake City, Utah
Portions Copyright 1989 by the Massachusetts Institute of Technology
                      Cambridge, Massachusetts

                         All Rights Reserved

    Permission to use, copy, modify, and distribute this software and    
    its documentation  for  any  purpose  and  without  fee is hereby    
    granted, provided that the above copyright notice appear  in  all    
    copies and that both  that  copyright  notice  and  this  permis-    
    sion  notice appear in supporting  documentation,  and  that  the    
    names of Evans & Sutherland and M.I.T. not be used in advertising    
    in publicity pertaining to distribution of the  software  without    
    specific, written prior permission.                                  

    EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD    
    TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES  OF  MERCHANT-    
    ABILITY  AND  FITNESS,  IN  NO  EVENT SHALL EVANS & SUTHERLAND OR    
    M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL  DAM-    
    AGES OR  ANY DAMAGES WHATSOEVER  RESULTING FROM LOSS OF USE, DATA    
    OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER    
    TORTIOUS ACTION, ARISING OUT OF OR IN  CONNECTION  WITH  THE  USE    
    OR PERFORMANCE OF THIS SOFTWARE.                                     
----------------------------------------------------------------------

It seems that license conditions provided by above sentences are same
as that of case 2 license. But sentences themselves are different.

I couldn't find what this lincense is named.

Some old softwares for X Window System adopt it.

Case 4. Multi license of above 3 license.

There are some softwares that specify 'LICENSE=MIT' in Makefile of the
port but that is actually multi license of above 3 licenses. For
example x11-server/xorg-server belongs to this case. (Exactly saying,
it is multi license of them plus some other ones. But I ignore it for
now.)

4. Why these 3 licenses exist?

For me they seems result of revising MIT license. That is,

* At first license of case 3 was MIT license.
* Some years passed and rivise happened. Then license of case 2 became
  MIT license.
* Some more years passed and revise happened again. Now license of
  case 1 became MIT license.

I am not certain. But comparing copyright year of softwares and
considering the fact that xorg-server is multi license of them, I
don't think the probability is low that abobe is right.

5. Should current status be fixed?

Yes, I think so.

Licenses of case 1 and 2 are different in the same way as 2 and 3
clause BSD licenses are different. As for case 3, condition of license
may be same as case 2. But if you said that, condition of 2 clause BSD
license, ISC license and case 1 can be considered as same. But still
they are regarded as diffrent licenses.

After all they are diffrent licenses. So they should be treated as
different in license framework.

5. How can current status be fixed?

A way used to fix 'LICENSE=BSD' issue is also applicable to current
status of 'LICENSE=MIT'. That is.

* Define codes of 3 licenses as MIT_CURRENT, MIT_LEGACY and
  MIT_ANCIENT, and register them to Mk/bsd.license.db.mk.
* Modify Mk/bsd.sanity.mk so following warging message is displayed if
  value of LICENSE includes MIT.
  "LICENSE must not contain MIT, instead use MIT_[CURRENT|LEGACY|ANCIENT]"

This worked very well to purge BSD from LICENSE in Makefile of each
ports. So same result can be expected to fix this issue.

6. Things that need more consideration

I admit that my naming sence is not so good because
MIT_[CURRENT|LEGACY|ANCIENT] are not so intuitive as
BSD[234]CLAUSE. So I hope better code names strike someone else.

And full license names (value of LICENSE_NAME_*) also need some more
consideration.
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2017-09-22 08:15:06 UTC
In my opinion MIT should be kept instead of adding MIT_CURRENT.
Comment 2 Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-22 09:46:35 UTC
(In reply to Antoine Brodin from comment #1)

If we keep using the code name MIT, It makes it difficult to check how much the issue is fixed. So I don't think it preferable to keep using it.
Comment 3 Mathieu Arnold freebsd_committer freebsd_triage 2017-09-22 12:36:24 UTC
I am not sure what this adds to the framework.

All three licenses have the same properties, the default ones, "dist-mirror dist-sell pkg-mirror pkg-sell auto-accept".

So, from the framework's point of view, they are the same.

What should probably be done, instead, is to make sure that all the ports that have LICENSE=MIT also have LICENSE_FILE defined so that the correct license is packaged.
Comment 4 Yasuhiro Kimura freebsd_committer freebsd_triage 2017-09-23 09:04:30 UTC
(In reply to Mathieu Arnold from comment #3)

If you said that there is no reason that BSD was deprecated and replaced one of BSD[234]CLAUSE from the the point of view of properties. In addition most licenses defined in bsd.license.db.mk have same properties so you need not distinguish them.
Comment 5 Yasuhiro Kimura freebsd_committer freebsd_triage 2019-08-10 01:58:48 UTC
Give up this bug report.