From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: New Package for NonGNU-ELPA: clojure-ts-mode Date: Sun, 27 Aug 2023 15:59:23 +0300 Message-ID: References: <87il9kksqz.fsf@dfreeman.email> <87a5uw9ivs.fsf@posteo.net> <87ttt42gna.fsf@dfreeman.email> <87wmy080kn.fsf@posteo.net> <83v8djcydl.fsf@gnu.org> <87350ndquw.fsf@dfreeman.email> <83350ncbns.fsf@gnu.org> <87cyzrjbd8.fsf@dfreeman.email> <83zg2vav46.fsf@gnu.org> <87o7j99304.fsf@dfreeman.email> <87wmxj27fn.fsf@dfreeman.email> <831qfrptiq.fsf@gnu.org> <57429221-d9be-5791-e975-b3539905e2f6@gutov.dev> <83a5udlj47.fsf@gnu.org> <87a5udk1co.fsf@posteo.net> <835y51kslv.fsf@gnu.org> <7a82c524-1aa1-e755-e377-673ebb107a44@gutov.dev> <83r0nok8s4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1077"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: philipk@posteo.net, danny@dfreeman.email, stefankangas@gmail.com, emacs-devel@gnu.org, manuel.uberti@inventati.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Aug 27 14:59:59 2023 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 1qaFMz-000AcY-UL for ged-emacs-devel@m.gmane-mx.org; Sun, 27 Aug 2023 14:59:59 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaFMb-0007PV-2t; Sun, 27 Aug 2023 08:59:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaFMZ-0007PG-MP for emacs-devel@gnu.org; Sun, 27 Aug 2023 08:59:31 -0400 Original-Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaFMW-0005vV-Fe; Sun, 27 Aug 2023 08:59:31 -0400 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id EE8615C00ED; Sun, 27 Aug 2023 08:59:26 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sun, 27 Aug 2023 08:59:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1693141166; x=1693227566; bh=MWb+UnljmdI41CbHG2BSu0PL8dVmboSQYsa 8GF5M/Ck=; b=r+8jEvneUkv4adL64xyCQjXwdBHMRdBslXYja5FIAqqwCMD5pC7 rm/6YQ66jj7wWmBv6fvd0zVmJ3retua9l/mKT670lDyAIh6O/5N6Toqcyu917yHd wkq/nII56WwOq3JMSLYBOjKqS0zi3BCvsTImT94m7HvAfLdULH+33UyKwqQdm8Sl /MTwCGCqxsC4d3YZrQsR/KWMX0Jgu58v9qvDFiqlGn937hPW+d3tY1YumiVMH9Td baYEuLk4HxegYB0E1+63257h4Hmpl1QLNxSUEtVCCztNSj1eIzCI6xmAj5u3tJ8O Nd4PGYJ0XoYvi81o4GCXrMGPjQ8/Vwtz7Dg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1693141166; x=1693227566; bh=MWb+UnljmdI41CbHG2BSu0PL8dVmboSQYsa 8GF5M/Ck=; b=zLh5UuI26WEYc3jXB/LLi5tQ+mhJ92a/FsxLqxaaZiYWSy6uqUA PnNQpHR4XtUpMoypqvWHj3jP04i6WEZqqQGsPPGmaTcVR8aUaUYNFS+x404FFjoN fh7CxjmCM+unqXSsgkfVrLIqon0x91vjsmGk6+M5vFwNTAz5BxX1ElZxVSZRUdpd V6tx5SnX8SQobr9WxPuP70m3rtMa7QfWIqyQ0aDVF1INGWlajEmvf/HkeNEZpKQ+ QOPQA05M6BGKCe0eIo10N+3oEqrPtX+t5e0yAmIWrDKjnGn32aYYkSDq9gBUkVM+ nhztPOdV+pmuPRYaRyUd5tlzlUvjP9kjnGQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudefvddgiedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnheptddtgedtgeffieevueeijedvheekteejteevuddthfevjeeikeelgeeutdek hfdunecuffhomhgrihhnpegrlhhlihiiohhmrdhorhhgpdhmohiiihhllhgrrdhorhhgne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihht rhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 27 Aug 2023 08:59:25 -0400 (EDT) Content-Language: en-US In-Reply-To: <83r0nok8s4.fsf@gnu.org> Received-SPF: pass client-ip=66.111.4.26; envelope-from=dmitry@gutov.dev; helo=out2-smtp.messagingengine.com X-Spam_score_int: -31 X-Spam_score: -3.2 X-Spam_bar: --- X-Spam_report: (-3.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.414, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:309329 Archived-At: On 27/08/2023 14:46, Eli Zaretskii wrote: >> Date: Sun, 27 Aug 2023 14:07:29 +0300 >> Cc: philipk@posteo.net, danny@dfreeman.email, stefankangas@gmail.com, >> emacs-devel@gnu.org, manuel.uberti@inventati.org >> From: Dmitry Gutov >> >>> But the important part is what was said many times in this and other >>> similar discussions: those who want these deep changes are invited to >>> step up and become Emacs (co)-maintainers, and then make the changes >>> and actually use them for Emacs development, instead of telling others >>> how to do their jobs. >> >> If the cost is taking over entirely and dedicating 7+ hours every day to >> Emacs (as you said you do), this is obviously a prohibitive barrier. > > The real costs will not be known until you actually do it. I hope > it's not more, but it could well be less, especially if enough people > come on board. Naturally. But I'm already "on board", aren't I? Just in the areas I know and for the number of hours that I can dedicate now. >> I don't think it's a reasonable ask when I'm just talking about >> using a real bug tracker, for example. > > It is definitely _un_reasonable to suggest/demand such changes when > you are doing nothing in practice towards that goal. What do you want me to do? Set up a standalone Bugzilla installation for people to try out? There is an existing demo at https://bugzilla-dev.allizom.org/home. Create a migration script from the Debbugs database to Bugzilla's format? I could probably do that too. But that would result in nothing without the leadership's buy-in, just like our Gitlab instance is stagnating for a couple of years now. >>> It is at least unfair to expect us to do our >>> job well, and then tell us how to do it and what tools to use for it. >>> And that is even before we recall that those alternative tools are >>> either semi-broken or lack important features (or both) that the >>> existing "obsolete" tools offer us basically for zero cost. >> >> The existing tools "lack important features" to such a degree that it's >> not even funny. > > "Important" for whom? We are doing a reasonable job with them, given > the available human resources, don't we? Bugs are triaged, > investigated, and most of them fixed; patches are reviewed, commented, > and installed. We'd love better tools -- who won't? -- but every tool > we examined until now had important gaps. Important for allowing more people participate in the conversations. >> And the cost is not zero, the cost is the people that never set foot >> in our community. > > That cost is largely imaginary, and "never set foot" is an > exaggeration. The same was said about the switch to Git, for example, > but the situation hasn't changed much, if the number of active > maintainers/developers is concerned. It is better, but only slightly > so. I think you're failing to adjust for natural attrition. And the effect will naturally be smaller when only one difficult part of the workflow is replaced, while other remain. It's just like with other performance optimizations. >>> And none of the alternatives withstood the test of time and/or the >>> magnitude of the project. >> >> Should we mention other big projects? GNOME? Firefox? Emacs is complex >> but not that unique. > > If someone has intimate knowledge about those, then yes, I'd be > interested to hear an objective comparison. Until then, here are the > facts I could gather: > > . GNOME: > - started in 1997 > - 2 million lines of C > - release schedule: every 6 months > . Firefox > - started in 2002 > - 2.4 million lines of C, C++, and Javascript > - release schedule: every 4 weeks I haven't had a chance to look at GNOME in detail (it has many components), but Firefox has 20 million lines of code as described in https://hacks.mozilla.org/2020/04/code-quality-tools-at-mozilla/. And here's the top of the output from an old checkout of gecko-dev as some practical evidence (cloc . --not-match-f=".*_min.js" --exclude-dir=third_party): 247735 text files. 232537 unique files. 23226 files ignored. Language files blank comment code ---------------------------------------------------------------------------- JavaScript 72091 1147845 1682166 5270157 HTML 89800 458806 104456 4062841 C++ 9635 704273 573546 3908919 Text 3865 56888 0 3344737 C/C++ Header 13302 422961 797052 1987545 C 2895 229775 288698 1461583 JSON 1480 864 0 1003811 Python 3491 100201 103750 425069 XML 2673 4964 1833 332396 Rust 841 36145 41359 273443 There are 2 million lines of Rust in the third_party dir that I skipped; it's hard to delineate attribution there. These are many bundled external repositories: some of them third-party libs indeed, but many are also either part of Servo (an old project of Mozilla), or utility libs developed for Mozilla externally. Not sure which total fraction, though. > . Emacs: > - started in 1986 > - 3 million lines of C and Lisp > - release schedule: roughly every 9 months And for Emacs: 5332 text files. 3720 unique files. 3768 files ignored. Lisp 2281 199969 245681 1637882 C 367 87344 102056 412372 Text 56 9680 0 323232 C/C++ Header 292 15336 25859 76814 Bourne Shell 37 13036 6386 58332 TNSDL 1 0 0 42864 m4 147 2054 1261 22642 Objective-C 10 4291 2832 18917 TeX 28 4021 6237 18263 make 49 2463 2827 8731 C++ 23 1865 858 7700 Java 41 2769 2568 7622 (If we substract cedet, org and gnus, for Lisp the number of code lines will be 1372496). Perhaps Lisp is denser than JavaScript or C, and et cetera, but it's hard to argue that Emacs is more complex, or even comparable, to Firefox. And if they reached this size in 20 years rather than 40, it's an evidence to better productivity rather than the opposite, right? > What is missing is the number of active developers in each project > (which requires a definition of "active developer"), the means and > tools they use for issue tracking, and whatever else is relevant. According to https://blog.mozilla.org/en/products/firefox/the-new-firefox-by-the-numbers/ (article from 2017), > 700 authors contributed code to Firefox over ~1 year 80 of them were volunteers, "contributors from all over the world". and by those 700 authors: 75,342 files changed 4,888,199 lines were added 6,886,199 lines were changed The more recent article (link earlier in this email) says that they're using Phabricator for code reviews and an in-house CI system. I can't comment on either of these systems. There is a whole lot of organization around this project, but since we're actually much smaller, I don't know how much of it will be relevant enough to get into researching.