# Publishing without Github?

**URL:** <https://discuss.ocaml.org/t/publishing-without-github/3232>\
**Category:** Ecosystem\
**Tags:** opam\
**Created:** [January 25, 2019, 10:57pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232 "2019-01-25T22:57:49Z")\
**Posts on this page:** 12\
**Page:** 2

<div class="post-metadata">

**Author:** ![kanishka](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kanishka](https://discuss.ocaml.org/u/kanishka)\
**Post date:** [January 3, 2021, 1:36am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/21 "2021-01-03T01:36:30Z")

</div>

I found the following tools to have a simpler method than emailing patches: [How to anonymize your GitHub activity - Livable Software](https://livablesoftware.com/how-to-anonymize-github-activity/)

---

<div class="post-metadata">

**Author:** ![UnixJunkie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/unixjunkie/32/638_2.png) [@UnixJunkie](https://discuss.ocaml.org/u/UnixJunkie)\
**Post date:** [April 7, 2021, 12:19am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/23 "2021-04-07T00:19:49Z")

</div>

Is framagit still up and running, and accepting even new projects?

---

<div class="post-metadata">

**Author:** ![kanishka](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kanishka](https://discuss.ocaml.org/u/kanishka)\
**Post date:** [April 7, 2021, 2:53am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/24 "2021-04-07T02:53:17Z")

</div>

Seems alive. Framasofts two major projects are hosted there - [Projects · Explore · GitLab](https://framagit.org/explore/projects/starred)

---

<div class="post-metadata">

**Author:** ![XVilka](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/xvilka/32/5334_2.png) [@XVilka](https://discuss.ocaml.org/u/XVilka)\
**Post date:** [April 9, 2021, 2:59pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/25 "2021-04-09T14:59:48Z")

</div>

By the way, there was a more concrete proposal for Gitea ForgeFed integration since: [Design Discussion: ActivityPub support + ForgeFed vocabulary · Issue #14186 · go-gitea/gitea · GitHub](https://github.com/go-gitea/gitea/issues/14186)

---

<div class="post-metadata">

**Author:** ![kanishka](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kanishka](https://discuss.ocaml.org/u/kanishka)\
**Post date:** [April 9, 2021, 6:59pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/26 "2021-04-09T18:59:04Z")

</div>

A number of people in outreachy are starting to internalize details of github, rather than gitlab or gitea, as their first git web system because the ocaml community is using it de facto. It’s a very minor detail, but feels like these decisions compound over time.

---

<div class="post-metadata">

**Author:** ![yawaramin](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/yawaramin/32/3384_2.png) [@yawaramin](https://discuss.ocaml.org/u/yawaramin)\
**Post date:** [April 9, 2021, 7:51pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/27 "2021-04-09T19:51:58Z")

</div>

If we are serious about exposing a non-GitHub interface to publishing, it’s doable, with some effort and integration work of course. The basics should be covered by an API like:

```auto
# Register a new publisher
POST /opam/register/:publisher_name

# Publish a new package version
POST /opam/publish/:package_name.version
Authorization: Bearer :token # Received from register endpoint
<Package blob>

# Cancel an in-progress publish
DELETE /opam/publish/:package_name.version
Authorization: Bearer :token # ^

```

Of course it can get complicated than that, depending on if the opam maintainers want to keep the review process that they currently have, or just allow anyone to publish anything.

This API should be doable today by hooking in to GitHub. And down the line if opam moves off GitHub it can be adapted for that too.

P.S. GitHub wrangled the US government into allowing Iranians to access it, just saying.

---

<div class="post-metadata">

**Author:** ![avsm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/avsm/32/6_2.png) [@avsm](https://discuss.ocaml.org/u/avsm)\
**Post date:** [April 23, 2021, 9:43am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/28 "2021-04-23T09:43:11Z")

</div>

> [@anon72795300](#):
>
> Understanding the importance of a web interface to many, I wish we at least had our own Gitea or Gitlab service.

A headsup about a new project that is looking for users: it is a federated forge service in the style of Peertube (except for code, not videos). [https://fedeproxy.eu/](https://fedeproxy.eu/)

I encourage those interested in trying more decentralised approaches to coding in OCaml to give this a whirl, and any feedback you might have about it.

---

<div class="post-metadata">

**Author:** ![toastal](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/toastal/32/2944_2.png) [@toastal](https://discuss.ocaml.org/u/toastal)\
**Post date:** [April 13, 2025, 7:10pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/29 "2025-04-13T19:10:31Z")

</div>

> [@avsm](#):
>
> [https://fedeproxy.eu/](https://fedeproxy.eu/)

This link is down.

Is there a contemporary solution for submissions without using proprietary US-based platforms?

---

<div class="post-metadata">

**Author:** ![mobileink](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/mobileink/32/3295_2.png) [@mobileink](https://discuss.ocaml.org/u/mobileink)\
**Post date:** [April 13, 2025, 7:18pm UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/30 "2025-04-13T19:18:28Z")

</div>

+1. Last week I declined to use a tool because it (unnecessarily) required that I provide I GitHub login.

---

<div class="post-metadata">

**Author:** ![avsm](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/avsm/32/6_2.png) [@avsm](https://discuss.ocaml.org/u/avsm)\
**Post date:** [April 14, 2025, 9:23am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/31 "2025-04-14T09:23:45Z")

</div>

I have a personal fork/mirror of the opam-repository up at [https://tangled.sh/@anil.recoil.org/opam-repository](https://tangled.sh/@anil.recoil.org/opam-repository), and my notes on [using Tangled over ATProto](https://anil.recoil.org/notes/disentangling-git-with-bluesky) for hosting your own repositories and [their own introduction](https://blog.tangled.sh/intro).

See also their upstream [discussion on how to build PRs](https://tangled.sh/@tangled.sh/core/issues/43). It’s still quite far away from considering for use in a production repository, but not _that_ far away for being a mechanism to contribute patches.

What it really needs is more people to try it. I’ve put up a [Docker knot hoster](https://tangled.sh/@anil.recoil.org/knot-docker) if anyone else wants to have a go (I know @patricoferris has been using it, and @mtelvers also deployed a knot based on this).

Note that none of this quite meets the ‘not dependent on US megatech infrastructure’ noted above due to the ATProto relays. There’s a [broader effort](https://freeourfeeds.com) afoot to do that and probably out of scope here. I’ve also looked briefly into some Activitypub-based alternatives but only very briefly. Hearing more people’s experiences with this stuff would be useful.

---

<div class="post-metadata">

**Author:** ![RChG](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/rchg/32/4158_2.png) [@RChG](https://discuss.ocaml.org/u/RChG)\
**Post date:** [April 14, 2025, 9:37am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/32 "2025-04-14T09:37:20Z")

</div>

Just a comment: since 2022, [codeberg](https://codeberg.org) is using [forgejo](https://forgejo.org/), not exactly Gittea but a fork of Gittea that they develop themselves, since [according to codeberg](https://blog.codeberg.org/codeberg-launches-forgejo.html) the group behind Gittea changed to a ‘for-profit’ company from a ‘non-profit’ community.

It is a growing community but still recommended to contact for large development projects:

> **[requests](https://codeberg.org/Codeberg-e.V./requests)**
>
> Request what you need for your project: CI access, more repositories, storage, etc.

---

<div class="post-metadata">

**Author:** ![toastal](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/toastal/32/2944_2.png) [@toastal](https://discuss.ocaml.org/u/toastal)\
**Post date:** [April 14, 2025, 9:54am UTC](https://discuss.ocaml.org/t/publishing-without-github/3232/33 "2025-04-14T09:54:49Z")

</div>

I suppose Nix (without Nixpkgs, same lock-in issues) could be used to deliver packages as well—especially extending `ocamlPackages` in an overlay. But this would have a discovery issue.

[Previous page](https://discuss.ocaml.org/t/publishing-without-github/3232.md?page=1)
