(One of the summaries of the 2015 Pygrunn conference)
Pieter Hintjens has quite some some experience with distributed systems. Distributed systems are, to him, about making our systems look more like the real world. The real world is distributed.
Writing distributed systems is hard. You need a big stack. The reason that we’re using http such a lot is because that was one of the first ones that is pretty simple and that we could understand. Almost everything seems to be http now.
Three comments:
So: the costs of such a system must be low. He really likes ZeroMQ, especially because it makes it cheap.
We lack a lot of knowledge. The people that can do it well are few. Ideally, the community should be bigger. We have to build the culture, build the knowledge. Zeromq is one of the first bigger open source projects that succeeded.
Conway’s law: an organization will build software that looks like itself. A centralized power-hungry organization will probably build centralized power-hungry software.
So: if you want to write distributed systems stuff, your organization has to be distributed!
Who has meetings in his company? They are bad bad bad. They’re blocking. You have to “synchronize state” and wait for agreement. A conference like pygrunn is fine: meeting people is fine. At pygrunn, there’s no state synchronization. Imagine that it were a meeting to agree on a standard editor…
In a distributed system, what you really want is participation. Open source development needs pull requests, so to say.
A question about making money from open source resulted in a rant (I don’t mean the term very negatively, here) about open source software being the only way to produce valuable software. “You might as well ask about how you can make money from a free school system”. “It is idiotic to ask the question”. And some things about people believing things because someone says it is so (like “you can only make money with …”) without thinking themselves.
Something to emulate: our food system. None of us owns the complete food system. Nobody owns the full food system. But it works! Lots of smaller and bigger actors. And everyone had breakfast and lunch today. The system works. This kind of distributed system is an example to emulate in our open source software.
Nice comparison when asked about succesful commercial software. Gmail is a succesful example, but that’s something that grew pretty organically. Compare that with google wave or google plus: who even remembers them? Those were vision driven software. Made based on money. A failure.
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):