From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adonay Felipe Nogueira Subject: Re: Leaving the guix project Date: Fri, 10 Mar 2017 22:30:52 -0300 Message-ID: <87efy4fvlf.fsf@openmailbox.org> References: <87pohuyc1f.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41281) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cmVsE-0003wo-Uq for guix-devel@gnu.org; Fri, 10 Mar 2017 20:31:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cmVsA-0003pI-UF for guix-devel@gnu.org; Fri, 10 Mar 2017 20:31:10 -0500 Received: from lb1.openmailbox.org ([5.79.108.160]:37514 helo=mail.openmailbox.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cmVsA-0003oC-Bq for guix-devel@gnu.org; Fri, 10 Mar 2017 20:31:06 -0500 In-Reply-To: (David Craven's message of "Fri, 10 Mar 2017 21:20:05 +0100") 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: guix-devel@gnu.org Note: This message is of course not meant to be rude, and not meant to be "the source of absolute truth", so please take it lightly. Only for this message, and for the sake of easier understanding, the term "promote" will be used in this message as synonym for the following: install, share, sell, teach usage of, recommend. The problem of promoting non-free software (or functional data, which covers broader and true object of the movement) is that the promoter ends up propagating at least one moral dilemma, and worse than that, an immediate one. The immediate moral dilemma goes like this: Person A receives (thus immediate) a software for which he's permitted to use, however, he's forbidden to share (redistribute non-commercially) copies of the original work, and after some time, person B asks A if A can share the software. Average people would usually see two evils, one worse (deny sharing, and be respect the first agreement), and other lesser (help B, and break the first agreement). However, as explained in the following references, free/libre software activists must anticipate this dilemma by denying receiving the work: - [[https://www.gnu.org/philosophy/google-engineering-talk.html#freedom-2-moral-dilemma]] - Previous reference, #freedom-2-spirit-of-good-will . - [[https://www.gnu.org/philosophy/applying-free-sw-criteria.html]] Exceptions for these issues apply when non-free software is used as means to install other free/libre software that is going to be replacing the non-free one entirely, or when the user is determined to test parts of free/libre software together with non-free ones so as to help a complete free/libre replacement be developed (this was how GNU project itself grew initially), as described at [[https://www.gnu.org/philosophy/is-ever-good-use-nonfree-program.html]]. This doesn't mean however, that "free/libre software activists can't use non-free software", they can, but only for personal use. The risks are theirs for the taking. Also, one must consider that actions sometimes convey ideas, so one must make sure to be always moving towards free/libre computing, when and where such move is permitted, finantially and technically ([[http://www.fsf.org/resources/hw/endorsement/criteria]]). As a personal note: my first thought was to simply reply to this discussion by saying "Do not promote non-free software to people, and explain to them what is the problem, and you'll be making your support requests, and our support requests more easy to deal with" (note the special meaning of "promote"), but I figured that this long comment must be used instead, otherwise the reply wouldn't be of much use. However, the original reply is still valid but so: ... Do not promote non-free software to people, and explain to them what is the problem, and you'll be making your support requests, and our support requests more easy to deal with. :) Also, it's a good idea to tell people to consult you regularly about hardware, technologies, network services, websites, and software, specially because they are the nearlest free/libre software activist they might trust (as long as you remain one, of course). In case of doubt, you always have general discussion lists such as libreplanet-discuss. If everything fails, go for the worst case scenario of "something" being unfriedly to free/libre software movement, or with "unknown" status of friendliness, at least it's better than making a ruinous compromise ([[https://www.gnu.org/philosophy/compromise.html]]). About LLVM/Clang: Perhaps due to the fact that I'm not a programmer, I can't understand why on Earth LLVM/Clang even exists, it's like this plethora of financial/accounting/chat/social-network/whatever free/libre software that exist and that which none seem to interoperate well with eachother, or that which none seem to be aiming for the same goals of the free/libre software movement (although their source code and licenses are compatible with free/libre software). Even worse, some of these have the so called "open core" model, and some other harmful practices like offering different licenses (assumed to be proprietary, or permissive/non-copyleft) for people who pay for the software, instead of requiring everyone to pay for the same free/libre software. Sometimes I receive emails and phone calls from people saying that GCC doesn't allow "modules", and I tell them: Well, perhaps there is a mistake in goals here, why would I want a module if I can have adaptations, alas, it's free/libre software, I can even hire someone to make adaptations for me. As an important note: if you do some searching at the wiki of the GCC project, you'll see that there is an effort to make it modular. Now, still replying to those people who call me from time to time, I usually end my argumentations by saying the following: The problem isn't GCC's lack of modularity, quite the contrary, the problem is on LLVM/Clang's lack of measures to protect software freedom in the long term for the end/average users, and this has nothing to do with modularity or no modularity, as can be found by reading the following references: - [[https://www.gnu.org/philosophy/applying-free-sw-criteria.html]] - [[https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html]] The same argumentations regarding LLVM/Clang and GCC, apply to Emacs not supporting LLDB. So as a recommendation to fix the issue, we can do either (based on [[https://sfconservancy.org/videos/2015-01-15_Bradley-Kuhn_Future-of-Copyleft_LCA-2015.webm]]): - Do a very important [A]GPL'd optimization to LLVM/Clang project, and write/fund researches about such, such that LLVM/Clang project is tempted to incorporate those. - As a personal suggestion: Improve GCC such that it becomes way superior than LLVM/Clang. I have seen people saying that GCC and LLVM/Clang are at par with each other in everything in regards to things similar to speed and optimization.