The general consensus is that is too hard or too expensive to run a small business on entirely free software. After running my company for 5 years on entirely free software I think this is not the case. We have instant communication, shared calendars, groupware, single sign on, and a single administration interface! Things have worked out really well and in many ways are better integrated than trying to combine multiple different cloud based services.
In this talk I will walk through how our infrastructure works, what the pitfalls were, and what the benefits are. At the end I'll give a short demo on a couple of virtual machines to show off the user and admin experience.
In 2020, I presented a talk at FrOSCon titled No, we won’t have a video call for that: Communications for distributed teams. In early 2021 I put together a full-length writeup of that talk, and published it here. And for no apparent reason that article then made it to the top of Hacker News on one day in September 2021,1 and apparently resonated with quite a few people.
And after that, I got a fair number of questions along the lines of “okay, what you talk about is a spot-on description of how I want to work, but how do I get there?” In other words, what can you do in order to transition from a team that’s stuck in meeting hell, to one that actually goes fully distributed and embraces asynchronous communications?
Note: I use the shorthand Meeting Hell for a situation in which people are forced to
be in unnecessary and unproductive video meetings2 for an unhealthy fraction of
their work time.This is admittedly a mere symptom of not having adopted asynchronous and
distributed ways of working, but it’s such a tell-tale sign thereof that it counts as a
dead giveaway. Thus, I think it’s okay to say “I’m stuck in meeting hell” when what
someone means is really “I work in an organization that’s failing badly at
distributed and asynchronous work.”
After No, We Won’t Have a Video Call for That, which covered how productive distributed teams operate, and the Getting out of Meeting Hell series, which focused on how you as an individual can get to being a member of a functional distributed team, let’s zoom out a bit.
Let’s discuss a slightly larger, organizational picture, just in case you ask yourself this question: “Why isn’t my organization distributed and asynchronous? And, as companies bleed talent right and left because competent people run for the competition that does get distributed work right, why don’t they wake up and become like that? Can someone please make my company more distributed and asynchronous?”
For additional context, let me interject the following observations from Kris Köhntopp, who posted them in German on Twitter (I am taking the liberty to translate here; emphasis mine):
What’s funny is that [what matters to being successful as a distributed company]
are all learnable skills — written communications, sensible meeting prep and
follow-up, correct definition of objectives and tasks, etc.That’s a craft.
But it appears that organizations prefer to bleed their teams dry by attrition, rather
than to learn, or to hire people that can help teams to write things down,
professionally maintain a wiki, and teach and drive communications.
And further downthread, Kris says (again, my translation and emphasis):
This is all definitely feasible, after all there’s remote-first companies of substantial
size and they work.They must have built themselves somehow, they didn’t get to where they are by
pure chance.
I agree with all of that (obviously), but things are complicated. So let’s drill into this a bit.
Once I was working in the software development company. It was a regular company: nothing really bad, but nothing fancy. It had the same problems as other similar companies:
Low-quality code
Unmet deadlines
Budget overflows
And disappointed clients as a final result.
Of course, everyone in management was eager to know, what (or “who”) was the reason. During our workday, it was quite normal to hear something like: “the project is failed because you wrote low-quality code, now the client is moving away from us”.
Did it help in any way? No. Was it pleasant to work there? No. So, once I woke up and decided that I do not want to work in this company anymore.
The ugliest part is that I was the founder of this company.