Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Kind of surprised no one has mentioned gogs, which aims to be an on-premise github, but written in golang with a single binary deployment:

https://github.com/gogits/gogs



Whenever I see things like this ("like X, but written in a different language"), I can't help but think that there's a lot of effort wasted for something that makes no difference to the end user. Why duplicate the whole thing just to make deployment (something that happens once) a bit easier?

Does anyone else feel this way?


It makes a difference to me what I put on my server. I don't run any rails apps at all because I don't understand the security implications enough and I haven't had a rails app I wanted enough.


What security implication(s)? ... from _known_ security issues released to the public and now patched ...

... and you know there are 0 security vulnerabilities you don't know about in Go Lang or GoG, and it's 100% now and forever ?

... you know you can run any rails app using a localhost webserver ... just saying.


You are right, I don't know that. But, I have an opinion on the likelihood of future vulnerabilities and my chance of being on top of them (and my ability to assess and remediate). My point was more that I care about the implementation language than saying that Go was better (for me, it's not).


I partially agree, but if you're going to be hosting your own server you should be considering the front end features, as well as making sure whoever is going to be maintaining the server it lives on won't want to pull their hair out.

I recently toyed around with InfluxDB which is a similar thing (written in go, no external dependencies) and it was pretty novel to have a 'self contained' binary like that.

I suspect it's especially helpful when dealing with docker images as well.


I definitely see the appeal of a single binary, and maintaining Stash has made us want to tear our hair out, but, in the end, the hours lost there are fewer than the hours we would have gained if the developer of this project decided to help another one. The new features would save us much more time than time spent administrating it.


Whenever I see things like "Why duplicate the effort, help with the existing ones", I cannot help but wonder how people fail to recognize that all great things had once a beginning. Gogs may or may not turn out to be great, but thinking that because it duplicates effort, it's a waste is very short sighted. Examples? How about countless Linux distributions? How about git itself?


It's not a waste just because it's a duplicate. It's a waste because all it aims to be is a duplicate in another language (which matters very little).


You obviously didn't read the README section titled "Purpose". Here's a copy:

``Since we choose to use pure Go implementation of Git manipulation, Gogs certainly supports ALL platforms that Go supports, including Linux, Mac OS X, and Windows with ZERO dependency.

More importantly, Gogs only needs one binary to setup your own project hosting on the fly!``

But even if "all it aimed" was to be a duplicate in another language, that's just part of what will define it in the future. Linus didn't "aim" for his "just a hobby, won’t be big" project to take over the world and it did. Public open source projects have some of the most unpredictable paths - I'm not sure why you're trying to imply this one's an exception and it'll go nowhere!


> It's a waste because all it aims to be is a duplicate in another language

This is not true. It aims at being a great git web ui and management system first and foremost.


Absolutely. I also think it's ridiculous that every language has it's own package manager, and some of them work in considerably different ways. Considering the amount of work put into NPM, Gems, PIP, Pear, Brew, RPM, APT, etc... this should just be a solved problem by now.


Oh god yes, we're in a state of package manager hell with all these languages, the worst part is that they all act so differently that it becomes hard to manage with puppet / chef etc...


Gogs was on the HN front page yesterday[0]. The one cool thing that Gogs has for it is being written entirely in Golang. It does all of its work with Git with it's own implementation of Git[1]. This allows it to work and build on all platforms that Go is supported on without having to worry much about 3rd party tools.

[0] https://news.ycombinator.com/item?id=7623589

[1] https://github.com/gogits/git




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: