gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Truth matters when writing software and selecting leaders


From: Jean Louis
Subject: Re: Truth matters when writing software and selecting leaders
Date: Tue, 30 Mar 2021 22:10:55 +0300
User-agent: Mutt/2.0.6 (2021-03-06)

* Martin <smartin@disroot.org> [2021-03-30 19:58]:
> > Instead of open source, we say, free software or free (libre)
> > software.

> This is absurd, I would never use only "free software" term for the exactly
> same reason I'm not using only the word "open-source".

You may, but we don't, as it is vague term. On GNU website, we never
use "open source" to refer to free software, as we have to promote
freedom.

Anyway, you cannot change it, I have mentioned already various
Spanish, Italian, German speaking countries, free software movement is
there, it will not change, people of free software movement use "free
software" in their speech. Those who like software but do not
understand importance of freedom may call it as they want, but that is
not helping new people.

You maybe deal with all kinds of software, sorry I cannot know what
you do. I have asked what software you relate to, to show me some
hyperlinks.

> For me both cases are not precise and lead to misinterpretations. I
> don't see the reason to limit my vocabulary from the words you and
> your organizations simply don't like.

But nobody asks you to limit, it is recommendation for every human to
be precise how they express themselves.

In general, free software is free as in freedom.

Open source in general may be proprietary software, see non-free
Debian open source repository, it is full of proprietary software that
is open source. It is vague.

It is thus obvious that people use non-free software under umbrella of
free software. GNU Free Software OS-es do not use vague
terminology. It is how it is, it is decision of the group and
individuals in the group to make things straight.

> If you don't understand the context of using terms like "open" or
> "open-source" you can just ask for more details.

I probably have more years than you, so I am aware of the movement
called "open source" and licking asses of corporations.

> What if any freeware vendors start to use "free software" term to
> promote their commercial products, how you plan to stop them from
> doing it?

I could not care less. People are free to make their new terms in new
contexts. We use it in the context of freedom. There is no need to
discuss hypothetical situations, they are not real.

> Does the GNU "free software" definition is protected under some
> trademark laws? If not than why you blindly assume that everyone
> should use it as it only please you?

I don't. I said in this GNU environment, on mailing lists, in
contributions, in publishing, designations and similar, we strive to
use proper terminology to express the purposes of free software
philosophy better, it is voluntarily. 

> > Those who install their systems themselves are for me advanced
> > users. They will hardly go for reproducible builds. If somebody is
> > downloading few gigabytes of binaries to install on computer, that
> > somebody will most probably, in the majority of this group of advanced
> > users, never verify any sources. Hashes and PGP signatures may be
> > verified automatically by the system package manager.
> > 
> > There will be those who are responsible for security of data and may
> > like to verify distributions or make their own, those will be doing
> > verification checks. This group does not belong to group of end users.

> Not so long time ago a person who was able to use text editor or any simple
> applications in the first computers were considered as advanced
> user.

Actually, the other way around. First micro computer users were
assembling their micro computer at home, later programming it as there
was no software available. Using editors and if not editors, then
interactive editing environments such as BASIC shell, LOGO shell,
including assembly, machine language, that was daily routine for the
end users back then.

Today, end users mostly using computers for multi-media, and some of
them edit text, that is now, not back then, considered advanced. We
are underdeveloped in 2021.

> In the early internet years people were putting in their Resume
> abilities of using web browsers, etc. Nowadays almost every end user
> is verifying PGP signatures, it's not a rocket science
> anymore. People are sand-boxing many layers of their working
> environments, using chroots, jails, containers, various
> virtualization, etc.

You speak of developers, they are now many, but not proportionally
many as in early years of micro computing era, since about begin of
1980. Number of developers is today so much less proportionally to
number of computers - we are under developed in 2021. Sorry, what you
mention is not what end users are. I meet end users every day, they
use computers for DVD, movies and music, sharing files by using USB,
some of them know how to write a letter, and some will even make a
presentation. That is largest majority of computer end users.

> There is a devops profession that fully automate complex pipelines
> and craft a fully transparent recipes so the end user can just click
> a button to trigger reproducible-builds, bootstrappability,
> verification, testing, fuzzing, sanitazing and many other features
> for their software in some nice CI/CD fashion.  > No.

Sorry, I do not share opinion that end user is triggering
reproducible-builds, and if it is just by click of a button, that end
user, without knowledge of underlying software, does not need
reproducible build -- as that requires serious knowledge to verify
what is going on really.

We are all advanced users, so in that term of end user how you
mentioned it, I understood it as majority of common computer
users. But you speak of developers.

> > I said that terms like "bootstrapping" or "reproducible" do not fall
> > into definition of free software, those are technical methods of
> > creation and verification of software.

> Yes because your "free software" term is also dedicated mainly for technical
> methods of modifying and compiling the software.

