From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Uwe Brauer Newsgroups: gmane.emacs.devel Subject: Re: could matlab-mode be in ELPA or the GNU emacs tree (like auctex and org-mode)? Date: Sun, 21 Nov 2021 09:08:37 +0100 Message-ID: <87v90mrkvu.fsf@mat.ucm.es> References: <878rxiu323.fsf@mat.ucm.es> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36940"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:qs5a1OxH5EaHzJcIz7j41dhLB/8= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 21 09:09:35 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mohup-0009Qe-0P for ged-emacs-devel@m.gmane-mx.org; Sun, 21 Nov 2021 09:09:35 +0100 Original-Received: from localhost ([::1]:35352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mohun-0004sP-KZ for ged-emacs-devel@m.gmane-mx.org; Sun, 21 Nov 2021 03:09:33 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mohuD-0004BW-HS for emacs-devel@gnu.org; Sun, 21 Nov 2021 03:08:57 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:48100) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mohu9-000220-Nh for emacs-devel@gnu.org; Sun, 21 Nov 2021 03:08:57 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mohu6-0008dA-Jx for emacs-devel@gnu.org; Sun, 21 Nov 2021 09:08:50 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.248, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279822 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>> "SM" =3D=3D Stefan Monnier writes: > Uwe Brauer [2021-11-20 18:53:08] wrote: >> That however changed a while ago: Mathwork not only renounced its >> copyright, they explicitly asked us to remove any reference to it from >> all the files, which we did. >>=20 >> 1. Git blame (or hg annotate for that matter) told me that currently >> the code belongs to only 4 authors, of whom 3 have signed the FSF >> papers, and the other one is in the process of doing so. >>=20 >> 2. There is another point that worries me: According to the >> changelogs at some points the maintainers committed patches from >> other authors, but in their own (the maintainers name). > Regarding point 1: the output of `git blame` does not tell the whole > story (if you reindent or move code, `git blame` will only list you as > the author even tho the real author is the one who write that code > before you moved/reindented it). > It's not irrelevant, but it's not sufficient to decide if the copyright > is clean. Ok, I tried=20 hg churn And more or less its git equivalent=20 git shortlog -ns | more These commands reveal one author more, but not the same one. A comment about the history of matlab-mode might help. It started using patches and emails, as many now attic proyects that dates back to the 90 or 80, at some point I think RCS was used, then CVS and then it was converted to git (and mercurial). [1] The problem is that old =C2=ABcommits=C2=BB often very sketchy, and not ful= l names were used, but usernames such as for examples RMS, DAK etc (actually neither RMS nor David contributed to matlab, it was just an example). In any case, I presume I have to checkout the corresponding commit and then try to eyeball the relevant code, whether it still remains in the current commit. The problem is if it remains but the author cannot not be found or does not respond. But before I even start this, I want to know whether at the end matlab-mode can enter ELPA or the tree, so see below: > Point 2 is also another example where Git metadata (not just `git > blame`) needs to be double checked, indeed. Actually this worries me much more, because in some cases the commit reads apply patch from Name without an email address. >> However, before addressing this problem, I would like to know: >>=20 >> Could matlab-mode become part of ELPA or even could dwell in the GNU >> emacs tree? > Very good question. I think it would be acceptable in GNU ELPA or Emacs > (the legal&philosophical issues are the same for both) *if* > `matlab-mode` can be used meaningfully without proprietary software > (i.e. without Matlab). > I think it's a big "if". Maybe a more interesting/promising path might > be to split the part of `matlab-mode` that also makes sense with Octave > and try to add/include/merge it into `octave-mode`, and then turn > `matlab-mode` into an extension on top of `octave-mode` that's dedicated > to supporting the bits of Matlab that aren't in Octave (that > extension won't be included in GNU ELPA nor Emacs, obviously). That last part I don't understand. Let me try to get that straight. You would allow a part of matlab that could be used also in octave (and I presume in other matlab clones such as scilab) to be part of ELPA or the GNU emacs tree. That part of the code most likely would be the part that takes care of fortification or syntax checking. However octave's commands are is at best a subset of matlab's so matlab would highlight more commands than octave, but I don't think that is a problem. That is not trivial but somehow doable. The part where a merge is more difficult or almost impossible (or at least as difficult as merging Xemacs and GNU emacs 20 years ago) concerns debugging and the interaction with the shell. But Eric Ludlam is more qualified to answer that. In any case I doubt that at the moment any maintainer has the time to deal with that. So if a merge is not possible, you are saying that the this specific code could not enter ELPA or the emacs tree? But then by the very same logic all part of the code (I presume it is the C code) that allows GNU emacs to be compiled in MS Windows and MacOS should be removed as well. (I don't think that is a good idea, but just for the shake of an argument) >> I know that matlab is a commercial product and its license is not >> compatible with the GPL, but the same could be said about MS Windows OS >> and MacOS and yet GNU Emacs support these OSs. >> It would benefit the users of matlab who wish to use GNU Emacs for codin= g. > Indeed, it's not completely black or white. You may want to ask RMS > whether this gray is rather dark or light. So, it is up to RMS? RMS if you read this: would you allow to have a part of matlab-mode that interacts with matlab via the so called matlab shell, to be part of ELPA or= GNU emacs? Rationale: there is already specific code that allows GNU emacs to be compiled in non free systems. regards Uwe=20 > Stefan Footnotes: [1] Fun fact, there was a discussion on the mailing list, whether it should be git or mercurial, no surprise git won, but then those who voted for git (and wanted in github) never really contributed, at least not with write access to the repository. --=-=-= Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s 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 zuQnycCAN4ldn23nkeGADprP9ZqptC0pK1osMJWBfVZ/Gqq/3gJ0/3fCnWAuWf/THNWs1h1je8ye jE3bmfT3FYzJu9Ir4h2qIYBFLve/W8tt2nMevau6iz4x5GKBoX9n7dbUKmJo7PYnIMD4a8y8stc8 12MtB6HhZ7OG4tjfjAU5qX/4vB2TiugctzEtlJQrI14R4c2psEcCAwEAAaOCAsgwggLEMBIGA1Ud EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSx1E/EI3n6RAUJxus5z+g1 sLggZDCBmAYIKwYBBQUHAQEEgYswgYgwSQYIKwYBBQUHMAGGPWh0dHA6Ly9vY3NwZm5tdHJjbWNh LmNlcnQuZm5tdC5lcy9vY3NwZm5tdHJjbWNhL09jc3BSZXNwb25kZXIwOwYIKwYBBQUHMAKGL2h0 dHA6Ly93d3cuY2VydC5mbm10LmVzL2NlcnRzL0FDUkFJWkZOTVRSQ00uY3J0MB8GA1UdIwQYMBaA FPd9xf3E6Jobd2Sn9R2gzL+HYJptMIHrBgNVHSAEgeMwgeAwgd0GBFUdIAAwgdQwKQYIKwYBBQUH AgEWHWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2RwY3MvMIGmBggrBgEFBQcCAjCBmQyBllN1amV0 byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERlY2xhcmFjacOzbiBk ZSBQcsOhY3RpY2FzIGRlIENlcnRpZmljYWNpw7NuIGRlIGxhIEZOTVQtUkNNICggQy8gSm9yZ2Ug SnVhbiwgMTA2LTI4MDA5LU1hZHJpZC1Fc3Bhw7FhKTCB1AYDVR0fBIHMMIHJMIHGoIHDoIHAhoGQ bGRhcDovL2xkYXBmbm10LmNlcnQuZm5tdC5lcy9DTj1DUkwsT1U9QUMlMjBSQUlaJTIwRk5NVC1S Q00sTz1GTk1ULVJDTSxDPUVTP2F1dGhvcml0eVJldm9jYXRpb25MaXN0O2JpbmFyeT9iYXNlP29i amVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50hitodHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9j cmxzL0FSTEZOTVRSQ00uY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQCMPSi04H4N825c2lx3PYBkHk7p ErjJ5rL/K4CgeD2ETCxliy/c8WMr591SQduv/BcLjJqE8gnUXVainvmCZsCFXpxe6oPnfEaOfl/m Y+2rYu9GTidhlYG9TQI9qTQPmfnma1aVA599S/t84k4S76QLRLU8egExWyZhIJKUdQJ21s77rMMF CDFAbKUdNp4giM6giVZtrtlMvZB8PnYgSUbsFWKaQWWr4J+xAjTvryniACmZnvljHdGUE4ZA0WCM RRcGIVhaHNUxPi39J1WxGuY/7+qFXGrj/tnci4x/603VYYeC5yPwyjxih3bkPKl7oW8YGyIrvIwU /9J93VkDxQd6LvfrB5ZU/bklFRq7Sviso4Bix+aHvIuBjmx+xiVLYZFMBGMxoo4P1pir5vo4NIJ5 Vk+x4lNCuHxFpXSAZfZzWoddskj1Tet6v/JAl0tyUfHDPNmXrMy1Z7T7OuIrVdliq5KzQPi7buGf 1E2OJbh/iEXr6Pa3k+u/dDEL2KwsI0rLjQ+H1yPOv5hhEhr4W8BApqYXvC/41dLmdNciOZpoIXnQ a+Vqir+uBJiFzRVWdt/pofERQoKj2bGrVWlaAUKtRXrzoTzIxL8YjIMz173tgN4Epp4P1Cg3Chsx W8i/r3kmYXT/OeJj5NyDxAmGRDagGFl4wZbZvFA0ZlAbdcKYETCCB14wggZGoAMCAQICEHyPZdFE 3gS5WtRZrC7IKYIwDQYJKoZIhvcNAQELBQAwSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcGA1UEAwwQQUMgRk5NVCBVc3VhcmlvczAeFw0xODA0MTYw ODA3MDhaFw0yMjA0MTYwODA3MDhaMIGBMQswCQYDVQQGEwJFUzEYMBYGA1UEBRMPSURDRVMtWDIw NjQxMjNCMRkwFwYDVQQqDBBVV0UgUklDSEFSRCBPVFRPMQ8wDQYDVQQEDAZCUkFVRVIxLDAqBgNV BAMMI0JSQVVFUiBVV0UgUklDSEFSRCBPVFRPIC0gWDIwNjQxMjNCMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAzS7yAm9gXjzxCrn15XBUuZz/gDM/KQi589qGkENYw7LiHtxKBOncld1o FohvckNdY7A8AJiHVVVoA6BXF7DI0BGFwaQ5qUDlzq7mW9+zL+OLXNSp52lfuERPd2y18LaHLp34 czgsvaCTzPl//lrDz6sa5Q//1DlNuzbjY/Afgd+jPPCI4wjOPcW3k1pvEf9Ed1nmAEiqAfyeHN/n RSfL83jACwvvkrJFg3gxTKrp7QJUdbTAomwPhQcsTWFxdA4FXPAZlYrhiM/qGRp/IKzRUCwIIebD qmkfLZIRl1gm9RFzzpps+dcw4qV7nRcA2KWQwjd36pVQxVF1e1BXq+BZjwIDAQABo4IEBTCCBAEw bwYDVR0RBGgwZoEOb3ViQG1hdC51Y20uZXOkVDBSMRgwFgYJKwYBBAGsZgEEDAlYMjA2NDEyM0Ix FTATBgkrBgEEAaxmAQIMBkJSQVVFUjEfMB0GCSsGAQQBrGYBAQwQVVdFIFJJQ0hBUkQgT1RUTzAM BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUH AwIwHQYDVR0OBBYEFORUbZuzfTkfXyYfMh59Q0C0evYpMB8GA1UdIwQYMBaAFLHUT8QjefpEBQnG 6znP6DWwuCBkMIGCBggrBgEFBQcBAQR2MHQwPQYIKwYBBQUHMAGGMWh0dHA6Ly9vY3NwdXN1LmNl cnQuZm5tdC5lcy9vY3NwdXN1L09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cu Y2VydC5mbm10LmVzL2NlcnRzL0FDVVNVLmNydDCCARUGA1UdIASCAQwwggEIMIH6BgorBgEEAaxm AwoBMIHrMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBvQYIKwYB BQUHAgIwgbAMga1DZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBmaXJtYSBlbGVjdHLDs25pY2Eu IFN1amV0byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERQQyBkZSBs YSBGTk1ULVJDTSBjb24gTklGOiBRMjgyNjAwNC1KIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1h ZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEAMIG6BggrBgEFBQcBAwSBrTCBqjAIBgYEAI5GAQEwCwYG BACORgEDAgEPMBMGBgQAjkYBBjAJBgcEAI5GAQYBMHwGBgQAjkYBBTByMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lcy5wZGYTAmVzMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lbi5wZGYTAmVuMIG1BgNVHR8Ega0wgaow gaeggaSggaGGgZ5sZGFwOi8vbGRhcHVzdS5jZXJ0LmZubXQuZXMvY249Q1JMMTgwNixjbj1BQyUy MEZOTVQlMjBVc3VhcmlvcyxvdT1DRVJFUyxvPUZOTVQtUkNNLGM9RVM/Y2VydGlmaWNhdGVSZXZv Y2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDAN BgkqhkiG9w0BAQsFAAOCAQEAZvJUHMPzj+us0nNHF9NuVpoY1yQL9NzCMCBHYdHQPmc4ITA8zYwa jTXv9lj6P+JDAoa/kqFImCOLcy0ZL4VucSZgtTA8HDuU6mzM11Gf4VKeLnJk9T8EJr5/HQDw+okC r5YlPfyX3y14qdscFa1UJCASfH9PMk8NDF9sr7qHhz/SmapSF87Co8V8uCrCSODmdBHZCAfAIb35 ujfEUuXi0cVkW9PwHltpA1ahA8TXuIXWkk+Ot2NIy5M2SlLVnSUInArMkbc9meIQKpKHTl2oSFm6 PA272V54F5VoKfYLRk38PAZosWyAHiXDLMl3ZgN7ZZZsc17WPeu3kCICEkW1IzGCAiAwggIcAgEB MF8wSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcG A1UEAwwQQUMgRk5NVCBVc3VhcmlvcwIQfI9l0UTeBLla1FmsLsgpgjANBglghkgBZQMEAgEFAKCB kzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTExMjEwODA4Mzda MCgGCSqGSIb3DQEJDzEbMBkwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMC8GCSqGSIb3DQEJBDEi BCDIR6X1uyrFAA+KI8uHLe+T+uzVauhuk8jY+TuHyrdy5DANBgkqhkiG9w0BAQEFAASCAQAQb/F8 2INGL1KZACKvzoP9gCBo3wrSfqX2cNSV5HIGVgOHBwGSMmOOvvd8rio/kzozqatg0ekHZ6x5csbC Pa3udzIQSBLqGbr8lu6E9p3hB1WtqFSDUzoQDQ1vDaBfzuAVAU/Kp2WMo6bzqrE5Wd9O58scRQ3T ZaiwWblExW54aeollR72RDNXr5vvo3jH2tPoAPbdIzinelsh0YsqdpVPUcc4JOWKdolxSfkhhQDk n1m3Lex4ZPVCPUfX6XyZbzoncuB3zFKnAYbPH2VL4v0AB7Yfvm5pF/83IUIpZQxAxujtDkFA22rG LpUojFikFbaV1DnDpM0Lnp2q0k6su6/+AAAAAAAA --=-=-=--