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.
In my opinion MIT should be kept instead of adding MIT_CURRENT.
(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.
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.
(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.
Give up this bug report.