From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Date: Wed, 04 Jul 2018 15:55:51 -0400 Message-ID: <871scin5bs.fsf_-_@netris.org> References: <20180702101757.22792.51026@vcs0.savannah.gnu.org> <20180702101758.97A6020543@vcs0.savannah.gnu.org> <8736x1r1g0.fsf@netris.org> <877emdwm0f.fsf@fastmail.com> <87efgknn2v.fsf@netris.org> <87in5veaao.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fantx-00042H-I0 for guix-devel@gnu.org; Wed, 04 Jul 2018 15:57:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fantu-0000yo-Fk for guix-devel@gnu.org; Wed, 04 Jul 2018 15:57:21 -0400 In-Reply-To: <87in5veaao.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 04 Jul 2018 09:21:03 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Hi Ludovic, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> The end result is that the wishes of the x86_64-using majority are the >> only ones that seem to matter in this community, and other users are >> frequently left in a bad spot. This makes it increasingly unlikely that >> we'll ever gain a significant number of non-x86_64 users. > > This kind of rant is really unhelpful. You=E2=80=99re shouting at someon= e who > *is* doing the work of keeping things running. I wasn't actually shouting, but in retrospect I can see how it came off that way. I apologize for any hurt feelings that I caused. This is not Marius' fault, and I didn't intend to target him specifically. I'm grateful for the large amount of important work that he does on Guix. However, I do feel frustrated by the fact that it's considered acceptable in this community to leave non-x86_64 users with broken systems in the name of "moving things forward" for x86_64 users. Portability is important to the long-term health of the free software movement. Especially given that fact that Intel has long ago stopped producing processors that can be used without large amounts of nonfree software (including the Intel Management Engine), I think we should work to ensure that Guix works well for users of non-x86_64 systems. The origin of this problem is not in the Guix project. Ultimately, it's due to the fact that x86_64 has far too much market share among GNU/Linux developers, and therefore the upstream projects upon which Guix depends are not being sufficiently tested on other platforms. However, there is one aspect of Guix that is greatly exacerbating this problem: our impatience to always have the latest software, even if it breaks other systems, is a serious problem in my view. It means that if I want to ensure that Guix works well for i686 or armhf users, then I would need to start trying to use Guix on those systems for real work, which at the present time would entail almost single-handedly fixing all of the portability bugs in all of the software that I use, at the full pace of upstream development. I would need to keep this up for long enough to make Guix appear to be a safe choice for i686 or armhf users, so that some of them might help work on these portability issues in the future. Another problem is that Guile 2.2's compiler has become so heavy that it's nearly unbearable to use on slower hardware. Simply running "make" in my Guix git checkout after updating on my mips-based Yeeloong is so slow that I'm in the habit of letting it run overnight. So again, and I'm saying this calmly but with great concern: given the current priorities of the project, I could not recommend Guix to users of non-x86_64 architectures, and I don't see how we can fix that without attracting more developers who use those architectures. However, I don't see how we could attract those developers if we continue to prioritize "moving forward" at full speed for x86_64 users, even when it breaks other systems. > Generalizations about =E2=80=9Cthis community=E2=80=9D obviously make no = sense. You are > a part of =E2=80=9Cthis community=E2=80=9D so it cares just as much as yo= u do. By that reasoning, since I'm part of the community of humans on planet Earth, the community of humans on planet Earth therefore cares as much about free software as I do. When I suggest that the community would not take certain suggestions seriously, e.g. the suggestion to block upgrades or merges that would break non-x86_64 systems, that statement has some meaning. I means that I expect that most people here would disagree, and that the maintainers would rule in favor of "moving forward" at full speed, and that it will be the responsibility of the tiny number of non-x86_64 Guix users to fix portability bugs as quickly as needed so that the x86_64-using majority need not suffer any delays. The problem is, we would need a *lot* more non-x86_64 developers in our community to make that work, and we cannot attract those developers given the current policies. > Please let=E2=80=99s work in a friendly manner towards finding solutions = to the > problems. I'm open to suggestions. Do you see any solution to the problem of how to attract more non-x86_64 users, given our current policies? Thanks, Mark