# Using Opensource hosting repo instead of GitHub

**URL:** <https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592>\
**Category:** Offtopic\
**Created:** [January 19, 2021, 8:31am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592 "2021-01-19T08:31:57Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![vedasulo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vedasulo/32/20324_2.png) [@vedasulo](https://discourse.julialang.org/u/vedasulo)\
**Post date:** [January 19, 2021, 8:31am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/1 "2021-01-19T08:31:57Z")

</div>

~~i see nobody using gitlab,  
Could i fork and make copy of all your work on Gitlab (opensource code hosting framework).~~

~~I would like to see [https://github.com/JuliaLang/julia](https://github.com/JuliaLang/julia) project would available in [Gitlab](https://www.gitlab.com) too.~~  
edit:  
I’ve found Gitlab does too plays with politics than freedom . Github and gitlab are politics than opensource freedom.  
Would source code of julia be moved or used anywhere than Github?

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [January 19, 2021, 8:38am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/2 "2021-01-19T08:38:18Z")

</div>

Yes, you can, see the [license for JuliaLang/julia](https://github.com/JuliaLang/julia/blob/master/LICENSE.md).

---

<div class="post-metadata">

**Author:** ![vedasulo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vedasulo/32/20324_2.png) [@vedasulo](https://discourse.julialang.org/u/vedasulo)\
**Post date:** [January 19, 2021, 1:03pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/3 "2021-01-19T13:03:23Z")

</div>

🙂 Thank you. I did know that.  
Internally I was trying to say different. But anyway .

---

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [January 19, 2021, 1:48pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/4 "2021-01-19T13:48:24Z")

</div>

For interest there are currently 15 registered packages that are hosted on GitLab.

A surprisingly varied mix of people:

> **[Veos Digital / KernelMachines.jl · GitLab](https://gitlab.com/VeosDigital/KernelMachines.jl)**
>
> GitLab.com

> **[Alexander Plavin / CompatHelperLocal.jl · GitLab](https://gitlab.com/aplavin/compathelperlocal.jl)**
>
> GitLab.com

> **[Alexander Plavin / SquashFS.jl · GitLab](https://gitlab.com/aplavin/SquashFS.jl)**
>
> GitLab.com

> **[Christian Kral / OMRemote.jl · GitLab](https://gitlab.com/christiankral/OMRemote.jl)**
>
> GitLab.com

> **[Felix Reuß / LicenseGrabber.jl · GitLab](https://gitlab.com/knbrt/LicenseGrabber.jl)**
>
> GitLab.com

[https://gitlab.com/ninjin/unicode2latex.jl.git](https://gitlab.com/ninjin/unicode2latex.jl.git)

> **[Lukas Himbert / RandomizedPropertyTest.jl · GitLab](https://gitlab.com/quf/randomizedpropertytest.jl)**
>
> Test Julia program properties with random inputs. Inspired by Quickcheck.

> **[Volker Weißmann / SimpleCache.jl · GitLab](https://gitlab.com/volkerweissmann/SimpleCache.jl)**
>
> GitLab.com

> **[Yuri D'Elia / Expect.jl · GitLab](https://gitlab.com/wavexx/Expect.jl)**
>
> Synchronous communication with interactive programs https://www.thregr.org/wavexx/software/Expect.jl/

Plus a bunch from the Brane project.  
(Who do something to do with bitcoin?)

> **[braneproject / BitConverter.jl · GitLab](https://gitlab.com/braneproject/BitConverter.jl)**
>
> Converts base data types to an array of bytes, and an array of bytes to base data types.

> **[braneproject / Bitcoin.jl · GitLab](https://gitlab.com/braneproject/Bitcoin.jl)**
>
> A Julia Bitcoin library

> **[braneproject / BitcoinPrimitives.jl · GitLab](https://gitlab.com/braneproject/BitcoinPrimitives.jl)**
>
> Bitcoin block and transaction data type for Julia

> **[braneproject / ECC.jl · GitLab](https://gitlab.com/braneproject/ECC.jl)**
>
> Elliptic Curve Cryptography in Julia (secp256k1 curve)

> **[braneproject / MerkleTrees.jl · GitLab](https://gitlab.com/braneproject/MerkleTrees.jl)**
>
> MerkleTree type and basic functions

> **[braneproject / Secp256k1.jl · GitLab](https://gitlab.com/braneproject/Secp256k1.jl)**
>
> Julia library for EC operations on curve secp256k1.

---

<div class="post-metadata">

**Author:** ![tikej](https://avatars.discourse-cdn.com/v4/letter/t/b5a626/32.png) [@tikej](https://discourse.julialang.org/u/tikej)\
**Post date:** [January 19, 2021, 1:53pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/5 "2021-01-19T13:53:26Z")

</div>

That’s cool, I didn’t know that project hosted on GitLab could be registered in general registry!

Is it also possible for self-hosted instances of GitLab or other platforms (such as Gitea)?

---

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [January 19, 2021, 2:09pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/6 "2021-01-19T14:09:47Z")

</div>

> [@tikej](#):
>
> Is it also possible for self-hosted instances of GitLab

Yes.  
Invenia’s private registry is loaded up with packages on ourself hosted GitLab.  
It uses basically the same tech under the hood as the General Registry.

> [@tikej](#):
>
> or other platforms (such as Gitea)?

Should be yes.  
It just needs to be git.

The Pkg team (well @StefanKarpinski ) has also indicated they would be open to PRs adding support for other version control systems; and that it would not be incredibly hard.  
(Some of the design considerations were apparently made with intent to be a bit agnostic)

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [January 19, 2021, 2:37pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/7 "2021-01-19T14:37:15Z")

</div>

> [@tikej](#):
>
> I didn’t know that project hosted on GitLab could be registered in general registry!

It is technically possible to register a package in the General registry so long as it is accessible permanently, on any git repository, over git+ssh and https. However, a lot of the automation is not available for anything other than Github (and a smaller amount for Gitlab), so you’ll have to do things manually. As of today, there are 16 project on the registry that are hosted on gitlab. No other git host is currently represented.

With self hosted git, there is a concern around availability. So that needs to be taken into account when registrering such a package. You’ll probably have to convince registry maintainers about your uptime.

Regards

Avik

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 19, 2021, 2:37pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/8 "2021-01-19T14:37:36Z")

</div>

> [@vedasulo](#):
>
> i see nobody using gitlab

Maybe you didn’t look close enough, quite a few people are. I find it has a lot of nice features: self-hosted runners, auto merge when CI passes, and CI for private repos.

> [@vedasulo](#):
>
> Could i fork and make copy of all your work on Gitlab (opensource code hosting framework).

If the license allows this, you can always make a copy — most Julia packages are MIT or similar.

But I am not quite sure what the point of the exercise is.

---

<div class="post-metadata">

**Author:** ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)\
**Post date:** [January 19, 2021, 5:37pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/9 "2021-01-19T17:37:04Z")

</div>

> [@Tamas\_Papp](#):
>
> Maybe you didn’t look close enough, quite a few people are. I find it has a lot of nice features: self-hosted runners, auto merge when CI passes, and CI for private repos.

If I’m not mistaken, self-hosted runners and CI for private repositories also are available on GitHub. For me, GitLab’s mail advantages over GitHub are password protected websites (Pages), setting timezone for cron schedules, and all kinds of settings which GitHub seems to have hidden away or not implemented.

---

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [January 19, 2021, 6:31pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/10 "2021-01-19T18:31:06Z")

</div>

> [@avik](#):
>
> However, a lot of the automation is not available for anything other than Github (and a smaller amount for Gitlab),

It’s true.

For reference here are some of the tools that are available for GitLab.

## Julia TagBot for GitLab

Written in python and hosted on github 😂

> **[GitHub - invenia/TagBotGitLab: Julia TagBot for GitLab](https://github.com/invenia/TagBotGitLab)**
>
> Julia TagBot for GitLab

## Registrator Web Interface / JuliaHub

I am not sure if JuliaHub uses the Registrator web interface with new CSS, or if it has its own system.  
But there is a web interface for Registrator that can be self-hosted and works with GitHub and GitLab.  
And JuliaHub supports both.

> **[GitHub - JuliaRegistries/Registrator.jl: Julia package registration bot](https://github.com/JuliaRegistries/Registrator.jl)**
>
> Julia package registration bot

* * *

Off of github/gitlab I think you can use RegistryTools.jl to generate the changes to a registry for an arbitary repo so you can PR the registry directly (though you will need to ask for manual merge).  
I wouldn’t be suprised if @GunnarFarneback had some nicer front end

> **[GitHub - JuliaRegistries/RegistryTools.jl: Functionality for modifying Julia package registry...](https://github.com/JuliaRegistries/RegistryTools.jl)**
>
> Functionality for modifying Julia package registry files

Probably [GitHub - triscale-innov/RegistryCLI.jl: Manage private Julia registries from the command-line](https://github.com/triscale-innov/RegistryCLI.jl) can do it if you point it at a clone of the General Registry (rather than a private one)

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 19, 2021, 6:55pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/11 "2021-01-19T18:55:40Z")

</div>

> [@oxinabox](#):
>
> Off of github/gitlab I think you can use RegistryTools.jl to generate the changes to a registry for an arbitary repo so you can PR the registry directly (though you will need to ask for manual merge).  
> I wouldn’t be suprised if @GunnarFarneback had some nicer front end

RegistryTools is not really for end users and yes, I can offer the [LocalRegistry](https://github.com/GunnarFarneback/LocalRegistry.jl) package for a friendly interface that is agnostic to git hosting services.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [January 19, 2021, 10:10pm UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/12 "2021-01-19T22:10:06Z")

</div>

> [@rikh](#):
>
> If I’m not mistaken, self-hosted runners and CI for private repositories also are available on GitHub.

Yes, and they’re free (with Azure Pipelines instead you have to pay and it’s quite interesting, also because GitHub Actions and Azure Pipelines are very similar under many aspects)

---

<div class="post-metadata">

**Author:** ![vedasulo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vedasulo/32/20324_2.png) [@vedasulo](https://discourse.julialang.org/u/vedasulo)\
**Post date:** [January 20, 2021, 4:22am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/13 "2021-01-20T04:22:15Z")

</div>

I was internally trying to say because of these points

[https://www.gnu.org/software/repo-criteria-evaluation.html](https://www.gnu.org/software/repo-criteria-evaluation.html)  
[https://www.gnu.org/software/repo-criteria-evaluation.html#GitHub](https://www.gnu.org/software/repo-criteria-evaluation.html#GitHub)

> **[Why not GitHub?](https://sanctum.geek.nz/why-not-github.html)**
>
> Explanation of why I do not host code on GitHub and recommend you don’t either.

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [January 20, 2021, 10:57am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/14 "2021-01-20T10:57:40Z")

</div>

A pragmatic reason for putting public projects on gitlab instead of github is their attitude to privacy. Most notably, github shows a feed of all public activities of each user without any option to hide it. This would be completely fine and expected from social network like facebook, but not from a code hosting website. I’m even a bit surprised that only 15 registered julia packages use gitlab.  
The above applies to public repos only, because activity in private ones obviously doesn’t show anywhere.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 20, 2021, 11:46am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/15 "2021-01-20T11:46:56Z")

</div>

I think that these choices are best left to the authors/maintainers and significant contributors of a project.

Preaching GNU as an outsider, even with the best intentions, may just come across as noise.

---

<div class="post-metadata">

**Author:** ![vedasulo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vedasulo/32/20324_2.png) [@vedasulo](https://discourse.julialang.org/u/vedasulo)\
**Post date:** [January 24, 2021, 1:28am UTC](https://discourse.julialang.org/t/using-opensource-hosting-repo-instead-of-github/53592/16 "2021-01-24T01:28:26Z")

</div>

Things became different when Politics plays on opensource/freedom world.

> **[GitHub - 1995parham/github-do-not-ban-us: GitHub do not ban us from open...](https://github.com/1995parham/github-do-not-ban-us/)**
>
> GitHub do not ban us from open source world :iran: - GitHub - 1995parham/github-do-not-ban-us: GitHub do not ban us from open source world :iran:
