That said, the interface seems a bit too "inspired" by Github. I hope they rethink how an application like this should work for themselves rather than allowing Github to influence their designs.
I see this quite frequently among opensource projects, they try to make clones rather than making a better product.
TLDR: Think about how the UI should work in your application. Its different for everyone so don't blindly clone others.
I don't understand your critique.
My impression of Gitlab is that they've done it exactly right. They copied the good parts from github but not the clutter, and it's looking pretty damn good so far.
Most notably they did not copy the non-hierarchical triple-menubar trainwreck of an UI-disaster (whoever came up with that at github should be fired three times in a row).
Instead Gitlab has a boring, utterly intuitive two-level hierarchical menu, consistently on every page. I love this boring menubar.
Another example is Open Office, everyone uses it and it does the job. But no one loves it, because its a copy. Its not the original and it will never be the same as using MS Office. Now compare that with Apple's iWork. Its not a copy; its an original. When I use it, I feel comfortable in knowing that Apple has worked to provide an experience that is second to none.
On top of the possibility for customization and extension, having more independent nodes means less chance of catastrophic failure. The cloud is remarkably unstable; look at heroku's uptime and at cascading failures even in redundant cloud systems for an example. It'd take the whole internet falling apart for thousands of individual hackers' repositories to all break down.
SourceForge is only big because they are already hosting so many projects. I haven't seen any intresting new projects there. And those being there are would mostly be willing to switch to GitHub, if they had enough spare time for that (it's not just the project switch, but also the switch from CVS or Subversion to Git they would have to manage).
Innovate. This is hard, and if you aren't skilled enough to pull it off you end up with something inferior to the original.
Create some kind of gratuitous differentiation. If you're not qualified to innovate but you want to be seen as not copying. This is the worst option IMO.
Copy the leader exactly. (Hello Samsung!) This is what you should do if you can't afford to innovate (and if you can get away with it).
Unfortunately, open source developers who are too proud to copy but not skilled enough to innovate in UI is what leads to bad software.
The current state of the Amazon shopping cart and checkout experience is the result of billions of tests (transactions) over the past 18 years of its existence. In fact, we can think of Amazon as a giant "shopping cart testing and optimization machine" that displays its findings for all to see. To not use and benefit from those results is, let me try to find a word other than the "s" worD, maybe not a great idea.
My point is that Github is the market leader in what it does and to not identify and benefit from its best parts is maybe not a great idea. I would expect a strong competitor to GitHub to be strongly inspired by it. Obviously, they cannot (or at least should not) copy things that would infringe on GitHub's copyrights and trademarks, and not its color scheme, typography, and copywriting, but I would expect features and workflows to be very similar, sometimes even identical, to GitHub's. Microsoft Office vs. LibreOffice is an example that comes to mind. Don't reinvent the wheel. Use the knowledge and test results that you have available. Swim downstream, not up.
Just my two cents :)
Other reimplementations of big applications face similar issues.
For example, the similarity of LibreOffice (formerly OpenOffice) to older MS Office versions is an important factor that contributed to their wide success. Over the years, they were able to maintain a more consistent UI than MS Office.
I use it with redmine and have a really good setup with project and repository management.
And ironically, the source code is hosted on github.
I started Gitlab.com last month and we already have more than 250 people who have created an account.
Many companies are already using Gitlab behind their firewall: Phusion, Thomson Reuters, Michigan State University, see the bottom of the Gitlab.org front page for more.
The fact that the source code is on Github is ironic, we need public repo's to change it: http://gitlab.uservoice.com/forums/176466-general/suggestion...
If you consider using Gitlab as a in-house self-hosted "GitHub-feature like" alternative, Gitlab is really good! We use it for our projects and it runs quite well.
Bitbucket suports Git, too. (not just Hg)
The issue tracker is rather basic (like Github) so you guessed correctly -- many people are using it alongside Redmine. I've created a simple patch and theme to tie the two together [1] - something that would be impossible with Github. Between the two it's had a significant positive impact on recent projects for both me and my clients. It's been much easier to grasp the current state of the project than using just gitk or a standard file browser or cli client. I expect to see many more Gitlab installations in the future. The ability to customize it for a need is invaluable.
[1] https://github.com/gitlabhq/gitlabhq/issues/97#issuecomment-...
There's also Gitorious, which has been around a while and is mature, full-featured, and provides both a SaaS [2] and the FOSS software you can host yourself [3]. I keep backups of some of my repo's there.
BTW we've recently addressed the complicated manual setup with a new, automated installer that gets you set up within 30 minutes: http://getgitorious.com/installer
Also, a new and improved UI is due to arrive in Gitorious soon: http://blog.gitorious.org/2012/08/21/sexy-looking-repositori...
All feedback is very welcome.
Has anyone done any A/B testing on something like this?
[Edited: I'm _really_, _really_ not trying to be the grammar police here. I'm in no position to do so, and my grammar is faaar from perfect. I'm just wondering about the actual impacts (or lack thereof).]
If you are looking for something a bit different, there's also fossil.
I still use it as a nice dvcs though, mainly for the single binary file installation.
Also, where do you get the idea that the issue tracker has been closed? It's possible that the maintainer has gone on hiatus, and there's not as much activity as there was once, but I see they have fresh issues this week and a release just yesterday.
I think that Fossil is a terrific way to introduce anyone to command line, database, and scm who you intend to sell or gift with a 'database' of any kind. It's very odd to me how many people can't wrap their head around the concept of a file, or database, let alone ./configure; make; make install
I think that SQL is the most accessible language to those people, since it fits a simple grammar and statements end in semicolons, and the fact that Fossil repositories can come packaged into a sqlite database file means that two weeks after you got them to try using Fossil to keep their copy, there should be no magic left in the box, you can show them a database and they should 'get it'.
I have not tried this with anyone, but it should work... of course unless they just aren't trying...
I was already planning on installing gitlab this week to try it out. Anyone here got any advice or suggestions on using it as a Github replacement for a small team?
I don't think the editor allows you to create new files.
Yes.
The trick is that lib/gitlab/file_editor.rb checks the file out, modifies it, commits it, and removes it. I read this from one of the comments in the original post.
It's gloriously ironic! A photo mocking Rails security attached to a private repo... that's not secure.
There is always room for something new.
Congratulations on reaching 3.0!
If you install it on Ubuntu, their wiki has instructions that you can pretty much copy and paste; the most complicated bit probably being the gitolite setup, which is what it uses internally for repo auth.
I was just a single user so most of the functionality was a loss, so I transferred to bitbucket (free private repos) knowing full well the potential risks. It saved me the effort of keeping my own server up to date and secure (I'm not the pro, I can trust github or bitbucket to know and do better) at the cost of no longer being self sufficient.
That said, I'd recommend this for any organisation that wants its own github, doesn't want to pay enterprise money, and doesn't mind doing all the hard work itself. And that's not faint praise, because it was fucking good when I did use it (while it was mid-Twitter Bootstrap conversion).
It supports both hg and git, adn while the ui could look better - its very functional and can do a lot.