GithubHelp home page GithubHelp logo

openhospitalitynetwork / openhospitality.network Goto Github PK

View Code? Open in Web Editor NEW
21.0 2.0 4.0 721 KB

Website, community issues tracker and wiki

Home Page: https://openHospitality.network

License: GNU Affero General Public License v3.0

HTML 38.02% Ruby 3.83% SCSS 58.15%
fediverse hospitality-exchange

openhospitality.network's Introduction

Open Hospitality Network

We are designing a protocol to connect different hospitality exchange platforms to unify the community while enabling greater diversity and long term sustainability of all together.

Hospitality exchange platforms help to connect travellers with those who want to host them. They help to meet like-minded people and build lifelong friendships, crossing many boundaries. We want them to help to build resilient communities everlasting boards of directors and finally, those exchange platforms.

We’d like to take community-first approach, followed by technology. Though it’s also very infrastructure heavy piece, so technically, we’re trying to federate different already existing hospitality exchange platforms to make it easy for new ones to emerge and evolve to keep serving their communities' needs - not the other way around. We'd like new communities to freely form, grow and re-form and for that we need new generation of software, flexible enough to be able to follow them.

We envision a variety of platforms exist, built around specific communities' characteristics: for the bicycle touring community and for slow-travellers, in English and non-English languages, for women and lgbtq people only, gathering together families or even vegan families only, if they chose to enclose themselves in a community of their own. Some organized around democratic values and others with a strong leadership model. While all the platforms are independent and individual, they share common goal to connect travelers and hosts, and communicate with each other to better serve their communities.

Come, help us!

Hospitality is a universal human phenomenon, practiced long before any software infrastructure existed. We can't imagine an endeavor like this to fulfill its goals if it was not built on trust and transparency, to reflect values which drive people to open doors to their homes and welcome strangers traveling the world. Open and transparent for everyone and forever. For us, this means i.a. open governance, open source software and open finances.


Table of Contents

Check also:


Why are we doing this?

  • We aim to solve the issue of centralized boards ending up with too much power and locking their own communities in a platform the members cannot influence or move away from without:
    • excluding themselves from the community - right now, although a single user can relatively easily move from one platform to another, they can not do it [travelers] without losing access to the hosts on that platform and [hosts] while remaining discoverable for travelers who haven't moved (yet) - so the community, as a whole, is trapped,
    • loosing history - 1. trust, often relying on reputation built over many experiances of interactions with a person, is crucial for participation in reciprocal hospitality exchange. 2. connections and memories are invaluable!
  • We hope to grow network of (active!) hosts reachable from any platform…
  • … and flexibility to choose who, when and where we’d like to host
  • We hope to increase diversity of platforms so that everyone can choose what fits them best
  • We hope to increase security and be more inclusive, and welcome new members from under-represented groups
  • We hope to take off from existing platforms a burden of trying to fulfill needs of all without having a clear identity
  • We hope to reduce the burden on developers maintaining the platforms to keep up-to-date in ever-changing technology landscape

Learn more what exactly would change


Who's involved?

In the project are involved contributors to the platforms:

  • WarmShowers.org: Former contributors to the community-built Android app. For years (since 2012), it was an official WS app, and the community has grown with it. The new board (first formed in 2015) closed the backend code (circa 2017), released a new paid app (2020), and cut off access for the old app. This change effectively excluded members who accessed the platform exclusively from mobile devices and those for whom the fee for the new app was unaffordable (including long-distance bike tourers and hosts from countries with less developed infrastructure). Other members and the developers who objected to the change were censored or had their accounts deleted.
  • sleepy.bike: A new decentralised app for bicycle touring travellers and those who want to host them, created as part of the OHN project.
  • Trustroots.org present and former volunteers
  • BeWelcome.org
  • CouchSurfing.org community builders and members, before their community was locked behind paywall
  • DirtyRoad.org

Potentially also:


Help wanted!

We are a group of developers, frontend and backend software engineers, so if you'd like to help with social media for example, you are more than welcome! Please join our chat room to say hi! and ask how you could help.

If you are a developer, join our chat room or just pick up an issue and start working on it. This project uses C4 (Collective Code Construction Contract) process for contributions.

