As someone who's currently using gogs I'd like to know what are the primary differences between gogs and gitea - right now the website doesn't talk too much of benefits coming from the switch.
Sure, community managed sounds great, but does that automatically guarantee a solid project vision, predictable release cycle and lots of new features?
Don't want to sound negative but I think reasons for the fork needs to be clearly presented and potential switchers (like myself) got to be assured there's a better future with the fork rather than original
The main difference is mainly in who contributes and the speed of development right now, who knows what'll happen in a few months. The main issue is that the sole maintainer of Gogs has a habit of going missing for months at a time, this normally wouldn't be an issue if he gave other contributors write access to the repo, but he doesn't. He actually removed a few the first time he went missing.
Right now, the initial release was pretty much just a cleanup effort to get the codebase ready for the new changes that are coming down the line. If you look at the PRs open for 1.1 there's a lot of goodies coming that I'm looking forward to.
The maintainer seems to be doing a stellar job and giving it away for free. It's a bit childish to talk about someone going missing for a month. If he got paid for it, he's be legally entitled to a vacation that's just about that long.
I can't help but think about the open source maintainer burnout that has been featured so many times. Let off your project for a couple of weeks and you have all sorts of people demanding write access to the repository. That must be up to the mainatiner and his or her vision for the project.
Don't misunderstand me. Fork away. Forks are the social contract open source software stands on. But please, for the sake for the health of everyone around us, think of what language you use. Someone hasn't "disappeared" just because they're offline for a while. Make him or her proud or their community and what they did in the meantime instead. That's also a fork, just much less of the "I took my stuff and left!" vibe.
And I realize I'm overreacting to the choice of a few words on a project I've never been involved with and never seen before, it's just that some forks are just hostile for no apparent reason whatever and it's so unnecessary.
Let me reply as someone who's used Gogs for a year.
The main dev seems to be a good guy and it was always a good experience to communicate with him on bugs/features or pull requests.
He is a single point of failure, though. There were quite some active contributors to Gogs. They work on Gogs quite a lot, fixing bugs and improving it. Even simple fixes like typos don't get merged for weeks. And that's when Unknwon is available. When he's gone, he's just gone and other developers have no idea if the project is dead now, or not.
Most of the recent activity in Gogs development came from the people who now work on Gitea. I hate that this fork happened because I really don't like the Gitea name and logo.. but that's where the development is happening now..
As it is a fork of Gogs and Gogs haven't progressed too much since then, You can have a look at the commit log to have a rough impression about what have been improved. Last time I checked it had about 400~ more commits, which were mostly bug fixes.
I played with gogs half-year ago and gitea is my first software try-out in 2017, it worked beautifully for pretty much everything I wanted and it requires way less cpu/mem to run(comparing to gitlab,etc), I'm sold.
My major issue with Gogs and Gitea is that they lack a cache to store the git history/log. So if you work with repos that have many commits (example, the git repo itself or the linux kernel repo), you will forever be waiting for the commit message for each file to load because Gogs/Gitea scans the entire git log for each file.
This was an issue when I tested Gogs a few months and I don't see any mention of a cache so I think it's still an issue.
For smaller repos though, Gogs works incredibly well.
Regarding this fork, it makes sense if the owner of gogs is not giving write access to others. At the same time it would be a shame if Gitea becomes popular and overshadows Gogs. I hope they can work out a mutually acceptable solution and merge.
A community is not about how many people have permission to write the main repository. Linux kernel is the example. Linus is only one who has permission to write the mainline tree.
True. But Linus also doesn't disappear for several months at a time. Not to mention that Linus is not the only decision maker in the project. Greg KH maintains the stable kernels (which is ironically where most people get their kernel from).
I wonder how long it's going to take before gogs and gitea get merged, just like it has happened in the past with major forks , nodejs + iojs being one example.
Personally, I tend to consider that to be a wildly successful outcome for an OSS project fork. The project community continues to exist, conflicts get resolved (hopefully amicably), users benefit, developers benefit. Everyone wins!
We will never merge, unless Gogs gets merged into Gitea. We won't merge into Gogs because then only one person will be left as an owner which was the reason for the fork in the first place.
Question to any gitea devs/users: How can I get rid of the (terrible) i18n?? I'm trying out the app but it's complete gibberish! It appears to do some kind of User Agent detected i18n - (which by the way an app should never do imho).
I just want english so I can have some kind of understanding of what I'm doing but I can't find the setting either in my user profile nor in the app configuration.
It is infact using `Accept-Language`-header and `lang`-cookie as seen in this[1] file on line 168, 184 and 196. This is according to W3C[2] a good starting point :)
His reply is very reasonable and some of Gitea dev is a bit of harsh in tone IMHO. Or maybe that's because of my English level.
Anyway, I think this is how OSS should be. We shouldn't have to force people to merge the code that we want. At the end of the day, it's his project anyway.
>In my point of view, it's a sign of success of Gogs that Gitea forked it. Gogs is under MIT license and there is no problem with me totally that Gitea is developing its own version. It happens often in open source community(when you are not satisfied with upstream version, I fork a lot actually).
My name is Angela and I do research for Atlassian. I’m kicking off a round of discussions with people who use Git tools. Ideally, I’d like to talk to people that sit on a team of 3 or more. If this is you, I would love to talk to you about your experience with <using> Git tools, or just some of the pain points that are keeping you up at night when doing your jobs.
We’ll just need 30 mins of your time, and as a token of my thanks to those that participate, I’d like to offer a US$50 Amazon gift voucher.
If you’re interested, just shoot me an email with your availability over the next few weeks and we can set up a time to chat for 30 minutes. Please also include your timezone so we can schedule a suitable time (as I’m located in San Francisco). Hope to talk to you soon!
I think a fork should not be a casual decision as the main developer would have put in hundreds or thousands of hours on the project and was motivated to get it to this state. A project by a small team or even a single person will obviously be constrained in many ways.
Now if the project has potential or takes off a 'community' should fork it only if all other avenues have been exhausted and with good reasons.
Its important for a 'community fork' to let the community know the exact rationale or 'community' can easily becomes a excuse for some to seek to control or capitalise on others work. This does not help open source especially if the main developers are too busy developing while those who fork have time to market the fork to a community.
If the main developer doesn't want forks then don't use an free/open source license. It is very simple. "Capitalise on others work"? That's insane, that license is very explicit that this work was donated to the public under well specified terms. It welcomes all of us to capitalise on it, that's the whole damn point.
There is a single sufficient "good reason" to fork a project. You want to. People are free to use your fork or ignore it.
The point was not against forks but transparency and good faith. Open source is not just about forking but also contributing, no?
What have the forkers contributed to the product so far? Where are the technical reasons for the fork? Where is the community discussion and consensus? Has there been any kind of democratic action? So on what basis is the word 'community' used?
A fork shoud not simply be about people misusing the word 'community' for seeking control and ownership because that's not what open source is about, is it?
This seems positive. It means that the big weakness of Gogs (bus factor) goes away. I'll be interested to know if they opt for anything more sophisticated than "more than one person has admin on the repo" as a governance model.
This is my biggest complaint about gogs. I use it for personal projects but it is harder to collaborate with and get pull requests from other developers using gogs than it is with github. It is a pain if you have to register with every gogs instance that you want to prepare a pull request for.
I think if gogs/gitea was self-hosting it would encourage the developers to find easier ways of collaborating.
This is my only complaint about gogs. It is amazing otherwise, suits my needs, is low maintenance and is an impressive piece of work. I would encourage anyone to try it that wants to have private repositories for personal projects.
We will integrate OAuth2 and after that we also want to integrate federated pull requests so that you can create pull requests from other gitea instances as well.
After the integration of the missing features like OAuth2, protected branches, ci status and some others we will start dog-fooding, than Github will just stay as a mirror for contributors that don't want to login to our gitea instance.
This is a pretty immature community IMO. The gogs maintainer just has life sometimes and they want to fork because he leaves some PRs open for a while. Learn some patience, the project will be better off for it.
> This is not the reason of the fork. The reason is that he refuses to give more people write access to the project to keep it going
Others don't need write access "to keep the project going" unless they intend to ship releases without him/her- they can make PRs and the maintainer will merge them when they are back. Perhaps the Gitea committers want a more predictable release cadence?
I agree that a fork is probably the best solution here, due to the impedance mismatch, the forkers don't seem to be fans of the BDFL model. Additionally, "community" is a much wider term than how you used it, it's not just other contributors but also includes users and bug reporters. I wish Gitea the best of luck, but I'll remain a Gogs user.
That's his prerogative. Learn patience. Not all PRs have to be merged on your schedule. As a FOSS maintainer myself this sort of behavior sickens me and reeks of entitlement. Gogs is worse off for your involvement.
> This is a pretty immature community IMO. The gogs maintainer just has life sometimes and they want to fork because he leaves some PRs open for a while. Learn some patience, the project will be better off for it.
what a stupid excuse, reminds me of people excusing the creator of Coffee Script because "Jeremy he was busy". if your work depends on an open-source project and the author "has life" so that critical bugs aren't resolved or important PR aren't merged then the only mature thing is to fork and let the maintainer get "life" as much as he wants. Because he is not irreplaceable
It was forked because they wanted a different management model that included more people.
https://blog.gitea.io/2016/12/welcome-to-gitea/
As someone who's currently using gogs I'd like to know what are the primary differences between gogs and gitea - right now the website doesn't talk too much of benefits coming from the switch.
Sure, community managed sounds great, but does that automatically guarantee a solid project vision, predictable release cycle and lots of new features?
Don't want to sound negative but I think reasons for the fork needs to be clearly presented and potential switchers (like myself) got to be assured there's a better future with the fork rather than original
The main difference is mainly in who contributes and the speed of development right now, who knows what'll happen in a few months. The main issue is that the sole maintainer of Gogs has a habit of going missing for months at a time, this normally wouldn't be an issue if he gave other contributors write access to the repo, but he doesn't. He actually removed a few the first time he went missing.
Right now, the initial release was pretty much just a cleanup effort to get the codebase ready for the new changes that are coming down the line. If you look at the PRs open for 1.1 there's a lot of goodies coming that I'm looking forward to.
The maintainer seems to be doing a stellar job and giving it away for free. It's a bit childish to talk about someone going missing for a month. If he got paid for it, he's be legally entitled to a vacation that's just about that long.
I can't help but think about the open source maintainer burnout that has been featured so many times. Let off your project for a couple of weeks and you have all sorts of people demanding write access to the repository. That must be up to the mainatiner and his or her vision for the project.
Don't misunderstand me. Fork away. Forks are the social contract open source software stands on. But please, for the sake for the health of everyone around us, think of what language you use. Someone hasn't "disappeared" just because they're offline for a while. Make him or her proud or their community and what they did in the meantime instead. That's also a fork, just much less of the "I took my stuff and left!" vibe.
And I realize I'm overreacting to the choice of a few words on a project I've never been involved with and never seen before, it's just that some forks are just hostile for no apparent reason whatever and it's so unnecessary.
1 reply →
Well, say what you want but I see 33 open PRs and 1039 closed ones on the original gogs repo. Doesn't look like an unmaintained repo to me.
2 replies →
Let me reply as someone who's used Gogs for a year.
The main dev seems to be a good guy and it was always a good experience to communicate with him on bugs/features or pull requests.
He is a single point of failure, though. There were quite some active contributors to Gogs. They work on Gogs quite a lot, fixing bugs and improving it. Even simple fixes like typos don't get merged for weeks. And that's when Unknwon is available. When he's gone, he's just gone and other developers have no idea if the project is dead now, or not.
Most of the recent activity in Gogs development came from the people who now work on Gitea. I hate that this fork happened because I really don't like the Gitea name and logo.. but that's where the development is happening now..
As it is a fork of Gogs and Gogs haven't progressed too much since then, You can have a look at the commit log to have a rough impression about what have been improved. Last time I checked it had about 400~ more commits, which were mostly bug fixes.
I did a quick analysis of the two projects and it looks like the changes between them are quite massive. Here's the overall breakdown.
Graph of commits over the last year:
https://gitsense.com/gogs-gitea/year.png
https://gitsense.com/gogs-gitea/year-cummulative.png
Less noisy graph that only shows master vs master:
https://gitsense.com/gogs-gitea/master-vs-master.png
https://gitsense.com/gogs-gitea/master-vs-master-cummulative...
Total commits:
https://gitsense.com/gogs-gitea/total-commits.png
Changes in the last 3 months:
https://gitsense.com/gogs-gitea/summaries+trees.png
https://gitsense.com/gogs-gitea/trees.png
Contributors in the last 3 months for Gogs:
https://gitsense.com/gogs-gitea/gogs-contributors.png
Contributors in the last 3 months for Gitea:
https://gitsense.com/gogs-gitea/gitea-contributors.png
4 replies →
I played with gogs half-year ago and gitea is my first software try-out in 2017, it worked beautifully for pretty much everything I wanted and it requires way less cpu/mem to run(comparing to gitlab,etc), I'm sold.
My major issue with Gogs and Gitea is that they lack a cache to store the git history/log. So if you work with repos that have many commits (example, the git repo itself or the linux kernel repo), you will forever be waiting for the commit message for each file to load because Gogs/Gitea scans the entire git log for each file.
This was an issue when I tested Gogs a few months and I don't see any mention of a cache so I think it's still an issue.
For smaller repos though, Gogs works incredibly well.
Regarding this fork, it makes sense if the owner of gogs is not giving write access to others. At the same time it would be a shame if Gitea becomes popular and overshadows Gogs. I hope they can work out a mutually acceptable solution and merge.
We are aware of that issue, and hopefully we will find a proper solution to improve the load time for bigger repos.
A community is not about how many people have permission to write the main repository. Linux kernel is the example. Linus is only one who has permission to write the mainline tree.
True. But Linus also doesn't disappear for several months at a time. Not to mention that Linus is not the only decision maker in the project. Greg KH maintains the stable kernels (which is ironically where most people get their kernel from).
I wonder how long it's going to take before gogs and gitea get merged, just like it has happened in the past with major forks , nodejs + iojs being one example.
Personally, I tend to consider that to be a wildly successful outcome for an OSS project fork. The project community continues to exist, conflicts get resolved (hopefully amicably), users benefit, developers benefit. Everyone wins!
We will never merge, unless Gogs gets merged into Gitea. We won't merge into Gogs because then only one person will be left as an owner which was the reason for the fork in the first place.
They've split and merged before. This is the second time gitea has forked.
Yep. The first time was until the owner came back, but he refused to merge the changes on Gogs. The community stopped with Gitea when this happened.
This time, the community patience ended, and Gitea will continue on its own way.
What did gitea contribute the last time they merged?
2 replies →
Question to any gitea devs/users: How can I get rid of the (terrible) i18n?? I'm trying out the app but it's complete gibberish! It appears to do some kind of User Agent detected i18n - (which by the way an app should never do imho).
I just want english so I can have some kind of understanding of what I'm doing but I can't find the setting either in my user profile nor in the app configuration.
It is infact using `Accept-Language`-header and `lang`-cookie as seen in this[1] file on line 168, 184 and 196. This is according to W3C[2] a good starting point :)
[1] https://github.com/go-macaron/i18n/blob/ef57533c3b0fc2d8581d... [2] https://www.w3.org/International/questions/qa-accept-lang-lo...
I haven't tried but I think you might be able to add this to your config to fix that:
https://gogs.io/docs/features/i18n
Edit: tried and indeed it seems to work.
Thanks, that worked perfectly.
Odd to implement i18n and then automatically choose based on UA, but not have a user option?
2 replies →
Right. But I would you change `custom/conf/app.ini`
His reply is very reasonable and some of Gitea dev is a bit of harsh in tone IMHO. Or maybe that's because of my English level.
Anyway, I think this is how OSS should be. We shouldn't have to force people to merge the code that we want. At the end of the day, it's his project anyway.
Good luck to both of projects.
Where can I see his reply?
>In my point of view, it's a sign of success of Gogs that Gitea forked it. Gogs is under MIT license and there is no problem with me totally that Gitea is developing its own version. It happens often in open source community(when you are not satisfied with upstream version, I fork a lot actually).
Seen here:
https://github.com/gogits/gogs/issues/1304#issuecomment-1246...
Who of the gitea developers is harsh?
Participate in Atlassian Research
My name is Angela and I do research for Atlassian. I’m kicking off a round of discussions with people who use Git tools. Ideally, I’d like to talk to people that sit on a team of 3 or more. If this is you, I would love to talk to you about your experience with <using> Git tools, or just some of the pain points that are keeping you up at night when doing your jobs.
We’ll just need 30 mins of your time, and as a token of my thanks to those that participate, I’d like to offer a US$50 Amazon gift voucher.
If you’re interested, just shoot me an email with your availability over the next few weeks and we can set up a time to chat for 30 minutes. Please also include your timezone so we can schedule a suitable time (as I’m located in San Francisco). Hope to talk to you soon!
Cheers, Angela Guo aguo@atlassian.com
I think a fork should not be a casual decision as the main developer would have put in hundreds or thousands of hours on the project and was motivated to get it to this state. A project by a small team or even a single person will obviously be constrained in many ways.
Now if the project has potential or takes off a 'community' should fork it only if all other avenues have been exhausted and with good reasons.
Its important for a 'community fork' to let the community know the exact rationale or 'community' can easily becomes a excuse for some to seek to control or capitalise on others work. This does not help open source especially if the main developers are too busy developing while those who fork have time to market the fork to a community.
If the main developer doesn't want forks then don't use an free/open source license. It is very simple. "Capitalise on others work"? That's insane, that license is very explicit that this work was donated to the public under well specified terms. It welcomes all of us to capitalise on it, that's the whole damn point.
There is a single sufficient "good reason" to fork a project. You want to. People are free to use your fork or ignore it.
The point was not against forks but transparency and good faith. Open source is not just about forking but also contributing, no?
What have the forkers contributed to the product so far? Where are the technical reasons for the fork? Where is the community discussion and consensus? Has there been any kind of democratic action? So on what basis is the word 'community' used?
A fork shoud not simply be about people misusing the word 'community' for seeking control and ownership because that's not what open source is about, is it?
2 replies →
This seems positive. It means that the big weakness of Gogs (bus factor) goes away. I'll be interested to know if they opt for anything more sophisticated than "more than one person has admin on the repo" as a governance model.
Hosted on github...
Gogs is a great way to have Github-like private repositories for free on your own infrastructure. Github is still Github for open source projects.
This is my biggest complaint about gogs. I use it for personal projects but it is harder to collaborate with and get pull requests from other developers using gogs than it is with github. It is a pain if you have to register with every gogs instance that you want to prepare a pull request for.
I think if gogs/gitea was self-hosting it would encourage the developers to find easier ways of collaborating.
This is my only complaint about gogs. It is amazing otherwise, suits my needs, is low maintenance and is an impressive piece of work. I would encourage anyone to try it that wants to have private repositories for personal projects.
Github has OAuth2 - couldn't gogs have a "log in with Github" option that pulls all the data it needs from there automatically?
1 reply →
You may want to take a look at this issue:
https://github.com/go-gitea/gitea/issues/184
We will integrate OAuth2 and after that we also want to integrate federated pull requests so that you can create pull requests from other gitea instances as well.
It will be hosted on a Gitea instance soon. It wasn't done yet because of few missing features, etc.
After the integration of the missing features like OAuth2, protected branches, ci status and some others we will start dog-fooding, than Github will just stay as a mirror for contributors that don't want to login to our gitea instance.
The gogs and gitea websites feature the same basic content on the front page. Is it also open source? Im curious and dont mean to stir up shit.
The front page states that it's under the MIT license, so I'm guessing yes.
Missed that. :) Thx.
This is a pretty immature community IMO. The gogs maintainer just has life sometimes and they want to fork because he leaves some PRs open for a while. Learn some patience, the project will be better off for it.
We can for sure understand that one is not available all time. Everyone has a life, and sometimes need many weeks away, etc.
This is not the reason of the fork. The reason is that he refuses to give more people write access to the project to keep it going.
Before the first time he went AFK, he even removed write access from the 2 or 3 other people that had it.
> This is not the reason of the fork. The reason is that he refuses to give more people write access to the project to keep it going
Others don't need write access "to keep the project going" unless they intend to ship releases without him/her- they can make PRs and the maintainer will merge them when they are back. Perhaps the Gitea committers want a more predictable release cadence?
I agree that a fork is probably the best solution here, due to the impedance mismatch, the forkers don't seem to be fans of the BDFL model. Additionally, "community" is a much wider term than how you used it, it's not just other contributors but also includes users and bug reporters. I wish Gitea the best of luck, but I'll remain a Gogs user.
That's his prerogative. Learn patience. Not all PRs have to be merged on your schedule. As a FOSS maintainer myself this sort of behavior sickens me and reeks of entitlement. Gogs is worse off for your involvement.
24 replies →
> This is a pretty immature community IMO. The gogs maintainer just has life sometimes and they want to fork because he leaves some PRs open for a while. Learn some patience, the project will be better off for it.
what a stupid excuse, reminds me of people excusing the creator of Coffee Script because "Jeremy he was busy". if your work depends on an open-source project and the author "has life" so that critical bugs aren't resolved or important PR aren't merged then the only mature thing is to fork and let the maintainer get "life" as much as he wants. Because he is not irreplaceable
Ahhh gogs. This project has always rubbed me the wrong way with how much of a blatant steal of Github it is.
Sure, 'copy' the features, and take inspiration from the UI and layout, but so much of gogs looks identical to GitHub that it's nothing but stealing.
The issue of calling IP property.
I mean it's not like someone's breaking into GutHub's server room and stealing equipment.
You want to say it's a breech of copyright, patent or trademark? Maybe.
But then FreeBSD "stole" Unix, Windows stole Mac, Mac stole Xerox, Microsoft stole WordPerfect, and so on.
Isn't that semantics? I'm obviously quite aware there wasn't any physical theft.
My point was around the developers being seemingly okay with ripping off Github's UI.
5 replies →