Hi rustaceans!

Today is a great day, the achievement of months of work (and also the start of a great adventure ).

I'm very excited to announce Bloom: A free and Open source ‘Google’.

Our mission? Empowering the world with open technologies.

Why? How? What? https://kerkour.com/blog/bloom-a-free-and-open-source-google

Website: https://bloom.sh

Android App: https://play.google.com/store/apps/details?id=com.bloom42.bloomx

Code: https://gitlab.com/bloom42

All the backend and services are written in Rust and are entirely free and open source on GitLab. No opencore, no bullshit.

I’ve written the backend 3 times:

First time in JavaScript because I know it relatively well and because it’s a relatively functional language. But performance (especially crypto stuff) were too bad. And the lack of typing is just not possible.

Then, ‘catched’ by Google’s marketing I rewritten it in Go. Performance were very good, compile time excellent, and cross compilation perfect. BUT the language itself is too poor. Lack of immutability, lack of generics, mediocre module system, very poor package management at the time … made it doesn’t really scale.

It’s really easy to write HTTP servers in Go, but nothing more, the business layer is completely rotten by the imperative paradigm. The worst thing being pointers.

And finally, after ~2 months of testing and fear of making the bad choice I rewritten it in Rust. Compile time is bad, but everything else is so awesome:

An expressive and modern language

Strongly typed, It’s a real pleasure to be under so much pressure when your code compiles

An open-source language, with open governance that fully embraces our values

A language that allows both high-level abstractions and low-level constructs, without performance cost

All our services must be able to be self-hosted on a Raspberry pi

Compound interests come into play, being expert in a language capable of web services, robotics and blockchains, can multiply the creative capabilities

Developers love it <3: https://insights.stackoverflow.com/survey/2019

Because it is THE language to rule them all: http://www.paulgraham.com/avg.html

What I find currently lacking:

compile time and memory consumption (Too much resources required for CI/CD)

Cross compilation (Go is THE reference)

Async compiler errors

Yes there were some major bugs (actix multipart). But thanks to the awesome community, they were all quickly fixed!

And yes, the code is not idiomatic (lot of .clone()), but currently the performance are good enough.

A special thanks to this awesome community who helped me countless times and tirelessly create high quality libraries (diesel, actix-web, zip...)

The project seems awesome and you want to help?

by spreading the word on twitter: https://twitter.com/z0mbie42/status/1136297238387482625

by spreading the word on hacker new: https://news.ycombinator.com/item?id=20105567

by spreading the word on mastodon: https://mastodon.social/web/statuses/102219734596471572

by contributing on GitLab: https://gitlab.com/bloom42

By becoming a patron: https://www.patreon.com/bloom42

By becoming a sponsor: https://bloom.sh/become-a-sponsor

Let's spread freedom

Sylvain Kerkour, a.k.a z0mbie42