Right now, we are creating a new space for bicycle touring community at sleepy.bike. Please register to re-build this community in the new place! From there, we'll work to extract a protocol/library that can be reused by other hospitality exchange communities to connect in the greater Open Hospitality Network.

Give us feedback, vote for features or ask questions on the board, it's very helpful too!


openhospitality.network's People

Contributors

aschrijver avatar mariha avatar mrkvon avatar weex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

openhospitality.network's Issues

Problem: The logo is not protected from being abused

From an email from NLNet:

I don't know if it is up to you, but I'm not sure you should put the logo under a Creative Commons Zero license though, that means you cannot regulate its abuse. E.g. if you become successful, closed competitors can theoretically put up the logo on their site to confuse users - without actually running the service.

I've seen marketing people relabel cable internet with Docsis into ADSL, because 'that is what users think is more reliable'. Corporate marketing is not averse to lying and mimicry, and you want a stick to wield against the worst excesses.

We have some legal support that can help out with these kinds of things, BTW

Replace GoogleAnalytics with some alternative

Google Analytics is a big Red Flag in alt-tech projects for some hardcore alt-tech-geeks. It's easy drop-in to use, and others need research and maybe self-hosting.

  • See Awesome Humane Tech for alternatives.
  • Consider no analytics than big tech analytics
    (remove from Jekyll template on default.html and _config.yml)

Add more topics to the project for findability

