GrapheneOS started in 2014 and was originally named CopperheadOS. In late 2015, the Copperhead company was founded which was meant to support the project. Copperhead didn't create CopperheadOS and didn't own or control it. Copperhead made a failed takeover attempt on it in 2018.
GrapheneOS still has the original CopperheadOS repositories on GitHub. Copperhead seized a bunch of the project's infrastructure and accounts. They created a closed source fork of GrapheneOS called CopperheadOS after the split which was not the same CopperheadOS as the original.
Copperhead remained entirely dependent on GrapheneOS and had to keep forking our code for each major Android update. Despite depending on GrapheneOS, they waged a war against it trying to destroy the project and attempting to ruin the lives of our team, especially our founder.
@GrapheneOS my favorite fun fact about rust is from a blog post by the person who presented about failure at the mozilla rust meetup a decade ago with rainbow hair and cursed me to love the language. i disagree with the content of this post in the strongest of terms (as in making a separate language because of this and other decisions—but the author makes absolutely sure to credit the right person with the design of rust iterators, based off of a 2013 mailing list post https://without.boats/blog/why-async-rust/ i am still in awe of this. astral got sold to openai off of erasing my work. python is dead, rust is now too. but there are ways to change the world that last forever and i will find out mine too
Why async Rust?

@GrapheneOS oh my god i did not realize they also saw a future of coroutines
@GrapheneOS i would be interested in any critique or associations you may have regarding the two separate proposals i made to the coroutine discussion https://github.com/rust-lang/rust/issues/43122#issuecomment-3614498718
@GrapheneOS i thought i recalled a lifetime issue i discovered when making a ring buffer (https://codeberg.org/cosmicexplorer/corporeal/src/commit/a3a36a088d932f69ba6974933fc2ee86ed0e3895/yzx/core/mony/src/coro.rs#L84since) since literally no one in all of rust has ever considered that a ring buffer of fixed size produces backpressure. given that astral refuses to touch the zip crate that has my innovations written all over it i think being declared radioactive is a success of the highest caliber
corporeal/yzx/core/mony/src/coro.rs at a3a36a088d932f69ba6974933fc2ee86ed0e3895

corporeal - String library that uses corpus dictionaries to produce a more efficient encoding than UTF-8.

Codeberg.org
@GrapheneOS unfortunately i'm scared of rust now but the rpgp crate is lovely and it writes great code
@GrapheneOS oh while i continue to post nonsense at you i'm going to be working on a double ratchet impl with ed25519 keys and it will likely be in c++. if it becomes something i can stand by i will find the appropriate contact route to message the project about it and how it might be used
@GrapheneOS (which may be nil. but the qtconnections library for kde connect is intentionally bad does this pinball loop around the file while parsing. almost cpython behavior)
@GrapheneOS oh last thing i did find a clear backdoor in the linux 7.0 rc last weekend from david howells editing linux-crypto source code. i have precise commits but i'm sure you'll find the problems if you look and i felt incredibly nihilistic to finally understand what you meant when you said the kernel is not serious about security