From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [NonGNU Elpa] New package: ETT Date: Wed, 03 May 2023 21:05:03 +0300 Message-ID: <83ttwtl29c.fsf@gnu.org> References: <86a5ylbadn.fsf@disroot.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14838"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: John Task Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed May 03 20:04:50 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 1puGqQ-0003as-1F for ged-emacs-devel@m.gmane-mx.org; Wed, 03 May 2023 20:04:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puGpu-0002vR-2X; Wed, 03 May 2023 14:04:18 -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 1puGps-0002vI-P7 for emacs-devel@gnu.org; Wed, 03 May 2023 14:04:16 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puGps-0000uT-GW; Wed, 03 May 2023 14:04:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=gzM5hgKEJgYg3Q4lxcSFFvH55poVAzU97sscjc1R8pg=; b=PEXq26WdJ30WMI9UkbJs qtRbY4wubQqErlfTWeNSWUaxoH1eG0IJaxQO7T6uy/SrHgTSP53gfQ+nnkUeegOnn/KcuZ+PdmaJF sXzfGXCQKg5iUmWV99e788NBIB1Sbb+qY8i9qXCemZbaPIuaoePw94q18DgOwLJKBRhDOPmQr7Wcw rXAANJ8dD4Pt0Aff/USyRm1jfjkdtvD1OCUgKEVFFEPRx7zr78c0Y/L/karXi6iiXmZYfjwVE6zPK U+F8XgODcyPym8fkwOo31rmY3VdMecjWJhN2RSEqq690mf2kGC0HtV6Ku7eblZSPiAesM+vdd3b0h sZmo1SEts7Jn0g==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puGpq-0006Ui-UZ; Wed, 03 May 2023 14:04:15 -0400 In-Reply-To: <86a5ylbadn.fsf@disroot.org> (message from John Task on Wed, 03 May 2023 14:14:50 -0300) 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:305796 Archived-At: > From: John Task > Cc: emacs-devel@gnu.org > Date: Wed, 03 May 2023 14:14:50 -0300 > > Eli Zaretskii writes: > > > Anyway, did you consider extending existing packages with those modern > > features, instead of making a completely new separate package? > > [...] > I get your intentions, but all things considered, I think everything > is better as is. >From your POV, no doubt. I'm well familiar with the joy of designing my own package or feature from the ground up, unburdened by history, backward compatibility, and all that ballast. If nothing else, it's a lot of fun. But from the project management POV (which is the hat I'm wearing now), it is a problem if, instead of developing and extending existing packages, we keep introducing new and different ones. It makes Emacs as a whole harder for users to learn and follow for years to come: they can never be sure the packages they use and are familiar with will not be abandoned and replaced by others which they will need to learn from scratch. It also presents hard maintenance dilemmas for which there are no good answers: should we have multiple packages with partially overlapping functionalities, or should we abandon the old one and embrace the new one(s)? This is why extending an existing package, although it is harder and requires more efforts from the developers, is always preferred here to additions of new and incompatible ones. E.g., timeclock could have a "time-tracking" feature or mode added to it, where it would target the usage patterns you had in mind, rather than the original purpose of timeclock (which still has its merit, btw, and many smartphone apps which do just that are a living proof of that). And, of course, statistics and graphs can be added to any existing feature, it doesn't IMO justify a new package written from the ground up. Of course, I'm too old to naïvely believe that any of the above will convince anyone to scratch a different itch.