I would look to add more topics to the project in order to increase its findability. This really works to attract people to the project. Note that it might be best to do it after the renaming is done (I don't know if stale indexes may be an issue otherwise).

Some that I can think of now:

  • activitypub
  • decentralized
  • self-hosting
  • social-media
  • social
  • hospitality
  • travel
  • traveling
  • travellers
  • hospex
  • community
  • sharing
  • vacation
  • friends

And also (to elicit PR's in October):

  • hacktoberfest

Terminology: Traveller vs. Traveler

Traveller, travelling and traveler, traveling are all correct use of language. The first variant is UK / international and the second is US-flavored apparently. There's a good explanation on the distinction at Grammarly's Traveling or Travelling? blog post.

The terminology we choose might be used in any or all of these locations:

  • Communication, documentation
  • Domain models & designs
  • Code, UI's and tests

Imho, it is important to make a choice and settle on one preferred spelling, both for consistency and to avoid confusion and even bugs.

Guide for new communities to start

  • Choice between self-hosting and managed hosting
  • Best practices/example for governance
  • Supporting tools

So that a new community can start as smoothly as possible.

  • for existing communities moving to the platform
  • for organizers who are just starting to build a community

How can I get involved?

Haven't gotten onto matrix yet, will do that. I see weekly meetings but only twice back in July. Still happening?

Background, I'm one of the founders of trustroots, and federation was always part of my vision for the platform, something that I'm now even more focused on. We always envisioned Trustroots as just a launchpad to get all kinds of other cool stuff out into the wild, but unfortunately our dreams were a bit unrealised, growth was slow, and so after a couple of years I stepped down from the board. But I'm super committed to federated and decentralised social tech as a core concept, and focusing most of my development time on that currently.

So, all that said, I'd love to find a way to connect with you folks and see if I can contribute. It's super inspiring to see you folks working on this. 🧡

An alternative landing page text

Sorry if I'm a bit late in looking in detail at the site landing page! My general impression was the text was too long, and did not provide the gist at the top in a well-structured manner. Plus too technical, too quick. I don't know if my draft below is any better, but I didn't want to provide this feedback without showing at least some idea of a different setup.

Also, forgive me again, I took freedom to introduce a new name after the vote was closed. The domain is free too. The extension according to wikipedia is for "Camping/RV sites, travel writers & bloggers, outdoor adventure companies, summer camps for kids, hotels, hostels, lodges, bed & breakfast lodging", so most appropriate. Wrt commercial products its our camp against theirs, was the idea. While I like 'Fairtravellers' (voted for it) the name 'TakeABreak' to me is entirely non-descriptive, plus I associate with "Take a break, take a KitKat" advertisement slogan (even though it starts with "Have a break..").


Hospitality Camp

We keep online hospitality exchange open and social.

Showing kindness to guests and giving strangers a warm welcome, hospitality has always been part of human nature. Wonderful people who share with others, and exchange life's stories and adventures. The internet age allowed hosts and travellers from all around the world to find each other more easily, and spontaneous communities emerged online. Nowadays many hospitality exchange platforms exist where people can plan their travels.

However there is a problem that threatens the open hospitality culture. There's money to be earned from hospitality and commercial incentives have warped the values and ideals of some popular hospitality platforms. A trend of platform monetization exists, that is not in the interest of the communities that embraced these platforms. It is time to make a stand against the companies involved in this development, hence we find ourselves in the opposite camp: Our main objective is to break this commercial trend.

Join our camp

Hospitality camp exists to turn the tide again, to keep online hospitality exchange open and social. We want to unify hospitality exchange communities into one big movement full-of-variety to ensure everlasting community and a vibrant culture. Open and transparent for everyone and forever. We envision a variety of platforms to exist, united in diversity, where each of them is built around their own unique characteristics. You are most welcome to join and participate. We need your help!

What we do

We’d like new communities to freely form, grow and evolve to keep serving their communities’ needs. Our primary focus is to learn from each other, to collaborate intricately and strenghten our common path. Our main goals are:

  • To unify people and take safe, diverse and social community interaction to new levels.
  • To decentralize our platforms, ensuring freedom of choice and democratic control.
  • To integrate our services, so that guests and hosts are reachable from any platform.
  • To explore best-practices for open governance, open-source software and open finances.

We have great plans for the future. Learn more about our roadmap, and find where you fit in. Come sit at our campfire!

Who's involved

Currently our camp includes contributors to the following platforms:

  • WarmShowers.bike: An open alternative to WarmShowers.org, a platform for cyclists.
  • Trustroots.org: Travellers' community, sharing, hosting and getting people together.
  • WelcomeToMyGarden.org: Citizens offering free camping spots in their gardens to slow travellers.
  • BeWelcome.org: Share a place to stay, connect with travellers, meet up and find accommodation on your journey.
  • CouchSurfing.org: Stay with locals and meet travelers, share authentic travel experiences.

Potentially candidates also include:

When can we welcome you into our midst?

Help wanted

In our cozy camp there are technologists and other people from our communities that are passionate to discover the many opportunities of hospitality exchange still unexplored. Some of us are developers and software engineers that are currently involved in open hospitality projects, while others are advisors and designers offering a helping hand. We are looking for experience and expertise from anywhere, and all of you can help.

We invite you to contribute or just to camp with us, to keep yourself informed. Provide your feedback, vote for features, brainstorm and ask questions on our Trello board. Come join us in our chatroom and let's meet. Or just pick an issue from our tracker and begin to work on it. Our contributor guidelines make it easy for you to start.

Rename this repo

One step back: why separate repo?

Our project is more then fedi-trustroots, we need to separate organization-wide issues (other federation ideas and process related). Once we white-label trustroots codebase (fairtravellers), we may abstract an open hospitality exchange protocol so that other communities can join, we may change backend or start as a plugin to go-fed, frendica, bonfire or other ActivityPub based app.

What name?

  • website?
    It's more ten the website, it's bucket for project (gh organization) -wide issues, website, federation and process related. They are available to public via this website though.
  • website + separate place (repo?) for [meta], open organization and project-wide (federation) stuff?
    GH in general is not good for non-linear exploration nor for non-technical people for whom there is overwhelming amount of distracting and irrelevant stuff in the gui all over around
    Discourse would be better then GH issues/discussions, we also have trello.
  • openHospitality.network ?
  • docs? process? organization-wide?

todo:

  • rename in project settings
  • trello links
  • anywhere else? (in general I used rather link to the organization not the project itself)

Problem: demo.openhospitality.network is running on a personal account

I set this up on my personal Digital Ocean account but wanted to transfer it to a better team setup.

I created a Team in DO and added @mariha to that team. A snapshot was created from the original droplet which has been restored to a new droplet in region AMS3. That droplet and web application is now up and running at 68.183.12.199. The last step to transition is to switch DNS to point to this IP and turn off my personal droplet.

Add docs section

Currently there is no place to put static contents like the one we have in Q&A column in our trello board. Meta section about what is important to us and how we work, values, open collaboration, open governance, exit strategy, why contribute and candidates to federate. Everything that may be relevant and interesting for an external visitor of the project.

To be accompanied with technical wiki in the repo dedicated for devs and technical documentation.

  • clean and minimalistic
  • easy commenting
  • easy editing and suggesting changes (for typos etc)

Kind of like:

  • Google docs (with editor, suggester, commenter, viewer modes) (suggestions integrated visually, over time could be accepted)
  • Wikipedia
  • Trello cards (core team: adding cards and editing, others: viewing and commenting)

Potentially: Just-the-Docs jekyll theme or Gitbook.

Federated search

A tricky topic is federated search (of hosting offers). I had a little dig around, and can imagine three general approaches:

  • seperate external search indexes (in practise, semi-centralized), e.g. peertube --> https://search.joinpeertube.org/
  • index offers from federating instances in each instances local database (could be tricky with large numbers of instances/offers) (I think this might be how hashtag searching on mastodon works?)
  • federate search queries across instances (with special search endpoint, currently not part of activitypub?) https://inventaire.io/ is considering this approach

Possibly/partly related links:

Better page layout

There are number of issues with the current page layout:

  • the left side bar - navigation does not scroll so it is cut on smaller screens and there is no place for more menu options
  • Open Collective link overlaps with the navigation - #37
  • no place for docs or blog subsections - #44
  • no icons for social media
  • no [edit] text or button to make it inviting to propose fixes

See also #12 and #14 for proposition of content changes. Should be improved separately.

Add a license

This repo needs a licens, both for the site code and for the content, or it'll be proprietary.

In my Fedi Foundation site I use AGPL for code and CC0 for content. (This site facilitates that guest authors override the license and choose either CC BY-SA or CC BY-NC-SA for their own articles).

Move WelcomeToMyGarden to fedi-Trustroots backend

WelcomeToMyGarden.org now runs on Firebase which is expensive and does not scale well.

They planned to rewrite their backend to nest.js it's a lot of work though and they don't have that committed or
experienced dev team.

Here we try to answer why they might consider this and evaluate how much work would it be.

Why beneficial for WTMG?

Why beneficial for fediHospEx?

What would it take to switch the backends?

Mariha feels trapped

The problem is not in the project but part of the solution could potentially be.

(like I was in a cage, where everything is being provided to me: food, shelter, entertainment... but deep inside I feel very trapped. That dependance makes me feel very unsafe)

Potential solution - recover my sense of independence:

  • finalize NLNet Memorandum of Understanding, maybe with different rates...
  • make progress with features (JavaScript/TypeScript)
  • and other things, outside of the project

Managed-hosting option for the communities

Right now there are a few platforms, most of them without clear identity, competing with each other for users.

Would be great to have bigger diversity of platforms with their own specific identity developed. Shared access to wide base of hosts and travellers would relieve the burden on platforms to fulfill all needs, and they would not fear of missing out since other needs would be covered by other platforms.

One could then imagine platforms in other languages than English or dedicated to certain life choices (think of ecology or veganism).

Contributors to the project don't know how to contribute

Obviously we need contributors guidelines that would answer most questions that a new comer to the project may have.

We plan to use ZeroMQ C4 process as a starting point.

For more info, refer to How to structure collaboration on the project? trello card until we move the card to github.
There happened to be also this discussion https://github.com/FediHospEx/fedihospex.github.io/discussions/10

  • create contributor's guidelines
  • point to C4 as for what?
  • clarify how?
  • include DoD
  • what about contributors guidelines from trustroots? don't confuse people

How: state issues in github as problems, PRs are potential solutions.

Current project description does not gives good overview of the project

Edit this issue to add anything.

For who is this page?

  • general audience looking for an overview of the project
  • potential future contributors to the project
  • us, the team behind, as a central point of reference and navigation to sub-domains.
  • ...

What do we don't like about it?

  • it is too long
  • it may go too deep into technical details
  • it does not reads smoothly, especially for non-techies
  • would be nice to have a one-liner that summarizes what this project is about (mission statement)
  • ...

What do we like about it?

  • it's layout and color scheme is clean and simple
  • it gives a sense that this is a technical project, what we are doing here
  • ...

Problem: Trustroots might not be the best platform to federate

Trustroots is where many users currently are and works well as a standalone service but there are challenges in adding federation while keeping the codebase upstream compatible. Another codebase with existing federation and instancing may be easier to modify with the changes specific to open hospitality.

Fediverse roadmap - what is going to change?

This is a container issue which aggregates all federated features in one place. It reflects my best effort (very imperfect!) to match single actionable steps with the outcome they are expected to contribute to most.

Here are the changes that we anticipate and how they map to specific GH issues:

Each item has a rough effort/complexity estimate: (XS) - S - M - L - (XL). The estimate represents my perception of them not an objective measure. With bigger complexity comes greater uncertainty.

  1. from communities locked in silos platforms with self-selected boards not representing communities values any more
    to freedom to be on a platform of their choice, with variety of platforms existing, variety of governance, variety of communities to be part of all participating in wider network of hosts and travelers

  2. from few platforms without clear identity each, competing with each other for users
    to the bigger diversity of platforms with their own specific identity developed. Shared access to wide base of hosts and travelers would relieve the burden on platforms to fulfill all needs, and they would not fear of missing out since other needs would be covered by other platforms. One could then imagine platforms in other languages than English or dedicated to certain life choices (think of ecology or veganism)

    • #23 (to enable self-hosting) (S)
    • Easy operations and maintenance of a running instance (good observability, logging, reliability and upgrades) (M)
    • #24 (M)
    • copyleft license (AGPL), to promote sharing - see OpenHospitalityNetwork/fedi-trustroots#18 (XS)
  3. from users jumping between multiple accounts, one for each platform
    to single account and one search to query all platforms and find the closest hosts among all of them

  4. from users from underrepresented groups (non-english speakers, women, lgbtq, …) hesitating to participate because of feeling of exclusiveness or fear of unsafe interactions
    to the community, where everyone feels welcome, can find their place and group where they belong to, feel safe and can fully express themselves. Full diversity of members from all sort of backgrounds and groups equally represented in the community.

    • incubate new communities (guidelines, best practices/example for governance, supporting tools) (S)
    • reach out to other communities, onboard and embrace their diverse feedback (M-L)
    • modular architecture with addons/plugins for an instance setup (L)
    • abstract protocol, welcome new platforms in the network (M)
  5. from devs-maintainers competing with time to keep up to date with ever changing technologies, tired with maintaining outdated platforms,
    to new platforms emerging every now and then with fresh ideas, energy and tech stacks. This can be achieved by making it easy for new platforms to start based on already existing ones and evolve them freely.

    • contributors' community with inclusive dev process - C4 (ongoing process, but let's say M for instigation)
    • strong devops practices, smooth flow with good ci/cd pipeline (S), executable specification (S), etc.
    • modular/micro-service architecture - good decomposition and encapsulation to decrease complexity inside a module, separate processes (services) to be inclusive to contributors with skills from different tech stacks, yet deployed on one machine for operations simplicity (M)
  6. from platforms keeping hosts forever despite them being inactive and unresponsive
    to only committed hosts participating in the network on their own rules and preferences.

    • user has a choice which instances to federate with (to be visible to? discoverability of instances?, whitelisted and blacklisted? instances) (S-L)

  1. from users exchanging direct messages
    to indirect hosting requests

    I travel and publish: Who can host me?
    Everyone in the network can see it and someone answers: come over to my home, we’ll be waiting this evening for you.

    • the request includes everything needed to determine for who it is relevant: (a) expected location and radius (b) current location, direction and speed (c) …
    • single platform OpenHospitalityNetwork/fedi-trustroots#30 (L)
    • federated (L-XL)

Fediverse - add ActivityPub support

[Draft]

Useful resources

From the guide above:

How can I add ActivityPub support to my existing software project?

What that’s looked like for projects that have already done it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.