
Codeberg: a free, non-commercial GitHub alternative - passthejoe
https://codeberg.org/
======
passthejoe
[https://codeberg.org](https://codeberg.org) uses the
[https://gitea.io](https://gitea.io) software for its free remote Git
repository service. If you're uncomfortable with non-free software, open-core,
commercial underpinnings and/or corporate ownership of Github and Gitlab,
hosting your repos on Codeberg — or starting your own Gitea site — are very
viable alternatives.

(Edited for typos)

~~~
ncmncm
I had developed the impression that gitea kept all the project metadata -- bug
tracking, PRs, etc -- in the same repository with the project code. Was this
impression correct? Looking at the "Comparison" page does not suggest
anything, one way or the other.

To me that would be the most important differentiator. Do any of the others do
it?

~~~
hn_throwaway_99
Wait, is that something you would _want_? I would find it pretty awful if my
git history for my code had all the other things like issues and PR metadata
in it. Could potentially see it being useful if it were stored in an
"auxiliary" repo that I could pull separately.

~~~
ncmncm
Of course I want it. History is history. Furthermore, why should PRs, bug
reports, and build artifacts not be able to refer directly to source objects
and revisions, and vice versa?

A simple way to represent it might be as an ASCII dump of one or more
databases representing it all, so you could roll back to any day's state; or
as an update-log transcript, so you could roll back to the state after any
given transaction. Both amount to successive diffs, so are reasonably compact.

~~~
hn_throwaway_99
> History is history

Except PRs, bug reports etc. can't affect the runtime behavior of your
program, only code can. There are many times when I am looking through a
dependency's history to see "what changed?" in order to decide if I want to
pull a new version, and the ONLY thing I want to look at in that case are code
changes.

> Furthermore, why should PRs, bug reports, and build artifacts not be able to
> refer directly to source objects and revisions, and vice versa?

I do that all the time in GitHub today.

I certainly understand wanting that auxiliary data to be versioned, and I also
understand wanting it to be in a portable, distributed format like Git. I just
definitely don't want it cluttering up the history of my code

Also, security is a big deal. I often want to allow pretty much anyone to open
a PR or an issue, but I don't necessarily want that now to be part of the repo
every time someone clones it.

~~~
yjftsjthsd-h
> Except PRs, bug reports etc. can't affect the runtime behavior of your
> program, only code can

Are your repos free of docs, READMEs and tests, then?

> I just definitely don't want it cluttering up the history of my code

Separate branch?

> I often want to allow pretty much anyone to open a PR or an issue, but I
> don't necessarily want that now to be part of the repo every time someone
> clones it.

That is a good point; perhaps solvable by having the webapp frontend provide
the GUI but make commits itself? That should give you the best of both worlds.

------
xeeeeeeeeeeenu
Their half-translated UI (my browser is set to polish) is extremely off-
putting.

So many people seem to think that providing low quality translations is
improving accessibility. It isn't. It's doing the opposite, pure english
websites provide _much_ better UX to international users.

BTW, Microsoft with their automatically translated MSDN docs is by far the
worst offender in this area.

~~~
marten-de-vries
That's the case because you speak English. Think about the last time you had
to navigate a website in a language you didn't speak (in my case e.g. Chinese
or Russian). I remember being very happy with a few (incomplete) clues in
English about were to look and what to expect.

By all means, advocate for making it easy to change the language back to the
original. But this stance _will_ decrease accessibility.

~~~
skocznymroczny
In case of technical websites, you have to know English anyway, because even
if there is a broken translation of the documentation, function names, enums
and all the cool stuff remains in the original language anyway.

~~~
capableweb
> you have to know English anyway

You don't, plenty of developers are getting around having to know English as
there are other resources for learning.

I think it's a dangerous assumption that everyone knows English. It's
especially true in the Spanish-speaking world, where I know developers who
can't have a conversation in English but are good enough to be employable.

------
vanous
We are missing the trees for the forest here. I think that Codeberg is not
communicating their core values the best way and my understanding is: to be an
open source, ethical, safe home for open source projects under Non-Profit
Collaboration Community. If your repo were ever (even temporarily) disabled by
a false or intentionally bullying DMCA take down request, you would know right
away why every single word in the above sentence is important. And, hosted in
Europe, under EU laws.

This is a nice summary: [https://blog.codeberg.org/codebergorg-
launched.html](https://blog.codeberg.org/codebergorg-launched.html)

Suggestions on how to make the messaging of Codebeberg clearer would be
appreciated, Codeberg has an issue about this in their tracker:
[https://codeberg.org/Codeberg/Community/issues/75](https://codeberg.org/Codeberg/Community/issues/75)

Edit: added link to Codeberg issue tracker

~~~
enriquto
> I think that Codeberg is not communicating their core values the best way
> and my understanding is: to be an open source (...)

But is it? Where can you find the code for codeberg itself? Is it possible to
download it all and install it locally on an air-gapped server?

~~~
bn7t
Codeberg is a customized version of gitea[0].

They have a repo[1] with the patches that are used on on codeberg.

[0]: [https://gitea.io](https://gitea.io)

[1]: [https://codeberg.org/Codeberg/build-deploy-
gitea](https://codeberg.org/Codeberg/build-deploy-gitea)

------
arghwhat
See [https://sourcehut.org/](https://sourcehut.org/) for a vastly different
source code hosting solution. If you're interested in something other than an
open source GitHub clone, then that is more likely to interest you.

~~~
xvilka
SourceHut is great, it still missing organizations support though (they
promised to add it in a few months). The only problem compared to Gitea is
deployment. SourceHut written in a mix of Python and Go, while Gitea in a pure
Go. Gitea is essentially one binary. I wish SourceHut would dump Python and
rewrite everything in Go.

~~~
arghwhat
"Everything is one binary", while convenient, just means "monolith", and
usually "unscaleable monolith". That has nothing to do with Go. Plus,
compiled-in filesystems and runtime-extracting applications are a thing, so
anything can be a binary.

Sourcehut is specifically designed to be a composeable set of services, so
regardless of language, it's never going to be one binary.

~~~
capableweb
> just means "monolith", and usually "unscaleable monolith"

Hm, monolith != unscaleable monolith. Monolith just means you'd have to do
vertical scaling instead of horizontal scaling, which arguably is easier and
less error prone, as you still are only dealing with one instance and not
building a distributed system all of sudden.

I usually try to keep to vertical scaling for as long as possible, until
either the performance starts to plateau or the product/project becomes big
enough that it needs different backend dev teams working on different things
concurrently.

~~~
arghwhat
I did not say "monolith" equaled "unscaleable monolith", I said that such a
setup is _usually_ an "unscaleable monolith".

Thee reason for this is that writing anything at all to be scalable is quite
difficult, and larger monoliths _tends_ to reflect a laziness and false sense
of simplicity that _tends_ to also be reflected by the internal design. For
this reason, I'd consider "large but scalable monoliths" to be in the
minority.

Furthermore, I'd argue that if scaling of a monolith isn't a problem, it's
simply because its load is insignificant in the first place. Once the scaling
game starts, vertical scaling quickly ends up being infeasible.

Of course, that does mean that you can start out and experiment with a
monolith while a product is young, but I'd prefer to have hashed out the
overall design before I start dealing with production systems.

I'd design components around clearly distinctive areas of functionality rather
than the distinctive teams that need to write it.

------
alucard0134
I am curious; what does this gitea clone provide over the hundreds of other
clones I could be using that are also free and non-commerical?

~~~
vanous
Great question. Let me copy/paste explanation of one of the founders:

Collaboration platforms like SourceForge, GitHub, and GitLab enabled and
facilitated the development and organization of free software projects. But as
developers of free software we fell into a trap – we poured invaluable source
code, documentation and last not least a huge and steady stream of data about
our personalities, interests and social networks into proprietary platforms.
These platforms are no charities, they operate to fulfill the commercial
objectives of their founders and owners, outside of our control. They are
valued and sold for billions of dollars. Codeberg is trying to fix that. The
nonprofit Codeberg e.V. has been founded as independent non-government
organization to launch and build a free home for Free and Open Source
Software.

Also see this short SFSCon talk:

[https://www.sfscon.it/talks/codeberg-a-free-home-for-free-
pr...](https://www.sfscon.it/talks/codeberg-a-free-home-for-free-projects/)

~~~
tannhaeuser
Thumbs up for mentioning this, and thanks for your effort. I've always found
it odd (to say the least) that F/OSS projects are happily giving away their
dev's and user's eyeballs and clicks to commercial entities when many F/OSS
projects advertise altruistic or other ethical motives and licenses. Using
github.com (or any other project hosting service) for your project's home page
also ruins the web and puts all the power in the hand of very few when regular
DNS and web hosting has regulated rules where providers and registrars can be
negotiated with, switched, appealed, etc. Not to mention that github.com
blocks indie search crawlers, adding to the search monopoly we have.

------
yjftsjthsd-h
So compared to gitlab and sourcehut (my other favorite options for free github
alternatives), this is librejs complaint (sourcehut has this, don't think
gitlab does), and has a github-like UI. It seems to be pushing the privacy
angle and is hosted in the EU. Any other big reasons to prefer this over
gitlab/sourcehut/self-hosted?

~~~
darau1
> this is librejs complaint

What does this mean/imply exactly?

~~~
mkl
It's a typo of "LibreJS compliant":
[https://en.wikipedia.org/wiki/GNU_LibreJS](https://en.wikipedia.org/wiki/GNU_LibreJS)

------
ashishbindra
I couldn't find any "about" page. Who owns it? Who are the people behind it?

~~~
tmalsburg2
You didn't find it because you didn't look. Scroll to the bottom of the page
and click on "Imprint". Quote:

"Codeberg is a non-profit organisation dedicated to build and maintain
supporting infrastructure for the creation, collection, dissemination, and
archiving of Free and Open Source Software. If you have questions, suggestions
or comments, please do not hesitate to contact us at contact@codeberg.org."

It's a kind of club ("eingetragener Verein" [1]) that is funded by its members
and through donations.

[1]
[https://en.wikipedia.org/wiki/Registered_association_(German...](https://en.wikipedia.org/wiki/Registered_association_\(Germany\))

~~~
recursive
I think a lot of people are probably unfamiliar with any definition of
"imprint" that would cause them to look there. I know I can't explain what it
means in this context.

~~~
nutjob2
It comes from Impressum, essentially a form of identification for publishers,
but imprint is the English word used for the German legal requirement.

[https://en.wikipedia.org/wiki/Impressum](https://en.wikipedia.org/wiki/Impressum)

[https://www.privacycompany.eu/blogpost-en/the-imprint-
requir...](https://www.privacycompany.eu/blogpost-en/the-imprint-requirement-
a-must-have-for-companies-from-outside-germany)

------
app4soft
repo.or.cz — one more free hosting alternative to GitHub, especially for FLOSS
projects.[0]

[0] [http://repo.or.cz/about.html](http://repo.or.cz/about.html)

------
hans_castorp
Finally an alternative go Github and Bitbucket hosted in Europe, great.

------
newswasboring
Does anyone else think Github now has a name recognition advantage? I am not a
super ninja developer so I still have to make resumes, and in there I can just
put github logo and a username there. Saves space and looks quite
professional. I can't do that with newer services. Or am I just being over
cautious here?

Edit: And its not just about resumes, its the case for getting traction for
your project too. I feel comfortable contributing to a project hosted on
github and am sort of weary of things hosted on other places.

~~~
passthejoe
Having a remote git repo monoculture where it has to be Github or nothing is
unhealthy for the software ecosystem.

Gitlab is a good alternative, but why not have more choices? Anybody who might
want to hire you can click a link to a Codeberg/Gitea site and see what looks
like a very familiar repo. It should be the project itself that is attracting
users and devs, not where the git repo is remotely hosted.

For free-software projects, a Gitea site like Codeberg might be an even better
choice because of the conflicts involved in using a commercial entity like
GitHub that uses closed-source software yet bases its entire business on a
free project (Git).

------
sovok_x
Its mobile UI is broken all over on my system. But I am all in for _getting
inspired_ by exact Github UX/UI. They're the main reason I don't want to
switch to alternatives even if I hate Github after MS-merger and following
"improvements of the service".

~~~
pdimitar
What changes made after the MS acquisition do you dislike?

~~~
sovok_x
Personally I most dislike forced deanonymization with 2fa or annoying me with
device verification which locked me out of my anonymous account with old
expired email (I didn't need it secured and I don't want to prove anything to
MS to restore it too). Some people also reported increasing external CI
services throttling in favor of Actions, I wouldn't be surprised if they give
preferential treatment to Packages too. In the end I don't want power of MS
over my code and workflow to grow too much. I know they claim Github is
independent but it's not really reassuring.

~~~
pdimitar
This is quite normal for an enterprise product though, and I agree on the
deanonymization part. But I would not expect anonymity on such a platform
anyway because GitHub is very often used in the place of a resume or a CV.

Simply put, you are not the kind of user they want. Happily there are
alternatives. I started backing up private repos to SourceHut.

~~~
sovok_x
I would be glad to switch, but I am sucker for good UI. I can even forgive
some lost functionality for it. Most alternatives were not to my liking.

~~~
pdimitar
I'm on the same boat. For now I don't mind because I use a few other Git
hosting services point as a backup while still using GitHub. I'd like to move
to another service though, it'll be a conundrum.

------
enriquto
It is not clear if this is a free software project. Can it be installed
locally? I see "open source" written here and there, but no link to the actual
code (besides gitea).

~~~
vanous
Yes it is, see here: [https://codeberg.org/Codeberg/build-deploy-
gitea](https://codeberg.org/Codeberg/build-deploy-gitea)

Gitea can run locally.

------
rijoja
Ok, so top comment (currently) is about localisation. A really interesting
topic, but has anyone tried it out yet and have opinions on the functionality?

~~~
hjacobs
Yes, I'm actively using Codeberg for my OSS projects (I still have some on
GitHub, too), e.g. [https://codeberg.org/hjacobs/kube-web-
view/](https://codeberg.org/hjacobs/kube-web-view/)

Some functionality is lacking compared to GitHub, but it does what it needs to
do for me.

