惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
H
Help Net Security
B
Blog RSS Feed
G
Google Developers Blog
博客园 - 司徒正美
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
P
Proofpoint News Feed
小众软件
小众软件
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
V
V2EX
月光博客
月光博客
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
Arctic Wolf
Help Net Security
Help Net Security
Schneier on Security
Schneier on Security
D
DataBreaches.Net
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Palo Alto Networks Blog
T
Tenable Blog
L
LangChain Blog
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
F
Fortinet All Blogs
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
NISL@THU
NISL@THU
GbyAI
GbyAI
博客园 - Franky
S
Secure Thoughts
有赞技术团队
有赞技术团队
PCI Perspectives
PCI Perspectives
U
Unit 42

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Rust 1.0: status report and final timeline Announcing Rust 1.0 Alpha Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
All Hands Retrospective | Inside Rust Blog
Erin Power on behalf of The All Hands Organisers · 2020-03-18 · via Rust Blog

If you're not already aware, the Rust All Hands event, originally scheduled for March 16th–20th in Thessaloníki, Greece was cancelled in January. The All Hands' is one of our members' favourite events of the year and we were quite disappointed that we weren't able to pull off the event this year. In the interest of being transparent, as well as documenting for future events, we have written a retrospective about what happened, what we learned, and the future of the All Hands.

Timeline

Context

Both previous All Hands took place in Mozilla's Berlin office. Mozilla traditionally sponsored the event, providing the venue and catering, and also paying for the flights and accommodation of volunteers who didn't have a company or other person to pay for them. It was a good way to bring the entire community together for a week of planning, discussions, and camaraderie.

Still, after the last All Hands, it was clear that we couldn't do a third one in Mozilla's Berlin office. The Rust org was simply growing too big. The Berlin office didn't really have the space to accommodate us.

Finding a space.

As a group, our first step was to see if we could find other companies to sponsor a space. We followed a number of leads but ultimately never found anyone that had a space to offer at a suitable time. We started looking at other options, like private hacker spaces and universities. The University of Macedonia in Thessaloniki, Greece made us a quite attractive offer, and they had the right time available, so we decided to go for that.

Budgeting and sponsorships.

We in the All Hands group did our best to create a budget. Unfortunately we did not have access to any expense reports from the previous years. We had a survey we could use to estimate the number of attendees and a rough idea where they were coming from. We knew the costs of the venue. We added fudge factors. We thought we'd done a good job, though it would turn out that we were quite off in our calculations.

However even based on our estimated budget, it was clear that Mozilla was not going to be able to cover the costs alone. This seemed like a good opportunity to try and build relationships with some of the companies that have started to use Rust by approaching them for sponsorships. We weren't sure, though, how many sponsorships we'd be able to get, and so we hit upon the idea of using paid tickets.

Tickets

The idea was that people could purchase a ticket to the event, which would help to cover the costs, but that it was also okay to have a "gratis" ticket. Tickets have the advantage of being relatively easy for people to submit in their expense report if they are travelling with a company. We also found a number of companies who might be interested in a more traditional sponsorship.

Finding a bank account.

Still, we had another problem. The Rust organisation does not have a bank account we could use to collect and distribute money, and we didn't have an obvious entity to sign legal agreements.

At this point, we spoke to a company that might serve as a bank account. We had a quick call and went over a plan that seemed promising. Mozilla would contract with them for their services managing and organising the event, and this would serve as Mozilla's sponsorship. The other sponsorships and proceeds from ticket sales would collect in their bank account and we would manage distributions.

Pulling the trigger.

At that point, we sent mail encouraging people to book tickets, and we also started following up more with sponsors. Our expectation was that we would soon have a bank account for collecting funds, and we started collecting information to repay people who had booked travel.

In retrospect, it's clear that this was premature. It seemed like all the pieces were in place, and we knew that if people didn't start booking tickets, they never would. But the pieces were not in place, not actually, and we clearly should have taken this moment ask whether we were really going to be able to pull this off.

Realising it won't work.

This all started to unravel about a month before the event. In short, we encountered some logistical hurdles around finalising the business and legal aspects within the organisation's constraints that also prompted us to review the finances in more detail. This revealed that our estimates were off. Thus, we were faced with a tough decision:

  • If we continue with the event, there was the chance that the logistics would just fail to come together. That would leave attendees in Greece, out of pocket, and without an All Hands to attend.
  • Further, we might not be able to raise enough money to be able to pay for the entirety of people's travel and lodging as we had promised. This would be unfortunate, though perhaps something people could live with.
  • On the other hand, if we cancel, we have to deal with the fact that people had already started booking travel, and not everyone would be able to get a refund from their airline/hotel, and accept that there might not be an All Hands this year.

After much analysis and discussion with the Rust core team, we ultimately opted for the painful but ultimately safer route: cancelling the event. The cost to cover cancelling in January was relatively low, and even if it did come together we were worried about the high stress of pulling it off burning people out of the project.

Addendum Since we cancelled the All Hands, outbreak of the COVID-19 in Europe in the recent weeks, would have caused the event to be cancelled regardless. In a weird twist of fate, we were fortunate to cancel when we did.

Lessons Learned

Bound uncertainty and total cost. — Promising to cover all travel with no kind of upper limit was unwise. It had worked in the past, perhaps, but the event was growing, and that was partly luck. Organising an event is very complex and there are a lot of unknowns, and it was clear for some of them we didn't have the time or resources to resolve them adequately.

Location, location, location — It was hard to find a good location. While Thessaloníki was cheap and great in some ways, we encountered some logistical hiccups that made it less than ideal. For example; we found that the cost of a lot of the flights for our international members were quite high compared to other European cities.

Know your audience — Some companies weren't interested in sponsoring because the event wasn't sufficiently high profile, or because the "ROI" ("Return On Investment") didn't quite fit into the budgets and categories it would have to come from. We also had some uncertainty about how much "participation" to offer in exchange for sponsorship, since we didn't want to give the impression that anyone could just "buy their way" into the All Hands — at the same time, there is clear value to the Rust organisation in having sponsors participate.

The Future

Right now, we're currently organising with Mozilla reimbursing anyone who had purchased non-refundable ticket. We're also going to take the time to step back and re-evaluate what kind of event is possible, and what kind of event our members want to attend.

If you're a member of the Rust programming language organisation, you should have received an email containing a link to a survey asking you about what kind of All Hands you'd enjoy, and what you would want to attend. Once people have had enough time to respond, we'll publish the results on the "Inside Rust" blog.

If you didn't receive an email and you believe you should have, or you have anything you'd like to mention in private to organisers. Please email us at rust-all-hands@rust-lang.org.

It's very unfortunate that we weren't able to have the All Hands like we planned. We know that it's a lot of our members favourite Rust event, and we would like to thank everyone for reaching out and being so understanding.