There is nothing that relates to compiling. People may use scripts
which may be compiled at run time, like Perl, and may not know what is
going on inside of Perl, and their script may be quite
transparent. Free software definition is not related directly to
technical stuff. You could get software written on paper, as that is
how it was distributed back in time, you would write the BASIC program
in your computer and by typing RUN it would execute, there need not be
any knowledge of compiling anything, it is not related to definition
directly. 

> > I have already given few examples that "reproducible" does not mean
> > secure. You have to compare your reproducible build it with some
> > original build, and you still have to trust the original build to be
> > safe. It does not speak of safety, it just speaks of reproducibility
> > of software as compared to the previous distributor.
> > 
> > For end user it means nothing. End users are majority of user base. If
> > they trust enough to online distributor to download gigabytes of
> > software and boot the system, at that moment reproducible builds are
> > of no importance, as user already expressed the trust to online
> > distributor. Why now reproduce it oneself?!
> > 
> > Reproducible builds only make sure that software was not tampered as
> > compared to original build and its repository to the local build.

> You are wrong again reproducible-builds is assuring that every end user of
> the software is able to produce exactly the same binaries from the
> source-code.

And?

Does it practically help me? I am advanced user, at least every day I
program something new and my programs are good enough to make me money
without selling them. They are programs that make money. Back in 2000
I have made first GNU/Linux distribution that fit on 2 diskettes, it
was prepared for my needs and used by many people in Eastern Europe on
the go. It was a mobile distribution that used mutt for email,
connected to Internet from any computer, including from Internet
points or cafes. People were downloading it heavily and asking for
support. It provided 2 alphabets for various groups of people, Latin
and Cyrillic, and out of the box. Kernel was compiled with modified
ISO system to show the alphabets by default from its boot. Later I was
compiling and building distributions, and I could repeat it again. So
from there I have some experience.

And again I tell you, to make reproducible build, is not practical
neither useful. I need software that works, and would not like at this
moment spending time in verification of it for weeks. But why not, one
day.

For majority of users reproducible builds are useless. For developers
and researchers, programmers who need more security, they may enjoy
the illusion of security.

> So whenever someone would like to temper the official binaries
> it would be immediately detected by the software community, i.e.:
> https://github.com/bitcoin-core/gitian.sigs/

It would not be detected, and you have got the example below.

> > Example of malicious intent easily to be placed online:
> > 
> > 1. Insert various malicious code into GCC, that is to place backdoor
> >     shells in all kinds of network services.
> > 
> > 2. Build GCC.
> > 
> > 3. Make new GNU/Linux distribution.
> > 
> > 4. Publish it as fully free software, promote it as you wish.
> > 
> > 5. Provide hashes of binaries, packages, PGP signatures.
> > 
> > 6. Provide reproducibility for all binaries, except of few compilers.
> > 
> > 7. Let people install software and verify the reproducible builds.
> > 
> > 8. After some time, ping on some servers, like ping the port 7801 and
> >     then 5 times 7802, knock on the door, and open up the root
> >     shell.

> Have you ever tried to contribute into GCC or GNU/Linux? Have you ever heard
> about Diverse Double-Compiling https://dwheeler.com/trusting-trust/
> ?

Why? No need to contribute to GCC to take GCC and change or modify it
as you wish and make a malicious distribution how you wish. I know
D. Wheeler's website, very interesting. I guess you brushed off the
plain example of malicious distribution where you or other person
would not be able to determine if it is reproducible or not. Thus what
is reproducible has to be compared to something what is trusted. If
users are misled to trust the malicious server, their reproducible
build will be correct, alright, compared with data published on
malicious server. 

> > Definition is fine, as definition does not speak of reproducibility,
> > or bootstrapping, neither of hardware, it is general
> > definition.

> Your official definition is too general, hence it's useless in practice now.
> It's a shame for all RMS/FSF/GNU/Free organizations that for so many years
> even Guix is not yet fully bootstrappable.

  ___               _     _         _     ___  _     _ 
 / _ \ _ __   ___  | |__ (_) __ _  | |   / _ \| |   | |
| | | | '_ \ / _ \ | '_ \| |/ _` | | |  | | | | |   | |
| |_| | | | |  __/ | |_) | | (_| | | |__| |_| | |___|_|
 \___/|_| |_|\___| |_.__/|_|\__, | |_____\___/|_____(_)
                            |___/                      

> > Definition alone cannot help anybody to get free software in their
> > hardware, that is maybe matter of laws, personal preferences,
> > lobbying, campaigning for it. Nobody points that out in public. That
> > is serious problem. Nobody complains to their parliaments.

> Obfuscated and pathological free software like GNAT are much bigger problem,
> because their ridiculous lack of reproducibility and bootstrappability are
> officially endorsed by the GNU organization.

You are free to contribute and make it better.


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns



reply via email to

[Prev in Thread] Current Thread [Next in Thread]