IF_MS_BUYS_GITHUB_IMMA_OUT icon indicating copy to clipboard operation
IF_MS_BUYS_GITHUB_IMMA_OUT copied to clipboard

project - build a new Hub

Open ghost opened this issue 6 years ago • 48 comments

The new hub is an independent project developed by an community, for a community. It will be a decentralized network of self hosted servers that store the data across the network. Each server will grant access to the global API for third party services like deployment platforms.

ghost avatar Jun 04 '18 15:06 ghost

I believe there are a number of existing projects that do that. Can you research and catalog them?

vassudanagunta avatar Jun 04 '18 16:06 vassudanagunta

If there would be a really good alternative we would probably know. But I can search for some.

I believe there are a number of existing projects that do that. Can you research and catalog them?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/upend/IF_MS_BUYS_GITHUB_IMMA_OUT/issues/25#issuecomment-394416861, or mute the thread https://github.com/notifications/unsubscribe-auth/AiJ_c_B_ncTskak8_UdUJDhY4m6reQBWks5t5WAwgaJpZM4UZW1O .

0x1daniel avatar Jun 04 '18 16:06 0x1daniel

I would be willing to contribute as long as it'll be a decentralized platform/network which is possible.

I'd suggest the next would be come up with a list of technology we should use for the new git "platform"?

marcus-sa avatar Jun 04 '18 19:06 marcus-sa

@marcus-sa some people want a centralized platform, and some people are like you. Rather than get into a heated religious war, how about you write or help write up the distributed option, both the pros and cons, the real world options that exist or that we'd have to build, being honest rather than trying to beat out the centralized/GitLab folks. I'l ask the same of them.

In the end maybe we publish both, or maybe we pick one as the "more recommended".

vassudanagunta avatar Jun 04 '18 20:06 vassudanagunta

We can find a method for share hosting costs: Example ideas:

  • Calculating user's hosting cost and invoicing unless the cost will be bigger than 1$
  • Decentralize hosting. Using serverless. Like spotify.
  • Donation on open collective
  • The super idea: Make a feature: Allow users to donate to open source software and get commission for hosting costs. Software is basic for us. We can develop gags, and we can make it's features more social. It's already ready and stable.

mehmetaydogduu avatar Jun 04 '18 20:06 mehmetaydogduu

Maybe we can use blockchain to integrate with the new distributed hub, similar to getting a certain token for the server, and the user pays by paying the token. Just an idea.

duncup avatar Jun 05 '18 02:06 duncup

@oltdaniel I'm not an expert in this area... Ideally a team of such experts or willing-to-become-experts forms to figure this out. If we can come up with a list of priority tasks for the group, I can post them on the README to attract help. I've sleep 10-13 hours since Friday morning (none last night).

vassudanagunta avatar Jun 05 '18 03:06 vassudanagunta

As @duncup mentioned, using a blockchain would be a great idea. What I had in mind would be using https://ipfs.io with https://filecoin.io and something along the lines of https://www.bigchaindb.com

But anyhow this discussion fits better in https://github.com/upend/IF_MS_BUYS_GITHUB_IMMA_OUT/issues/44

marcus-sa avatar Jun 05 '18 07:06 marcus-sa

Whilst I like the idea of decentralisation it unfortunately brings a ton of added complexity.

I don't see centralised being a problem if it's foundation based for example; the Mozilla Foundation or the Wikimedia Foundation. Easier for everyone to get on board that way.

That's my 2 cents anyway 😅

Salakar avatar Jun 05 '18 07:06 Salakar

@Salakar Join the Slack Group to help starting a discussion

0x1daniel avatar Jun 05 '18 10:06 0x1daniel

https://zeronet.io/ can help. Helps to decentralize web apps. FOSS.

Also, I'm really excited about a decentralized GitHub. But not an expert on web applications. Would like to help though.

0xferit avatar Jun 05 '18 14:06 0xferit

@ferittuncer nice suggestion, but unfortunately ZeroNet wouldn't be the greatest approach for this, since it requires an application and an underlying network through Tor.

That .bit TLD looks cool tho

marcus-sa avatar Jun 05 '18 14:06 marcus-sa

While it does require an application, it does not require Tor. Furthermore, everything needed is bundled up into a zip (including python) or an exe for Windows, or you can use an installer I created for ZeroNet.

krixano avatar Jun 05 '18 17:06 krixano

For those who don't have Slack, see this issue to discuss the various existing alternatives.

Serphentas avatar Jun 05 '18 18:06 Serphentas

Let's see what will happen. GitHub is and will be unbeaten for years.

0x1daniel avatar Jun 05 '18 20:06 0x1daniel

https://gitgud.io/users/sign_in is a hosted GitLab instance.

RyanGannon avatar Jun 05 '18 21:06 RyanGannon

Please see #72 @marcus-sa

We found a decentralized platform for hosting Git repositories, working already.

0xferit avatar Jun 05 '18 21:06 0xferit

@oltdaniel what happened to the Slack server and Docs document?

marcus-sa avatar Jun 06 '18 06:06 marcus-sa

@marcus-sa Let us see what will happen to GitHub

