Loomio
Sun 24 Nov 2013

Tent Protocol Integration

CK
Corey Kimball Public Seen by 163

I was reminded of a great protocol by the guys over at Tent technologies; if you go to tent.io, you can check out more of what their tool does, exactly. I'm a fan of it. But I am curious to why the Diaspora community hasn't exactly embraced such technology.

CK

BK

Brad Koehn Sun 24 Nov 2013

Because Tent is new and incomplete, and because D* started a long time before Tent existed. Tent is a work in progress, not a tool upon which a working platform can be built. Most of the pages on tent.io don't even have content in them yet.

This is no judgement about Tent as a protocol; it's just that whatever it may be in the future it's not a usable thing just yet.

Philosophically Tent is off to one side of the whole federated social network thing: each Tent node is essentially it's own pod of exactly one user. In practical terms there are some drawbacks to that design, one of which people cannot find each other to share content without some kind of central shared directory (in the case of D* that's a pod). The pod serves a nice role in that it can be somewhat curated and is typically run by somebody interested in the project.

Individual D* pods are usually pretty lonely places; they need lots of users with shared connections between pods before they start to really hum. With something like Tent every user is their own pod: they don't see tagged messages from anyone else, they have no good way to find anyone else. There are proposals to try to solve this problem but they're not implemented yet.

G

goob Sun 24 Nov 2013

There’s already a discussion about this: https://www.loomio.org/discussions/1522

Basically, Tent is (a) a work-in-progress, (b) closed-source and (c) only one among many protocols for distributed networking, none of which has yet come to the fore as a potential standard.

The decision on that discussion was to liaise with the people who are behind the various other protocols to see if one can be suitable for D*, and also become a standard that other networks would use. If this were to happen, it might make sense for Diaspora to adopt that protocol, so that D* could communicate with other distributed social networks. Until that happens - one protocol becomes developed to the point of be fully featured, and starts to be adopted as a standard - it doesn't make sense to adopt one particular protocol.

AL

Adam Lake Thu 12 Dec 2013

What about Diaspora built on top of Red Matrix(similar to tent and the next phase of friendica, ? http://redmatrix.me/

Maybe Red Matrix is further along than Tent. Any thoughts?

SM

Seth Martin Thu 12 Dec 2013

I wouldn't compare the Red Matrix to Tent or even a social network although the features that make it usable for social networking are complete. The Zot protocol for the Red Matrix is complete and I think it would be awesome if diaspora* got Zot.

who's sick of different usernames and passwords for every site? Decentralized single sign on built in. Diaspora would need completely rewritten though.

DU

[deactivated account] Thu 2 Jan 2014

So if this discussion exists already can it be merged or closed? https://www.loomio.org/discussions/1522

ST

Sean Tilley Mon 6 Jan 2014

@Goob I'm pretty sure Tent isn't closed source...

G

goob Wed 8 Jan 2014

I remember someone pointing out during the original discussion that it wasn't entirely open (can't find that reference now, though).

If you look at https://tent.io/contribute , it says 'Tent has many open source components', which suggests it is not entirely open. It may be that the protocol which would be used with Diaspora is open, but it's clearly not an entirely open-source project, which is something that would have to be investigated and discussed before getting involved with them.

ST

Sean Tilley Wed 22 Jan 2014

Perhaps @danielsiders or @jonathanrudenberg can clarify?

DS

Daniel Siders Wed 22 Jan 2014

One of the architects of Tent (and a big fan, early backer, and friend of Diaspora) here.

In any discussion about Tent and Diaspora it's important to note that they're very different things. Tent is just a protocol, while Diaspora is both a protocol and a specific piece of software. Anyone can write a Tent server in the language of their choice from scratch and it will be 100% compatible with every other Tent server out of the box (like email and the web).

As far as intellectual property protection goes, there are three things in play:

  • the Tent trademark (like Wifi https://en.wikipedia.org/wiki/Wi-Fi_Alliance) which we do enforce to make sure everyone plays fair like letting users change hosting providers, etc. Since we're a protocol this is the only mechanism we have to enforce compliance. Anyone is free to take our work (software and protocol spec) and change it, but if they don't follow the spec, they can't call it Tent™.

  • The Tent specification: This is literally just the document that describes the way Tent servers and apps talk to each other. We use the same copyright notice that's on the HTTP spec (and most IETF docs). Basically says please translate and share, but we're in charge of the canonical version.

  • Finally there's the software that powers Tent. Again, Tent is a protocol so there's no "official" Tent software. Tent is made up of both apps and servers. We produce reference implementation of both (https://github.com/tent and https://github.com/cupcake) and most of the software we product is MIT or BSD licensed. Many other developers have written Tent apps of their own, some of which are open, many are closed source, and of course they retain their own copyrights.

So as far as IP goes, we're as open as can be.

In terms of Tent's current state, it's definitely alpha/beta with no guarantees of API stability yet. We expect to reach a 1.0 release sometime in 2014. Our goal has always been to guarantee long term (~5-10 years) of API stability starting with the 1.0 release. To do that we need to be able to break some of the API regularly during development. That said, the core team maintains libraries in several languages (Ruby, Go, JavaScript) so apps built using those and other community supported libraries don't have to worry too much about protocol API changes.

We've always hoped long term that Tent could unite many of the open source, distributed social web projects, including and especially Diaspora, which is particularly close to our hearts (without Diaspora there probably wouldn't be a Tent). We've talked with both Maxwell and Sean at length over the past couple years looking for the best way to do this. In Tent terms, everything is either an app or a server. It would be fairly simple to turn the Diaspora UI into a Tent app (and we'll do a port in the future if the D* community doesn't on their own). It's also very easy to build an importer for old D* user data thanks to D*'s data portability/export and Tent's data model. The only question then is servers.

The Tent core team also runs Cupcake (https://cupcake.io), a freemium Tent hosting service. We'd be happy to accommodate the entire D* community there. Of course part of what makes D* (and Tent) great is decentralization. Historically the Tent reference server was single-user. With our upcoming 0.4 release we'll be releasing a version of the scalable multi-tenant server we use at Cupcake as open source. That server software could easily power the entire Diaspora community, but also makes it easy to host a Tent server for many users, so it would be easy for pod admins to switch out. We would of course be delighted to support the D* community in making that move if that's a decision you arrive at in the future.

In the meantime we're always available to answer any questions you have about Tent and have always considered ourselves part of the Diaspora extended family. (We take community outreach pretty seriously and have office hours monthly, recordings of past events are here https://tent.io/officehours. We'd be very happy to answer and Diaspora-specific questions about Tent in next week's broadcast, just shoot us an email contact@tent.io)

MS

Mike Simoens Sat 25 Oct 2014

Bump