From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 19 16:39:32 2019 Received: (at submit) by debbugs.gnu.org; 19 Dec 2019 21:39:32 +0000 Received: from localhost ([127.0.0.1]:45617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ii3W8-0004ja-Ep for submit@debbugs.gnu.org; Thu, 19 Dec 2019 16:39:32 -0500 Received: from lists.gnu.org ([209.51.188.17]:59663) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ii3W7-0004jT-0Y for submit@debbugs.gnu.org; Thu, 19 Dec 2019 16:39:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40198) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii3W5-0000HV-DJ for bug-guix@gnu.org; Thu, 19 Dec 2019 16:39:30 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ii3W3-0008E3-C1 for bug-guix@gnu.org; Thu, 19 Dec 2019 16:39:28 -0500 Received: from mout.web.de ([212.227.17.11]:60827) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ii3W2-000877-P0; Thu, 19 Dec 2019 16:39:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1576791557; bh=N3U9uNOsNmyB0nXVK5/O8PmrMQoLcvt4g7XEpf3LjL4=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:In-reply-to:Date; b=DRt+SJacF+yk3XjMvx3oIerh3J6Td+X738IdXHgPo6pqbvdKEEcwrB4QnnrK0bNow 6hrsuFeYcJcD+5grw9ojIyX5HIOSrxLaOxMDXH9E9HkXqjPEzPQ2y6nR2fsU7L+Pii LLuEumbAVx3jnpOGHpk+/CjZLz5WcSPsL78FCHyg= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from fluss ([84.165.17.138]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MVcdn-1iBEWw0C5P-00Yxlz; Thu, 19 Dec 2019 22:39:17 +0100 References: <87eexeu8mo.fsf@ambrevar.xyz> <87k16vdise.fsf@gnu.org> <87zhfp2w11.fsf@web.de> User-agent: mu4e 1.2.0; emacs 26.1 From: Arne Babenhauserheide To: zimoun Subject: Re: bug#38529: Make --ad-hoc the default for guix environment proposed deprecation mechanism In-reply-to: Date: Thu, 19 Dec 2019 22:39:13 +0100 Message-ID: <871rt03shq.fsf@web.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Provags-ID: V03:K1:JfifoonhvfdwLLBS00M57V+RXyAvKT7cNzpyhuonq6ADveu28LI grENkCU7iDca3blFZ8wAknCHd5KornKxNDlPSQaDGqbfHiMDn4M1L+2VA7I6qANL7dpV95i VA0zMbfbTpzKuKtBwriU7m+7deRFeZxfBTmvUh3bSXeKrSAey+RxSDdHIRH9/aFNAOfX+ii 475Y5uAELg4k1gQedA/LA== X-UI-Out-Filterresults: notjunk:1;V03:K0:qbzDh18zGjw=:dafAQ5kgc7nFnoH47fxe29 c2ahPJ80LZ9PAMutNASf1zh+1gtlK9gVXnmNK8dZ4vHxF6pz02ZvRRc16nt2eHBgZ8/siH96E WVr6o8bhhF3/49/z0auwISiQiypQ+2iFJaJpvoOfC9oyO0xEK3bEUN9wLilSJJZCWC9CzQMEH t3qDIsK2SC13U38ApezLOkCozeYJqlNDjQ0/9J3BC2/TK4GpGqcw3aUPUHdoAjOPF8VlF0Mem sfOsjgUNMIc8SEiE5q28HEBtsxj0O6u5X15b09SC6tZogTIDQ1ZsRi1aRRFFFer9E34gJ+TWa C1eGu+rkRAJYQjBZIjniutdEW2CNJVsSENHWeSD4H1YbxrIi6WiZmcBKod3tmDYSz8L6Ayst9 +s1U6wdZuNr5gQMygKE4cCLcvb7pOVerrFg6vnIsGugt6Ob/yIyv8FLQFfa+DI8/paHEIvD9B ragoxZpF8y63nTeeaPR0nqIseXdutnTUp5xfve3j+/RnxUW3T/eS2q57WH1Zn+Z0MS1ImnpuZ bPL6zjKwLClQi8oK0s5lro5dSq2Zy0npeweog0j0PFBr0YBLyFYx0xPsviJbkzpQq+ATdi1WZ Z/T1dDW7mw4wjFKD6uCflJ5UY3LxI2QD1BfZ6rBR8vw4Iys8H7hCNgWXZVw39grEy7vbDWSyJ xs/uAl3mRGP41LO2LF74pV3y/cWHauZdewA9+SKRTNgsfLVZKZXE97Xlooj60Tx76wsdh9mI3 EP8rYoFdXnq86Zl+1W5i8oUAdrF72H7+F2I/ceNlYFMfEBq5E8Dfn8MexQ5nPmcmPfCzfNR5O BHrXUg9Cew5tcNpJuYvr95ZqDPjBPF/KvWuoaxt2zJxDoxzNrSWy+1DgHEGgNG7DDKd5herM/ iGJAgnBSyGOO20n7Rh3GCNRRuhYRWSxUVUd5TEYW2g5VWBR8Hc5AFQCrckQlEhOd3QzJQZGEh +hm+5fkKmSSIRSDnB738PYrZ9iIDVoVtJN4POPh8rDggI9PNNxovd/7FR2gRbKsO6KlJCZGUM Hdpt9FByFjlyhBucdceENE6FWKNipNqhAiXHqEO0TRXmzlye4LyMT6uX/bjJujy4WpLLKrSDg E1bngCT1aN30ZEIjyrdr0u0wZw5nMNWXbN8Vh6E7OfU2HxBmms7YAOs7VwKJT2ESp62zs9yyS awi1Z2+haAF1jguEEHDDyuR61Gygfn977VHXmYylmcRe9WxR2+Pgf6pX/PVFsgRN/3HVSTxKm u8VkhiSp6BApB+moMdnaCeT+rCg8leUuZTrHk1w== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.11 X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Guix Devel , bug-guix@gnu.org, 38529@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi zimoun, zimoun writes: >> Should Guix be volatile software? >> http://stevelosh.com/blog/2012/04/volatile-software/ > > Guix is not a volatile software and will never be. Because it is > rooted in time-travelling. > The tools "guix pull --commit=3D", "guix --manifest=3D", "guix > time-machine" or the "--roll-back" avoid to break what is currently > working. This is taking this a bit too easy. If I can no longer pull, because that breaks my Emacs or Gnome, then Guix is broken for me: I can no longer update my system without first adjusting my config. > Number of people Time it takes each person > using that part of X to figure out what changed > the program and how to fix it > > Hum? I am not convinced that the cost would be high... Because 1. the > number of people using Guix is not so high (yet!), so 2. I am almost > sure we can name the people using "guix environment" in scripts ;-). I=E2=80=99m not so sure. Guix is already used in scientific workflows, and = there is existing third-party documentation about using `guix environment`. And can you name the people using `guix environment` by searching backwards in their bash history? > And 3. the time to figure out what changed is really low -- especially > with warnings and hints -- and "guix environment foo -- make" would > return an error because of dependencies missing. It took me days to figure out the exact guix environment invocation that allows me to build the tools for a paper I=E2=80=99m still working on. If t= hat breaks, that causes massive anxiety, because I then don=E2=80=99t know whet= her I=E2=80=99ll find the time to fix it before I run into deadlines. > Other said, I do not see myself use-cases where the scripts using > "guix environment" need to be robust for time-travelling -- the same > script used with current, past and future Guix versions -- because as > it was said elsewhere: "environment" can be seen like "temporary > profile". And temporary means... well temporary. ;-) The same script must always work with future versions. Otherwise the software is volatile. You don=E2=80=99t need to be able to go back in time, but the path forward = must be without breakage. > Then, the section "The Tradeoff" advices "from newmodule import > new_foo as foo" and IMO it is what the plan proposes with the variable > GUIX_ENVIRONMENT_DEPRECATED (tricky point #4). No, that=E2=80=99s the opposite: from newmodule import new_foo as foo means, that you allow users to define an environment variable called `GUIX_ENVIRONMENT_MODERN`. > Last, "volatile" vs "stable" is mitigated by "The future of 'guix > environment'" [1] which really predates the 1.0. ;-) Yepp, but we=E2=80=99re after 1.0 now. This might have been a blocker for 1= .0, but it wasn=E2=80=99t. >> Also: Software developers should avoid traumatic changes >> https://drewdevault.com/2019/11/26/Avoid-traumatic-changes.html > > "Traumatic changes"? Maybe a bit extreme for the change we are talking ab= out... I don=E2=80=99t think so. There=E2=80=99s the strong version where it=E2=80= =99s obvious: It leads people to leave a project instantly. There=E2=80=99s the weaker version which is less obvious: That=E2=80=99s wh= ere people who invested efford to follow best practices suddenly find their project to be written in legacy style, because the best practices changed. > Well, at the end, what is explicitly your personal opinion? > a. Change the behaviour of "guix environment" using the proposed plan? > or > b. Add a new command? Which one? "guix shell", "guix env" or "guix > "? I would opt for b. And then for changing guix to give the most common commands when called without argument (as `guix`) =E2=80=94 excluding guix environment. That would not avoid the slow version of traumatic changes, but if guix environment would keep working and both guix env/guix shell/=E2=80=A6 = and guix environment used the same backend (just with different options), then they would be minimized, because guix environment would not become a second-class citizen. Best wishes, Arne =2D- Unpolitisch sein hei=C3=9Ft politisch sein ohne es zu merken --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE801qEjXQSQPNItXAE++NRSQDw+sFAl377gMACgkQE++NRSQD w+tujBAAxS1DE0VL+KlggoUcM1PXzAVqmznzZOn3/M24/n2tCWCiK7QfXBOCK3dt QXSYpoozIV2ZHdjc8UpM6Y+xwr+WnJrQsvQAIKOwDT7Dzxa4RHsNV9PmFHOxyJFM as7t4XxYfXJrp48n6baF/xywvrMcWe0L2F8x1e2PF0SXrHKMwb+cg+k0pE0H+02z 5n1fd4O6VetyPa3U0XQGcmMqqxDaPY7kfXCA+daqry4/T/F6xli0T9NOBK1C/a4I IQP+YenYlyzKKXTCiZ+0mm6/vx+hGQzvkmGPDYsFsUTvz10dGLEBDoZOTHECcWVN guYEHNDpItMrt/JueN4x7MXwV6eclviaIo8rHMIg1UO4F81KjRwN2Ejr4T46+utX 6uvE0k5QPH6Ol01sHDBvfNvC/XztGgN0BJtmsMn5CtbhQx1BWHbNrNVbJIY4Fzev 5fBwB7psKG4yDpb58xtgs84PbN5gAK3jW31brOGrTprYpPoQQxxIluXd02vk7j6T /qNroGg3H3W1Q4hHEPCBdtJVAF2lAylCDraPo9eU4j/+odrQDMqB2ISfGbO69xQe LVMvM0UaGVuf4LJfk0rED4eppm9sib0KjgE5Fdy3W9ur/hS94WIBO6XqC6w/35UG WP9wMGDZGWY+donOfO3JZWSmzbjncsUhHJ32bXm6FlN/MWvkM8eIswQBAQgAHRYh BN0ovebZh1yrzkqLHdzPDbMLwQVIBQJd++4DAAoJENzPDbMLwQVIPHAD/0ozQwSH Xe6qMlZHPs8FDOqXxcX+3onf+Kir9UVQuxUl+jnJTh5FL9vlWvdRb5yk7vKXnY7D 2eZ5x68w3Y4sdl9hma+CiFit+M4H5vKQhOGpNTgKHllnVGJ5DFM96V8b4TZR9J3r vr49IjXgbsWP6X+KCE2rULP+YjjzmiCcJIk7 =pDkB -----END PGP SIGNATURE----- --=-=-=--