0x1daniel avatar Jun 06 '18 06:06 0x1daniel

@marcus-sa It's still up and running. Is it down for you ?

Serphentas avatar Jun 06 '18 07:06 Serphentas

@Serphentas it's nowhere to be found and for me it says the workspace has been deleted.

marcus-sa avatar Jun 06 '18 09:06 marcus-sa

The GitHub alternatives is up, but indeed the Slack shortlink is dead. Perhaps someone can provide a direct link to the board.

Serphentas avatar Jun 06 '18 11:06 Serphentas

@Serphentas Don't know who manages the spreadsheet, but I can give the information for GitCenter. Hope this helps!

Repo hosting - Yes Public repositories - Yes? This means repositories that can be seen in public right? Because Bitbucket also has this feature, I think, but it's marked as not having it. PR / Code reviewing - Yes Issues / Project management - Yes Collaboration / Teams - Must use forks and PR's for this (due to certain limitations that will be worked on in the future) Community / Social network - Not yet. No social features aside from issues and comments (and a way to see issues in a newsfeed thing listed on what is basically ZeroNet's homepage within the network). Documentation - Not yet. No wiki, etc. Open source - Yes. Source code hosted on GitHub, GitLab, and GitCenter itself. Also, all zite's (websites on ZeroNet) are pretty much open source because you are downloading all of the code of the zite. Decentralized ownership - Yes Extensibility API - Kinda. ZeroNet sites that act as alternative interfaces can utilize the same repositories, and other ZeroNet sites can easily look at and interact with the information of the repositories (with client's permission). Federation - No Mattermost/Matrix/Riot integration - No Available online instance - ?? Self-hosting (own premises) - Yes, in the sense of you are one peer out of potentially many. CI/CD - Not yet. Project website hosting - Not yet. Free of charge - Yes Development done by the community - Yes Scalable - Yes EDIT: High availability - In the sense of you must download ZeroNet to see repos (unless you use a ZeroNet proxy), then not really. In the sense of percent of time it's accessible within ZeroNet, then pretty high (as long as there's one peer).

Regarding a few misconceptions:

  • You do not need peers all of the time in order to use a repo, because they are downloaded. You only need at least one peer at the same time you are also on in order to get updates for the repo, but you can still use the repo if you are offline, it just may not be the latest until you go back online.
  • You are not required to host/seed all repos/ZeroNet sites (unlike one other decentralized internet project, I think Freenet?). You only host/seed what you want to host/seed.
  • Having more peers reduces the amount that you are uploading to other people (outgoing bandwidth) because other peers can also upload pieces to people.
  • There are ZeroNet proxies that allow you to view ZeroNet websites (zites) without having to download a client, just not many of them currently.
  • Tor is not required to use the network.

krixano avatar Jun 06 '18 14:06 krixano

Thanks for listing those @krixano

I think high availability stands for percent of time the service is available. So as it is peer-to-peer I would say it is highly available because it won't be down ever as long as one peer exists.

0xferit avatar Jun 06 '18 15:06 0xferit

@krixano I manage this spreadsheet. If you want write access, feel free to ask. I'll try to put some of your points over there (don't have much free time these days).

@ferittuncer Having >1 peer online at any time surely guarantees that the whole service stays up, but does every one host have the ability to host all the content (i.e. repositories) ?

Serphentas avatar Jun 06 '18 16:06 Serphentas

@marcus-sa The board has been deleted.

Serphentas avatar Jun 06 '18 16:06 Serphentas

@Serphentas Ok. I did the Edit Access Request with my work email (forgot I was signed into that). It is [email protected]

About your question for @ferittuncer, you can seed/host all of the repositories if you have enough disk space, you want to, and the repository owners have made the link to it public. Furthermore, you do not have to host all ZeroNet websites (including repos, since they are basically their own zites), only the ones you want to.

krixano avatar Jun 06 '18 16:06 krixano

@krixano Request accepted.

EDIT: forgot to answer your second comment. So naturally comes the issue of making sure there is >1 copy of any repository at any time. How can this be handled ?

Serphentas avatar Jun 06 '18 16:06 Serphentas

I created a new Slack Team. If anyone is interested in planning nor building a new decentralized hub, join here.

Slack: Join

Github Space: paket-hub

0x1daniel avatar Jun 06 '18 17:06 0x1daniel

@Serphentas If you want a server to seed all repos (or even just certain specific repos, etc.), all you really need is a computer with internet access and the ZeroNet client downloaded on it. You may also need to open a port (which is done, if possible, automatically by the client using UPnP - or you can manually do this of course).

However, you'd probably need to setup a simple script that will auto-download new repositories when they are published to the Git Center index. But this shouldn't be too hard.

Based on what we are currently seeing, if people consider your repo useful, they will seed it. Currently, many people are seeding the ZeroNet and Git Center repos. There are also many people seeding my repos as well. Also, if you are active on ZeroNet and have the client running at least most of the time (like I do), then you'd be at least one peer, and that'd be enough for other people to download the repo if they so desire.

krixano avatar Jun 06 '18 17:06 krixano