bootstrappable/index.skr

39 lines
2.9 KiB
Plaintext

(post :title "Bootstrappable builds"
(page
(p [Do you know how to make yoghurt? The first step is to add yoghurt to milk! How can you build a compiler like ,(anchor "GCC" "https://gcc.gnu.org")? The first step is to get a compiler that can compile the compiler.])
(p [Compilers are often written in the language they are compiling.
This creates a chicken-and-egg problem that leads users and distributors to rely on opaque, pre-built binaries of those compilers that they use to build newer versions of the compiler.])
(p [To gain trust in our computing platforms, we need to be able to tell how each part was produced from source.
We believe that opaque binaries are a threat to user security and user freedom since they are not auditable;
our goal is to minimize the amount of bootstrap binaries.])
(h2 [Benefits])
(p [This is nice, but what are the ,(em [actual]) benefits of “bootstrappable” implementations?
,(anchor "Find out what additional benefits" "benefits.html") there are to achieving bootstrappable builds.])
(h2 [Best practices])
(p [Are you developing or contributing to software that is affected by the bootstrapping problem?
Here we list ,(anchor "best practices and practical examples" "best-practices.html")
that can help you pull yourself up by your own bootstraps.])
(h2 [Collaboration projects])
(p [Solving bootstrapping problems in existing compilers and build systems requires collaboration.
Here is a ,(anchor "list of long-term high-impact projects" "projects.html")
that we would like to work on collaboratively.])
(p [More projects and status updates can be found ,(anchor "on the bootstrapping wiki" "https://bootstrapping.miraheze.org/").])
(p [Join the ,(anchor "mailing list" "who.html") and/or the ,(anchor "IRC channel #bootstrappable" "https://web.libera.chat/?randomnick=1&channels=%23bootstrappable&uio=d4") on libera.chat for news and communication!])
(h2 [Further reading])
(ul (li [Ken Thompson's acceptance speech for the 1983 Turing Award:
,(anchor "Reflections on trusting trust"
"https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf")])
(li [,(anchor "Toy example of a subverted rust compiler"
"https://manishearth.github.io/blog/2016/12/02/reflections-on-rusting-trust/")])
(li [,(anchor "What is a coder's worst nightmare?"
"https://www.quora.com/What-is-a-coders-worst-nightmare/answer/Mick-Stute")])
(li [,(anchor "Defending Against Compiler-Based Backdoors"
"https://blog.regehr.org/archives/1241")])
(li [,(anchor "Deniable Backdoors Using Compiler Bugs"
"https://www.alchemistowl.org/pocorgtfo/pocorgtfo08.pdf")]))))