Syncthing->Pulse search/replacements in 0.1.2

Hi @aral, @GeorgeMac. Posting here since there’s currently no other forum or issue tracker for Pulse. I looked quickly at the recent 0.1.2 release (essentially syncthing 0.10.8 + s/syncthing/pulse/). A few things strike me. I hope you don’t mind me bringing them up here.


Each file has this substitution;

-// Copyright (C) 2014 The Syncthing Authors.
+// Copyright (C) 2014 The Pulse Authors.

I guess this is technically fine, since the list of actual authors is still in the AUTHORS file (noted as the Pulse authors), and GPL doesn’t explicitly mandate retaining copyright notices (unlike, for example, the MIT license). But I was a little surprised and there’s something about it that intuitively irks me. Do you guys feel this is an essential change to make? Combined with the README’s note below, this honestly doesn’t sit right with me.

Pulse is being developed and maintained (with love) by [Ind.ie](https://ind.ie)

(I’ll take that as a statement of intention, since it’s thus far just a merge-and-replace…)


There are a few inconsistencies in CONTRIBUTING.md.

## Reporting Bugs

Please file bugs in the [Gitlab Issue
Tracker](https://source.ind.ie/project/pulse/issues). Include at

This is not in fact possible.

## Contributing Translations

All translations are done via
[Transifex](https://www.transifex.com/projects/p/pulse/). If you

This doesn’t actually exist.

## Tags

All releases are tagged semver style as `vx.y.z`. Release tags are
signed by GPG key BCE524C7.

The releases are not in fact signed. :wink: And also not tagged in that manner.

I guess my point here is that you need to check the results for sanity and either still point to the relevant places (i.e. syncthing’s Transifex project), do your own thing, or remove the incorrect info.

1 Like

Hey Jakob,

Thanks for all the notes. I will let Aral discuss the Copyright lines and the Ind.ie maintained lines. As I am unsure how to proceed with those. As for the other parts I totally understand. All teething issues with our set up. I totally intend to start GPG signing next week, when I start properly. For the mean time I may remove the transifex statement. Until we decide how to go about translations. If we are going to change the GUI for ourselves quite heavily, we may want a Transifex set up for ind.ie. As for the issue tracker again I need to discuss this with Aral. I think we will be having a lot of discussions internally over the coming month as to our own development process. Maintaining a fork with such divergence is and will continue to prove challenging.

Cheers Jakob!

George

Jakob,

I’m sorry but I take offence at this.

I based our crowdfunding campaign around our agreement that Ind.ie would take stewardship of Syncthing and rebrand it as Pulse. ONE DAY into our crowdfunding campaign, you tell me that you want to go back on this. OK, so in the middle of a time when we should have been focussing all of our limited energy on the crowdfunding campaign, I stop everything, hire someone new, and get them to fork Syncthing (which you, yourself said was not a trivial issue when we were looking into rebranding). We manage to pull it off in a week in the middle of everything else.

And now this?

Seriously?

I’d love to see someone s/syncthing/pulse/ and get a fork up and running because I can tell you that’s not what was involved and you know this entirely.

So yes, we’re still in the middle of our crowdfunding campaign — trying to deal with the broadside as well as possible and I’m sorry if we haven’t also had the chance to implement any new features. We never intended to at this point because we never intended to have a fork. We’re four people trying to make a positive change in the world. Excuse me if we’re not working exactly as you might like us to. We’re trying to do our fucking best.

So, for goodness sake, cut us some slack.

Or let’s just call this off right now and go our separate ways because I do not appreciate these insinuations one bit.

I guess this is a part I don’t really get. What the brand is of a given piece of open source software is not really something I think should be the basis of a funding campaign. Especially when it was already created by other people, and the people already working on it (me, at least) was not going to be part of the funding–initially, or in the foreseeable future.

If not “owning” that piece of software screws up the campaign, it seems to me the campaign is perhaps founded on the wrong assumptions?

So I guess what I’m insinuating is that there’s a lack of credit given where credit is due. The README says Indie develops and maintains Pulse and the copyright notices says it’s copyright the Pulse authors – which is then obviously inferred to be Indie.

As to your argument of it being really hard to create a fork – well, it has been quite hard to create this piece of software too. The least you can do in return is not take away our credit for doing so.

I think the current setup reflects a lack of understanding for how the open source community operates. Focussing completely on a brand at the expense of retaining original copyright notices and not having a way for users to report issues is not a promising start, and not a way to make friends with the authors of the software.

3 Likes

The campaign is not based on owning a piece of software, it’s about creating a platform that can empower people to share the things that matter to them with the people they care about. Pulse is the low-level synchronisation engine at the heart of that. And we do need to control the core of the platform if we are going to control the end-user experience. We need to control the end-user experience if we are to stand a chance of creating a consumer product that can compete on UX. (See my talk on experience design for details.)

I believe that’s also explained clearly in the campaign video.

Here’s also a recording of a version of the talk you saw in Cologne — I, Simulation — which explains why we are doing what we’re doing. And a link to the Ind.ie Manifesto which goes into further detail.

I made it clear the day I contacted you how important Syncthing was to our vision and that’s why we set up the stewardship and rebranding in the first place. It was a while ago, in August, when I first contacted you with the following email:

I have this zany idea to build a new platform around syncthing. Have you heard of the ind.ie/phone project? (See https://ind.ie/phone).

We’re designing a phone that doesn’t spy on people. Peer-to-peer at its core. And, having played with syncthing for a while now, I am convinced we can build the platform around it. I love how hackable it is. In my tests, it just seems perfect. We can build chat on top of it, photo sharing, everything. And since we are building hardware + OS + services, we can integrate it at the core…

So, my initial question (after hello, how are you?) is does this sound interesting to you? It would be awesome to have your eventual support + involvement.

I’d love to run you through my thoughts in more detail soon if you have some time.

(If you want to see why we’re doing this, and have half an hour free, please see the RSA talk I gave recently called Free is a Lie: http://thelink.is/free-is-a-lie)

I look forward to hearing from you and I hope we can work together on this going forward — we have a chance to make not just any dent but a meaningful dent in the universe and I believe that your work is essential to that.

I’m sorry if I was ever not clear about the central importance of Syncthing/Pulse to what we’re building but I feel that I was whenever I spoke about it.

Again, this is odd because, as part of our agreement, you were going to be joining our advisory board. And, as you remember, I also wanted you to be part of Ind.ie and I even suggested that we could make that part of the crowdfunding (to fund your joining us) but we decided it would be problematic because you already have a full time job. I did tell you at the time that it would be my dream to have you working on this fulltime at Ind.ie.

From README.md (line 2):

It is an officially-sanctioned fork of Syncthing.

The about dialog:

  • From the post introducing the Pulse fork:

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.

(PS. That post says Munich, I checked and it was Cologne — I’ll fix that.)

I contained discosrv and a set of commonly used startup options (thanks to the advice of Jakob Borg).

So I really don’t see how we are taking any credit away here. Quite the opposite, I’ve tried my best to credit Syncthing and you specifically whenever I talk about Pulse and we, of course, kept all of the credit in the source code — only replacing Syncthing with Pulse as that is the name of the fork.

[quote=“calmh, post:4, topic:1456”] As to your argument of it being really hard to create a fork – well, it has been quite hard to create this piece of software too.[/quote]

Of course it has and you know better than anyone how much I respect that. I’ve told you countless times how much respect I have for your work and for what you’ve created here. I truly believe that your work here is as important for the indienet era as Wozniak’s was for the personal computing era.

Unfortunately, I think you’ve hit the nail on the head here. Not the lack of understanding bit, since I’ve been involved in open source for ages (I founded Open Source Flash in the bad old days and I’ve released [my share of open source projects] over the years10) but rather in that the way open source works today is broken for the purposes of tackling the societal problems we face.

This is not going to be popular here but the truth rarely is, so here goes :smile:

As long as open source remains the out-of-hours hobby of privileged white Western men (which is what it still is, for the most part), its wares will appeal only to a similar demographic of enthusiasts. This is not to say that great things haven’t and aren’t being created or that there’s no value in it. Quite the contrary. The Internet runs on open source and free software. Enthusiasts making tools for themselves usually end up making great tools for themselves and other enthusiasts. And there’s nothing wrong with that either.

But the problems we face today are ones faced by a diverse community of people who do not, for the most part, share our privilege. Those of us who can open up a Terminal window can, to some degree solve the privacy problem for ourselves today (while it might still be inconvenient and possibly even painful). What you’ve created here is an awesome tool in that arsenal and none of what I write here is meant to diminish that in any way.

Again, Syncthing is amazing and you’re one of the best developers I know.

Syncthing will no doubt continue to become an even more awesome tool for enthusiasts under your leadership. But it cannot magically morph into a consumer product and compete with other consumer products without focus on exactly the areas that you mention above as being unnecessary or superfluous. Eventually, if we want solutions that respect human rights to be able to compete, they must compete on convenience — and today, ultimately, that includes a seamless experience that combines hardware, software, and services.

So that’s where we differ in our approach. And this is fine.

You were also very clear from the beginning that Syncthing is your hobby and I get that. That’s not to say that either of our approaches is superior, simply that they are different — that we have different goals. And that’s ok.

These are issues I’ve been thinking about for a long time. I stated as much in my blog post introducing that I would start working on Ind.ie in July, 2013 (back then, ‘project prometheus’),

So, I do not misunderstand of how open source works but rather I understand that the way open source works today cannot solve the problems we have in the consumer space where our new everyday things are eroding our human rights.

That’s why Ind.ie cannot be an after-hours hobby or take part in the traditional open source development process. It’s an initiative that we work full time at (I say ‘work’ but I don’t mean it in the traditional sense of ‘for financial gain’ — I’ve only put in money so far and I will probably only be putting in money for a while yet). It’s a cause that we’ve devoted our lives to. That’s why it’s hugely important that we do not make the mistakes that open source and free software have been making in their attempts at breaking into the consumer space for the last however many years. That’s why we’re doing things differently. Not because we’re unaware of how open source or free software works but because we are painfully aware of it.

All this to say that it is probably best that these cultural differences come up now, at the beginning.

I see nothing wrong with Syncthing continuing as it always has with its development methodology and Pulse pursuing our own path. I said as much in my post introducing the fork.

Yes, we are doing things differently. No, it doesn’t mean that we don’t respect you (we respect you hugely). And no, we’re not trying to take credit for anything anyone else has done.

I think the best thing for Ind.ie to do right now is to concentrate on what we do best (making things) and let our actions speak rather than words. (Ironically, perhaps, after writing so many words.)

I would like us, as a first priority, to tackle interoperability between Syncthing and Pulse (which I believe you mentioned also means that we’ll tackle IPv6) as that should make the whole ecosystem stronger for the Block Exchange Protocol in general. I’m happy to have George make that his priority as he starts full time tomorrow but we will need your cooperation on this on the syncthing side. So, if you also feel that it’s worthwhile, let’s pursue this. If not, that’s all right but we’ll need to know as we cannot implement this on our end alone.

Regarding the licensing issue, please feel free to revert back to MIT and we will fork from there if you do.

And regarding credits, I will see what we can do to make it even clearer than it already is that Pulse is a fork of Syncthing.

(PS. thank you for pointing out the other rough edges. We will make sure that links, etc., are properly updated. Now that George is starting full time and with the initial rush out of the way, we have more capacity to look into the details.)

And, finally, regardless of the difference in approaches and processes, I do believe that we all want similar things and that we’re working on this because we care about making the world a better place. Having met you, Jakob, I know that’s true for you. If anything, having two different approaches tackling the same problem can only make the solutions stronger. So I hope that we will concentrate on that and not on the differences going forward.

Here’s to a stronger Syncthing and a stronger Pulse — because the two are not mutually exclusive.

1 Like

@GeorgeMac, @aral , maybe you want to go for this bounty? https://www.bountysource.com/issues/1474343-support-for-file-encryption-e-g-non-trusted-servers It’s on your roadmap and I remain convinced that contributung this key feature back to syncthing would go a long way in improving both projects and convincing naysayers and skeptics of your intentions and integrity.

As for @aral 's last post: Well said, balanced, not ad-hominem, combative on issues, not against people. I like the tone better than in the first reply - and hope that this will go some way to normalise communication. I appreciate the attempt to document how ind.ie has credited @calmh wherever possible. I also share the criticism of the current open source development model, though it is worth pointing out that about 50% of open source code is actually written by developers paid by businesses, corporations and commercial sponsors (http://www.techrepublic.com/article/for-50-percent-of-developers-open-source-is-a-9-to-5-job/ ). That said, the issues raised in terms of lack of accessibility, diversity and design-led usability iterations remains all too true. So, maybe we can leave the acrimony behind now all get back to improving these two important sibling projects? Time is certainly best spend improving them.

A pretty simple solution would be something like

Copyright (C) 2014 The Syncthing Authors and Pulse Authors.

in Pulse. And the same in syncthing once there are contributions from Pulse.

@aral I feel like you are overestimating how much users care about Readme files or comments (I’m sure most won’t ever see those lines).

And seeing as the contributors built syncthing entirely for free, the least you can do is give credit to them.

1 Like

Or just:

Copyright (C) 2014 The Syncthing Authors
Copyright (C) 2014 The Pulse Authors

Next year it will look like this

Copyright (C) 2014 The Syncthing Authors
Copyright (C) 2014-2015 The Pulse Authors

so this indicates it is a fork and everybody is happy.

1 Like

Yes. Add copyright when adding code. Don’t change the existing one.

Sure, that’s easy enough to do.

Thanks, @menelic. Appreciate your input. We’re going to be implementing encryption as it is central to our roadmap. I don’t feel comfortable with the idea of bounties as I feel they (a) create an expectation of immediacy and (b) feel like they would encourage short-term thinking. I’d rather we didn’t pick up the bounty but worked on this regardless (it is one of the first things we are looking at).

Fixed: As of yesterday, it is now possible to sign up for an account on our Gitlab and to report issues from that URL. Thanks for the heads up.

1 Like

Yeah, and that was mostly nitpicking from my side. Sorry about that.

This, on the other hand, is something you can fix as it ties in with what I was “complaining” about above. I mean, at this point there is no divergence at all - there’s a few GUI changes, and you’ve fixed one bug differently than I did. But you’re branding the source code, generating a huge diff, where you probably could be a little bit more selective in what you replace. For all our sakes. :smile:

1 Like

Definitely agree here, the copyright should have been added to rather than replaced. Now can we all kiss and make up and get back to work? Syncthing is in my mind going to be a revolutionary product and I hope to contribute once I’ve finished my current project in a couple of weeks.

Keep it up guys!

2 Likes