Hi folks!
I've been pondering our two tools, gettor and bridgedb, and realizing that conceptually they overlap in a bunch of ways. Does that mean, while Cecylia is exploring getting gettor back on its feet, we should make them overlap more in a technical sense too?
Some initial thoughts:
+ Having fewer tools to maintain is an obvious win, in terms of fewer moving pieces, fewer things to explain to people, less mental energy.
+ Broadly speaking, they are both tools that want to support a variety of low bandwidth "access methods" for reaching them, and they use these access methods to tell users about "resources".
- They have different threat models in terms of how they want to protect the resources they give out, which makes them have different preferences about which access methods will work best.
+ But they both have a notion of "these resources aren't suitable for giving to people in this location", that is, they both want to learn something about *where* the user will be trying to apply the resource, and they both want to pull in some external "constraints" data set.
+ And being able to reuse (share) access methods could still be a win. For example, if Gettor learns how to answer people over Telegram, then it becomes much easier for BridgeDB to experiment with answering people over Telegram.
+ The monitoring tools ("is it working, am I getting answers, are the resources it gives me appropriate") overlap a lot between the two.
- They have different text they want to use when interacting with users, and maybe different ways of handling errors. So those differences won't go away.
= There are external tasks that gettor wants to do, such as pushing Tor Browser to the various websites that make up the resources we return. But just as BridgeDB is growing external modules like Wolpertinger, it's reasonable that GetTor could have external modules that publish/mirror our packages to various sites.
? Is there a third thing that Tor wants to do, of the form "use this access method to give people this resource"? Generalizing from three would be even better than generalizing from two.
Please use this initial brainstorming as a starting point and take this thread wherever it should best go. For example, maybe they should be two different front-ends and as much functionality as possible would be merged into a library that they both use. Or maybe gettor is essentially a smaller "lift" so it should become a module of what bridgedb does. Several options here.
--Roger