Pulse: a new beginning

17th November, 2014 — Aral Balkan

Ind.ie Pulse

We’ll always have Munich

A few weeks ago, I got to spend a lovely day in Munich with Jakob Borg, author of Syncthing. I updated Jakob on how we were using Syncthing at Ind.ie (it’s what powers Heartbeat and is at the heart of the Ind.ie platform).

I remember telling him: “I know you didn’t ask for this, but this wonderful engine you’ve created as a hobby is going to one day power a new web.”

To cut a long story short, after discussing it in detail, Jakob and I decided that Ind.ie should take stewardship of the Syncthing project and rebrand it as Pulse. As part of this, Ind.ie would hire a full time person to help Jakob with this work and Jakob could continue doing what he loves: working on his baby. As part of the change, we also moved the license from MIT to GNU GPL so no one could close it off in the future and decline to share their improvements.

Unfortunately, changing an existing culture is hard.

Hassles

Since we announced the migration and the name change, poor Jakob has been inundated with resistance from the Syncthing community on the name change and the license change.

Instead of working on what he loves, Jakob’s had to spend time answering questions about Ind.ie. This is not fair on him. He’s an awesome guy and, although he supports us fully in what we want to achieve, he’s made it clear that this is our fight, not his, and he has other things on his plate. In the same vein, it’s become clear to me that we need to have complete control over what is the core of our platform.

As such, we had a very amicable talk with Jakob and agreed the best thing to do would be to tackle this issue with a slightly different approach that should make everyone happy.

So, from today, Pulse is now an officially-sanctioned fork of Syncthing.

Twice the fun

Syncthing will go back to being Syncthing and developed out in the open. Make sure you also read Jakob’s post on it. This way, Jakob and the community can evolve Syncthing as they’ve always done. We’ll be tracking the changes and incorporating the ones that make sense for Ind.ie into Pulse. In the same vein, we will be improving Pulse also and, of course, those changes will be available to the Syncthing project.

The separation means that we can concentrate on rapidly improving Pulse in line with the needs of the Ind.ie platform. It’s our hope that the Syncthing project can make use of those improvements also. We are starting by devoting an excellent full-time developer to Pulse and tackling some of the bigger issues around it.

Introducing George

To underscore our commitment to Pulse, and given that our crowdfunding campaign is progressing on target, it is my pleasure to announce that George MacRorie is in the process of joining our team to work full-time on Pulse.

George spent the last week forking Syncthing in the evenings (in what I can only describe as a heroic effort) after working full days at his current job. He’s done an amazing job with it and this is only the beginning. We are going to do great things together.

What’s new

Here are the highlights of the fork:

Basically, Pulse is now a fully independent project.

What’s different?

Right now, very little is different in terms of functionality:

In terms of development process, we use a focussed, design-led process. We will, however, be taking part in the Syncthing forums and be accessible to the community from there.

The combination of the two approaches, working on the same problem, should provide some fruitful results and benefit one another with their positive aspects while hopefully compensating for the negative aspects of the other.

Roadmap

In our near-term roadmap, we are going to be tackling the following issues:

Onwards and upwards

While this wasn’t our original plan, I actually believe we’re at a better place than we were a week ago. Pulse is now totally within our control and we can quickly iterate on the important features using a design-led process with a full-time developer at the helm.

I also hope that the Syncthing project will benefit from our improvements and we look forward to working closely with them and staying compatible with the Block Exchange Protocol.