Open KOLANICH opened 1 year ago
Who would, as a maintainer, respond to issues on 5 platforms simultaneously ?
The purpose of a syncing solution is syncing. When an issue is posted on 1 platsorm, the syncing solution creates it on all other platforms. When a comment is added to one of platforms, it is replicated to all other platforms. Identifiers are remapped to keep the references on a local platform. When a comment is edited, it is also edited on other platforms. The same for deletions, locks, etc. 5 different platforms essentially become a single platform.
Why to have 5 platforms instead 1 own server with single signon? IDK. I'm pretty sure that the replication solution can be implemented via GitHub Actions and repo hooks, but in this case I guess one has to not to use the integration solutions mentioned and build an own one from scratch centered around event-driven execution.
And what would be the purpose of this syncing in particular ?
For redundancy. To allow users not to sign up the platforms they don't want to sign up. For example there is GitHub, which was bought by Micro$oft. So now M$ is in power to do nasty things with it. Not everyone wants to depend on M$. But GH has a large already signed-up audience and this class of services is suspectable to network effects. Network effects mean that benefit of using a service for a user is proportional to count of its existing users. Almost noone will sign-up your custom service just to be able to leave an issue on it. Using single sign-on like OAuth and OpenID can make the count of signed up more, but only in the case when no scopes other than public
are requested and when it is very visible that SSO is available.
The sync solution solves the problem by just allowing users to use the platforms they are already signed up. And even if GH does very nasty thing and cuts access to API in future, all the data will be already mirrored, in that case one can just drop GitHub platform with all uts users completely without the loss of the prior data and say to that users "you have to use the alternative platforms to participate to that project". And more the alternative platforms supported, more the probability that a contributor has an account in one of them. Some have accs on GitLab, some have accs on Codeberg, some have accs somewhere else. Those GH users can just use their accs on those platforms, so are not lost as contributors to a project.
ForgeFed protocol can be helpful for syncing, but IRL none of the forges has it working.
This is precisely the issue I regularly encounter. When a project utilizes its own instance of GitLab or Jira, creating an issue becomes a nightmare due to the account creation process. If the issue is less than critical, I often choose not to create it. It would be greatly beneficial if issues could be seamlessly synced to GitHub.
Because of spam, account creation through this form is restricted. If creating an account fails, contact gcc-bugzilla-account-request@gcc.gnu.org to request a GCC Bugzilla account. You should receive a response within 24 hours.
It's a miracle if they have anyone registered there with such attitude to users.
Some other platforms require users to execute malware like Googlag reCAPTCHA, Cloudflare HCaptcha, Fingerprint2.js, or just a picasso-based fingerprinter (Cloudflare has based own one on it).
It's a miracle if they have anyone registered there with such attitude to users.
It's easy to criticize them when you're not the one dealing with their issues. I'd like to see you in their position.
Ultimately there does not need to be full sync of all issues. In certain cases different teams of a company works on seperate issue trackers such as ZenDesk and proprietary issue loggers from inside their codebases. The potential here could be to consolidate the issues to where they "need to go" by escalating or moving an issue between teams and subsequently platforms. Ideally should be self hosted and possible to setup "routes" and "rules" for issues
Project description
It may make sense to bidirectionally synchronize issues and comments in repos on different platforms, but there is no free (as in "freedom") and open source solution for that now, and there is no free (as in "free beer") solution for that too. There are some proprietary solutions:
Relevant Technology
So called integratin solutions like
should provide the lowest layer, upon which a repo sync solution can be built.
Complexity and required time
Complexity
Required time (ETA)
Categories