Slashdot Mirror


Ask Slashdot: Self-Hosting Git Repositories?

mpol writes "We're all aware of PRISM and the NSA deals with software houses. Just today it was in the news that even Microsoft gives zero-day exploits to the NSA, who use them to prepare themselves, but also use the exploits to break into other systems. At my company we use Git with some private repositories. It's easy to draw the conclusion that git-hosting in the cloud, like Github or Bitbucket, will lead to sharing the sourcecode with the NSA. Self-hosting our Git repositories seems like a good and safe idea then. The question then becomes which software to use. It should be Open Source and under a Free License, that's for sure. Software like GitLab and GNU Savane seem good candidates. What other options are there, and how do they stack up against each other? What experience do people have with them?"

165 comments

  1. gitlab by cr0nj0b · · Score: 2
    1. Re:gitlab by Anonymous Coward · · Score: 1

      I think my favorite thing about Gitlab has to be the description that reads:

      Self Hosted Git Management application. Create projects and repositories, manage access and do code review..

      then has a link to the source code and installation instructions, both of which are hosted on....Github

    2. Re:gitlab by Anonymous Coward · · Score: 1

      Been using Gitlab at our company for about a year now. 0 down time. Tons of projects and repos on it.

    3. Re: gitlab by Wattos · · Score: 1

      I set gitlab up at home. It is very good, but a maintenance nightmare. No automated installation or updates, so i keep running on an old version.

      It would be a 3A solution if they offered a ppa with automatic updates

    4. Re: gitlab by eexaa · · Score: 1

      To be honest, the updates aren't such a big deal. I was running and upgrading it through versions 2.x to 5.1 (or whatever is recent), and all updates went like:

      - git fetch
      - git checkout version-x.y
      - copypaste upgrade script commands from the web
      - service gitlab restart

      there has not been a single error in the upgrade process, ever.

    5. Re:gitlab by eexaa · · Score: 1

      The single best thing about GitLab is the usage concept. The whole thing screams "Hey, use me, it will work correctly, look nicely and there will be a bonus feature!"

      We were using Redmine+gitolite for issues&code review&hosting before, and the programmers didn't really like to touch it very much because there was a plenty of form-filling for every issue/milestone, git integration was somehow weird, etc. I was surprised how migration to GitLab improved the way they document&fix stuff and help each other with their work.

      Programmers love GitLab.

  2. Naive by Anonymous Coward · · Score: 0, Interesting

    Unless the GIT repository is in your home and not connected to the internet, the NSA can snoop it. What makes you think they don't have access to the BGP gateways? Try to keep your source code secret from NSA is pointless. Unless you're building stuff they care about, they don't give a crap what you write.

    1. Re:Naive by BitZtream · · Score: 0

      'BGP gateways' ? WTF are those? BGP is a protocol run on routers of all types, and standard hosts as well, depending on the purpose. You mean border routers perhaps? Who cares? You do realize you can make an encrypted connection to your repository, right?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:Naive by Xtifr · · Score: 1

      Unless the GIT repository is in your home and not connected to the internet, the NSA can snoop it.

      That's assuming they can break the SSH or SSL encryption. Which is possible, I suppose, but hardly a given.

      If you're not using SSH or a VPN, then anyone can snoop it. It's about as secure as running a vanilla telnetd.

  3. Re: If you don't want people to see the source... by Anonymous Coward · · Score: 1

    This. The NSA probably knows how to download your code via "generally accepted public protocols" even if they normally use "clandestine connections" for their day-to-day work.

  4. Github by curunir · · Score: 2

    You know it, you love it. Just continue using Github (just on your own servers)

    --
    "Don't blame me, I voted for Kodos!"
    1. Re: Github by Anonymous Coward · · Score: 0

      I'm a fan of stash myself.

    2. Re:Github by loufoque · · Score: 1

      Github licenses its software precisely for this reason. (people who don't want to put their data in the cloud)

  5. Why hide? by Anonymous Coward · · Score: 0

    What kind of software are you developping that you don't want the NSA to look at? Even if the open source community is open enough to support your closed source model, should it really support such suspicious endeavours?

    1. Re:Why hide? by Anonymous Coward · · Score: 0

      The whole "if you aren't doing anything wrong, than you don't have anything to hide" argument makes me sick! How is it that having something private is immediately become a "suspicious endeavor"?

      Couldn't it simply be "protection of intellectual property", or a general mistrust that someone who has the ability to look in on something would also feel obligated to keep said secrets to themselves, or ...?

    2. Re:Why hide? by Anonymous Coward · · Score: 0, Informative

      Maybe the NSA will go into business for themselves selling/using your code. Don't believe intelligence agencies do this? Why not ask the drug dealers how they like competing with the CIA.

    3. Re:Why hide? by Anonymous Coward · · Score: 0

      What kind of software are you developping that you don't want the NSA to look at?

      Why does the NSA need to see his source code if he doesn't have anything to hide?

    4. Re:Why hide? by murdocj · · Score: 1, Insightful

      That's my question... so the NSA *might* be able to access your source... if that's your biggest problem, I want to invest in your company!

    5. Re:Why hide? by larry+bagina · · Score: 0

      What kind of software is the NSA developing that they don't want the public to look at it?

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    6. Re:Why hide? by Anonymous Coward · · Score: 0

      I think the point is more, "You're not doing anything interesting enough to catch the attention of the NSA and if you were they would probably want to hire you so why are you so adament about hiding this particular aspect of your life instead of marching in the streets in protest at the principle of the thing.

      In other words, what's with all the paranoia and hypocrisy?

    7. Re: Why hide? by Anonymous Coward · · Score: 0

      The author doesn't say which country he is from. The legal procedures NSA claims to follow protect only american citizens. He american three letter agencies have a long history of commercial espionage against other countries, including allies, and passing it on to US companies. I think US cloud providers wil have a hard time selling their services to international customers.

    8. Re:Why hide? by gl4ss · · Score: 1

      What kind of software are you developping that you don't want the NSA to look at? Even if the open source community is open enough to support your closed source model, should it really support such suspicious endeavours?

      maybe he is selling sw to you know.. some other government than usa.

      also other reasons why hide.. well.. if the code is really something special and worth some money, why the fuck would you want to donate it as a retirement project to some geezer at NSA?

      --
      world was created 5 seconds before this post as it is.
    9. Re: Why hide? by Anonymous Coward · · Score: 0

      Then why the heck would you use the cloud to store your project, regardless of how the service provider is flagged??

      If you think the NSA & USA are too protectionist for your tastes, the uh, take your stuff offline, don't share it with anyone. Duh.

  6. Do you understand what Open Source means? by Anonymous Coward · · Score: 0

    It's open to everyone. Not just the people you like.

    Arguing "the NSA having access to GitHub is a threat to Open Source" is arguing opening the source is a threat to Open Source.

    Come back when your paranoid fantasies at least resemble the reality I live in.

    1. Re:Do you understand what Open Source means? by Anonymous Coward · · Score: 2, Interesting

      It's open to everyone. Not just the people you like.

      Arguing "the NSA having access to GitHub is a threat to Open Source" is arguing opening the source is a threat to Open Source.

      Come back when your paranoid fantasies at least resemble the reality I live in.

      Who are you even talking to? The article doesn't say anything about any threat to open source at all. He's talking about closed source code, stored on a third party repository, and has wisely decided that he'd rather just host it all himself. In order to do so, he'd like to use a management product which is open source.

      Reading comprehension- get some.

    2. Re:Do you understand what Open Source means? by mwvdlee · · Score: 1

      If you pay them, GitHub also offers private repositories.
      If NSA has access to GitHub, then those repositories aren't really private at all.
      Ofcourse no online service is 100% private; the service company and hosting company both have full access to all data on their servers.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  7. GitBlt by stanlyb · · Score: 3, Insightful

    Pretty good web interface. But in general, you dont need any special repository server, as GIT itself is the server, and client, etc. The only difference between dedicated server and a simple shared folder is the authentication, and the questionable convenience of having a web interface.

    1. Re: GitBlt by Anonymous Coward · · Score: 0

      Gitblit

  8. It's the only way to be sure. by Anonymous Coward · · Score: 0

    If you want to make sure NOBODY gets to it, a local server with no connections to the internet whatsoever. Require people to hardwire into it with wireless turned off on pain of something creatively unpleasant. Or just make sure that your source code is of no use to people if they want to do something nefarious, which I presume you already do given that it's essentially "public" at the moment? As long as code is calling cruical things like DB connection details from a secure location well away from public repos then They can't do much with your variable names and algorithms other than replicate your code.

  9. Re:If you don't want people to see the source... by Anonymous Coward · · Score: 5, Informative

    1. To moderators: this is not a Troll. A misunderstanding, yes. A Troll, no. This leads us to...

    2. To commentors: You don't need to insult somebody to correct them. Here's how:

    Git repositories aren't necessarily OSS/FS. You can host proprietary software if you pay them.

  10. You really need to clarify this. by Nutria · · Score: 2, Insightful

    It's easy to draw the conclusion that git-hosting in the cloud, like Github or Bitbucket, will lead to sharing the sourcecode

    Your "family jewels" live on someone else's machine, which is purposefully designed to let anyone on the Internet get access to it. So of course some Others* are going to get access to it even though you've password protected it.

    * And it doesn't even have to be PRISM, Echelon or the DOJ. Your competition, plain old script kiddies, Russian cyber-criminals, Chinese hackers and a host of others might break in.

    --
    "I don't know, therefore Aliens" Wafflebox1
    1. Re:You really need to clarify this. by Anonymous Coward · · Score: 1

      insightful!? ... ever heard about private github repositories?!

    2. Re:You really need to clarify this. by gl4ss · · Score: 2

      insightful!? ... ever heard about private github repositories?!

      I thought he was referring to them, but poorly worded. you see, github is meant for to be accessible from anywhere.. private repos are supposed to be limited to people you authorize of course. but still if you want to keep it private storing it on any cloud server or even net accessible private server is no good.

      --
      world was created 5 seconds before this post as it is.
    3. Re:You really need to clarify this. by loufoque · · Score: 1

      You do realize hundreds of software companies use Github for their closed-source software development?
      Putting it in the cloud allows a more cost-effective solution and a better quality of service. Sure that means you have to trust Github, but for some people that's a good enough trade-off.

  11. Encryption! by Anonymous Coward · · Score: 0

    Just encrypt it! Find a site like Github that does Git under Homomorphic encryption, should work great!

    (In case its not obvious, I'm being sarcastic here. Here are exactly 0 "cloud" git hosts that support Homomorphic encryption, because its a silly idea)

    More realistically, its probably possible to encrypt the Git object store, then the NSA only gets your meta data (which is a massive amount of info). Still not an actual suggestion.

    For local stuff, I use the "git daemon" command which hosts git for you (included with git). You can also just put a git repo on a shared directory somewhere to clone from (and have someone pull to it).

    1. Re: Encryption! by Anonymous Coward · · Score: 0

      There are 0 cloud services supporting homomorphic encryption (HE) because it isnt practical yet. The math is only just starting to make sense. HE is a fantastic concept, and well suited to a github type of use case. Truelly proprietary code hosted by a 3rd party you dont need to implicitly trust.

  12. How does this protect you? by Tr3vin · · Score: 4, Informative

    I get why everybody is stocking up on tinfoil right now but based on what the NSA can supposedly do, hosting stuff internally isn't going to keep it away from them. After all, Microsoft is handing over all of the zero-day exploits and they are free to peruse the source to the Linux and BSD kernels.

    1. Re:How does this protect you? by godrik · · Score: 1

      well, you get to start somewhere, isn't it? Removing the data from machines you do not control to machine that you control is bound to make it harder for them. They could use zero-day exploits but they will need to put have some form of access to that particular machine. If the machine is properly firewall or configured it would still be difficult to access it.

    2. Re:How does this protect you? by hobarrera · · Score: 1

      Yeah, but good luck trying to find an exploit on the OpenBSD kernel to access my stuff.

    3. Re:How does this protect you? by JanneM · · Score: 1

      A massive automated dragnet reiles on most data being very easy to access (whether technically or through bulk warrants). Add only moderate security to your data, and suddenly it won't be accessible in that way by default anymore. It has to be individually targeted in some manner, and that takes time and manpower that is always in short supply. So that won't happen unless there's a specific reason to target that data.

      --
      Trust the Computer. The Computer is your friend.
    4. Re:How does this protect you? by bill_mcgonigle · · Score: 1

      After all, Microsoft is handing over all of the zero-day exploits and they are free to peruse the source to the Linux and BSD kernels.

      We don't think they're attacking every system - we think they're attacking the high-value targets where the largest number of people are (Google, Facebook, etc.) They're storing away all that information for later prosecution of political enemies.

      If they were in every system in the world, we'd know about it. Lots of paranoid people run IDS's, some even with one-way isolated passive monitoring. NSA can't break that.

      What the OP is proposing is that they may be in github, or if they aren't, it's a high-value target, so he wants to get out of the way of the spies (and the spies have spies, some of whom will sell his trade secrets to his competition).

      The silver lining here is a potential resurgence for open source and end-to-end Internet solutions. Who wants to bet if they have taps on Amazon and Rackspace?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  13. Gitorious! by Anonymous Coward · · Score: 0

    I prefer http://gitorious.org/

    +open source
    +has an appliance to try
    +has a great code viewer
    +fairly intuitive interface

    -appliance uses puppet to update itself, be sure it's off or install from scratch if you want to use it for prod
    -if you need server side hooks per repository/non globally, you need to hack it a bit

    1. Re:Gitorious! by Anonymous Coward · · Score: 0

      Glitorus! (heh>heh) What ... Why not?

    2. Re:Gitorious! by detain · · Score: 1

      gitorious has always felt a little unsecure, and it tends to be rather picky about which ruby gem versions it uses. that aside, amazing interface.. probably one of the best

      --
      http://interserver.net/
    3. Re:Gitorious! by Firetoad · · Score: 0

      I can second Gitorious. A few years ago I set up gitorious on a spare server we had in the organization I was working for at the time. Worked great, and the interface was great especially for people who were new to git coming from other version control systems. Since it was open source it was also pretty easy for me to hook into our existing LDAP authentication.

      That said, my current company uses gitolite and that works pretty well for us.

    4. Re:Gitorious! by larry+bagina · · Score: 0

      Yeah, the clitoris interface is the best thing in the world.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  14. This is all futile anyway by Giant+Electronic+Bra · · Score: 1, Interesting

    There is utterly nothing you can do to be sure you're not vulnerable to government snooping. The NSA could be subverting the very designs of the CPUs, NICs and etc that make up your computers at the hardware level. Even if they aren't doing that you have NO WAY to know that your OS is secure. You say "well, its open source, I can review the code, nobody can get a back door into Linux!" this is utterly nieve. What compiler was your kernel compiled with? Oh, you compiled it yourself! What compiler was your compiler compiled with? UNLESS YOU CAN LITERALLY TRACE EVERY SINGLE PIECE OF CODE IN YOUR SYSTEM ALL THE WAY BACK TO HAND BUILD MACHINE CODE (and how would you trust the hex editor you did that with, toggle switches and paper tape anyone) you really literally don't know what is ACTUALLY running on your system, and what it is ACTUALLY doing.

    Obviously you need to be pretty paranoid to believe that the NSA has corrupted the GNU toolchain in such a way that it inserts back doors in every OS kernel it compiles, that the debugger has code inserted in it to not display said OS code, etc, but it is technically possible. The real question is whether or not there's any point in becoming paranoid about your GIT repository or is it just not worth considering when once you reach the level of paranoia where the NSA is stealing your code. If they are, then they are doing MUCH WORSE things that render any such considerations irrelevant.

    Sleep tight.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:This is all futile anyway by Anonymous Coward · · Score: 0

      So who do you work for?

    2. Re:This is all futile anyway by the+eric+conspiracy · · Score: 1

      I would be surprised if the NSA could bridge bridge an air gap unless they get real close to your hardware.

    3. Re:This is all futile anyway by Jeremi · · Score: 1

      There is utterly nothing you can do to be sure you're not vulnerable to government snooping.

      Well, there's always the air gap -- keep your git-hosting computer in a secret place, never connect it to any network or external hardware, and ideally never power it on either :^)

      OTOH, if your software is open-source anyway, it's hard to see why anyone would feel the need to hack the server to get to it.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    4. Re:This is all futile anyway by MtHuurne · · Score: 3, Insightful

      Obviously you need to be pretty paranoid to believe that the NSA has corrupted the GNU toolchain in such a way that it inserts back doors in every OS kernel it compiles, that the debugger has code inserted in it to not display said OS code, etc, but it is technically possible.

      If there was only one program that could display object files, it could be done. But any number of programs can display object files, including plain hex editors. If every single hex editor would have been compromised, we would have noticed by now. And a compiler that can detect "oh, this code is a hex editor, I'd better patch it to make it hide the nasty stuff when it's run" is way beyond what can currently be created, certainly not running fast enough on an ordinary PC to avoid detection.

      Besides, it's not the question of whether the NSA can access your files if they consider it their highest priority. The problem is that if there is an easy, low-cost way to access your files, an individual rogue agent might do it and hand your files to your competitor (a favor for a friend or for a little extra cash) without the rest of the NSA even knowing about it, or finding out only after the fact.

    5. Re:This is all futile anyway by Anonymous Coward · · Score: 1

      I would be surprised if the NSA could bridge bridge an air gap unless they get real close to your hardware.

      I would be surprised if you knew what TEMPEST shielding is, because NSA snooping vans have been parked outside of military installations picking up "wireless" video transmissions from unshielded computer equipment for literally decades now. And parked 30+ yards away too. Not exactly "real close".

      And since lead lining tends to make that 1-pound ultranothingbook weigh about 10 pounds when you're done shielding it, very few people are interested in truly protecting themselves from even the easiest of hacks.

    6. Re:This is all futile anyway by Giant+Electronic+Bra · · Score: 1

      Well, I don't think most of us need to be too worried about 'Tempest' (though actually you can buy the necessary equipment to make a Van Eck device). 'the eric conspiracy' has a point. If you want to restrict yourself to doing things offline, well you won't have to worry too much about NSA online spying... Of course it is a HARD thing to do these days, though still possible. In 20 years my guess is being 'off the grid' will be virtually impossible.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    7. Re:This is all futile anyway by Giant+Electronic+Bra · · Score: 1

      Obviously you need to be pretty paranoid to believe that the NSA has corrupted the GNU toolchain in such a way that it inserts back doors in every OS kernel it compiles, that the debugger has code inserted in it to not display said OS code, etc, but it is technically possible.

      If there was only one program that could display object files, it could be done. But any number of programs can display object files, including plain hex editors. If every single hex editor would have been compromised, we would have noticed by now. And a compiler that can detect "oh, this code is a hex editor, I'd better patch it to make it hide the nasty stuff when it's run" is way beyond what can currently be created, certainly not running fast enough on an ordinary PC to avoid detection.

      Well, just being a DA here. You would be able to tell there had been code added to your binary using a hex editor? Now, I AM pretty old school, I entered hex programs using thumbswitches on 70's era DEC hardware, and from magazines into my VIC-20, etc. and I've written plenty of assembly by hand, but IN GENERAL I'd be hard-pressed to see compiler/linker injected binary code in any application of the size that all apps are on modern PCs. Nor have I had the slightest reason or desire to hex edit a binary in going on 20 years now. The truth is, we compile our code and we assume that what the programmer hath wrot the compiler hath faithfully compiled. I don't doubt there are A FEW exceptions to that in kernel code, but my guess is no single living human being has extensively hex-edited a Linux kernel in MANY years, nor major binaries like network servers, PAM libraries, etc.

      Again, I don't think you're wrong, I suspect that aside from possibly some very specific targetted code that your average modern OS kernel is exactly what it purports to be (though I wouldn't doubt that some code has been contributed to OSS kernels knowing it has specific exploitable weaknesses).

      Besides, it's not the question of whether the NSA can access your files if they consider it their highest priority. The problem is that if there is an easy, low-cost way to access your files, an individual rogue agent might do it and hand your files to your competitor (a favor for a friend or for a little extra cash) without the rest of the NSA even knowing about it, or finding out only after the fact.

      Well, of course, the NSA etc can access any damned thing if they think it is worth their while. However if you have 'rogue agents' running around surely they aren't mustering the full 'pull-out-all-the-stops' resources for their own ends. So chances are what such a person can do is in the same ballpark with what some mercenary hacker employed by your competitor can already do. Of course hosting your own GIT repository MIGHT be useful against that sort of problem, and maybe not. Frankly if I was really concerned enough to be taking significant measures, I'd run all my stuff on a secure network and hire people to be onsite because clearly you're willing to spend money on security and that's a better spend of your $. If someone MUST access from off-site then that is after all what VPN's are for, and something like a CISCO box and VPN client/IPSEC is likely your best bet. No more 'NSA Proof' than anything else, but you're trying at least, and your average hired-gun hacker might not get past THAT.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  15. Fossil by Anonymous Coward · · Score: 2, Informative

    http://www.fossil-scm.org/

    The self-contained, stand-alone binary supports distributed version control, wiki, and bug reports. (The entire Fossil website linked above is simply a running copy of Fossil. When you clone a Fossil repository, you don't get just the source code, you get the whole website.) The same self-contained, stand-alone binary acts as the client, or as a standalone web server, or as a CGI program, or as a server run from inetd/xinetd.

  16. Re:If you don't want people to see the source... by agapeton · · Score: 1

    A lot (most?) people use those as code backup-- like G+ for photo storage. The private repo is a good idea; I might convert my 20+ private reops to it.

  17. Tell me.. by intellitech · · Score: 1

    Where exactly did the submission say this was for open source software? Company implies private source to me, but maybe that's just me.

    Anyway, something worthy of moderation would be http://gitlab.org/

    --
    vos nescitis quicquam, nec cogitatis quia expedit nobis ut unus moriatur homo pro populo et non tota gens pereat.
  18. Sorry, double post. by intellitech · · Score: 1

    Also, for the record, I've set this up for clients for self-hosted project space, and I use it for my personal projects as well. It's installation procedure may seem a bit clunky, but it does the job well and is easily extendable. I continue to recommend it, it's excellent software and it's only getting better.

    Seriously, check it out: http://gitlab.org/

    --
    vos nescitis quicquam, nec cogitatis quia expedit nobis ut unus moriatur homo pro populo et non tota gens pereat.
  19. Re:If you don't want people to see the source... by stewsters · · Score: 2

    You can host your own git repository and access it over ssh. Make a new account on a server, generate keys on your clients and add it to that authorized_keys file. Make sure it can access the .git directory. This seems to be what github does, but in a more automated way. You wont get the cool webpages to browse source, but honestly it is a security hole.

  20. White Hats & Ethical Hacking by McGruber · · Score: 1
    From the article:

    Microsoft Corp. (MSFT), the world’s largest software company, provides intelligence agencies with information about bugs in its popular software before it publicly releases a fix, according to two people familiar with the process. That information can be used to protect government computers and to access the computers of terrorists or military foes.

    Given what intelligence agencies do with the information disclosed to them, how might a white hat ethically disclose vulnerabilities to MSFT?

    1. Re:White Hats & Ethical Hacking by stewsters · · Score: 2, Interesting

      I agree. Might as well sell the vulnerabilities, thats what m$ does.

    2. Re:White Hats & Ethical Hacking by recoiledsnake · · Score: 0
      --
      This space for rent.
  21. Gitosis + gitweb.cgi by stolen+username · · Score: 1

    Gitosis to manage the repositories, gitweb.cgi pointing to your repositories directory if you happen to want web-based read access. There's a nice guide on setting up Gitosis on the Git website.

  22. Re:If you don't want people to see the source... by Anonymous Coward · · Score: 1

    Well. That guy who called you a moron was right on both counts.
    You're a moron.
    The topic of open source relates to the version control manager, not the software OP wants to create.

  23. Really? by spotlight2k3 · · Score: 1

    Do you think that hosting it private will stop them? only if you keep it on a closed network with no outside access and even then one of your employees are most likely a NSA agent and will still give them what they need.

    1. Re:Really? by BitZtream · · Score: 1

      CVS doesn't use distributed in its documentation. Its not hip enough for todays demanding fanboy.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  24. They don't care. by Anonymous Coward · · Score: 1

    The NSA doesn't care about your shitty enterprise apps.

  25. Re:If you don't want people to see the source... by Anonymous Coward · · Score: 1

    2. To commentors: You don't need to insult somebody to correct them. Here's how:

    Knowing nothing about a subject and deciding to give advice about it anyway is idiotic and should be discouraged by all means. If that embarasses or hurts the ego of the person committing the idiocy then they have an incentive not to do it again.

    The real world is a bit different from what your kintergarten teacher told you.

  26. Don't need to leave the cloud by willy_me · · Score: 4, Informative

    Just host the GIT repository on a VM in the cloud. Look at TurnkeyLinux or Bitnami. Configure the VM to only accept encrypted connections and use an excrypted file system. One could still break into your VM if they wanted to - but it would be a lot of work and no government agency would bother investing the time and money to do so. If the NSA wants your source code you can bet they will get it - even if it's hosted locally.

    But the reality is you are being paranoid. The government does not care about your source code. They want to know who your friends are and when you communicate with them. If a rotten egg is found they want to be able to check for rot in neighboring eggs - because rotten eggs are generally connected.

    1. Re:Don't need to leave the cloud by Anonymous Coward · · Score: 0

      But the reality is you are being paranoid. The government does not care about your source code.

      We do not know what the story poster develops, but it wouldn't be the first incident where the technique available for monitoring is used for industry espionage.

    2. Re:Don't need to leave the cloud by MtHuurne · · Score: 2

      If an encrypted file system is mounted, the key is somewhere in memory. If it's mounted in a VM and you have access to the host machine, you can easily create a snapshot of the VM's memory. I don't think it would be all that much work for a person familiar with the internals of the OS kernel in question to figure out where the key is stored in memory. Another thing they could do with a VM snapshot is patch the authentication functions, so any login is accepted. There are countless ways of gaining entry into a system if you can freely examine and change its memory.

      You assume this would be too much work, but while the research to find a successful attack is non-trivial, repeating that attack is not that difficult and could be fully automated for popular OSes.

      Handing over the key to the attacker and hoping it's well hidden enough that it won't be extracted is pretty much what DRM does. And this is not even as obfuscated as the average DRM, since most operating systems are either open source or at least offer their source code for inspection.

    3. Re:Don't need to leave the cloud by Anonymous Coward · · Score: 0

      If I need to pick one of paranoid and stupid, I'm going with paranoid. You go host your companies secrets on some fancy cloud.

    4. Re:Don't need to leave the cloud by Anonymous Coward · · Score: 0

      Finding a key in a memory dump is actually much simpler than that. The amount of memory (and so the number of possible start addresses of the key) is very small compared to the number of possible keys. Trying each memory offset on the dump doesn't take long. keeping the keys in different formats in ram is possible, but those patterns could be tested for as well.

    5. Re:Don't need to leave the cloud by gl4ss · · Score: 1

      even if the government isn't directly interested in the code, there could be people who then have that code and give it as a gift to their mistress who gives it as a gift to his brother working at a competitor..

      --
      world was created 5 seconds before this post as it is.
  27. What features do you need? by Burning1 · · Score: 2

    If all you need is a place to dump your code, GIT is a perfectly functional GIT server. If you want full features, and damn the cost, you could consider GitHub enterprise.

  28. Really? by Anonymous Coward · · Score: 0

    A self-hosted source code repository?

    Something like cvs -d ~/cvsroot init

    Anyone?

    Anyone?

  29. Try Gitolite by davesque · · Score: 2

    At my company, we use Gitolite and I've only had good experiences with it.

    https://github.com/sitaramc/gitolite/wiki

  30. Re:If you don't want people to see the source... by wolrahnaes · · Score: 3, Insightful

    No, you still misunderstood. OP was asking for an open + free solution for self hosting, not saying that all their code they wanted to host is open + free.

    This was the important part:

    At my company we use Git with some private repositories.

    The private repositories are key. Those are not open. They may contain code which will eventually be released under an open and/or free license, but they are not currently. OP wants to take those out of "the cloud", using open/free solutions.

    --
    I used to get high on life, but I developed a tolerance. Now I need something stronger.
  31. Commercial interests vs national security... by Anonymous Coward · · Score: 0

    I think it's pretty unlikely they care about your source code, to be frank. A far more likely threat to your business is one of your team walking out the door with a copy and joining (or becoming) your competition.

    1. Re:Commercial interests vs national security... by Pav · · Score: 1

      Considering one of the most spied on nations in the PRISM leak was Germany does commercial espionage seem a be drawing such a long bow?

  32. Re:If you don't want people to see the source... by Albanach · · Score: 1

    Not a misunderstanding. My original post still stands.

    If it's not a misunderstanding, you have a comprehension problem.

    The poster wants an open source GIt interface. That still does not mean he intends to use it for development of open source software.

  33. I love it! by Anonymous Coward · · Score: 0

    I love the pathetic NSA tie-in. Do you really think hosting your own server is going to stop a nation-state from getting your source? Perhaps it would be more realistic to prepare for adversaries that don't have billion dollar budgets and thousands of mathemeticians, scientists, computer scientists, and electrical engineers working for them. Or you can just keep being a moron.

    1. Re:I love it! by Pav · · Score: 1

      Budgets are huge but they are finite. Increasing the unit cost of seizures isn't wasted. Inside the US extra legal protections also come into play also. Why not push some political pressure into the system via cloud provider lobbyists too?

  34. Re:If you don't want people to see the source... by CrudPuppy · · Score: 2

    Yeah, no sure what's so hard about this. We recently moved from SVN to Git (all private) and I grabbed a copy of Git and set it up within about 20 minutes using the docs having never used or setup Git before. I needed help from my developers to port all their code form SVN to Git, but that's not rocket science either.

    There's little point in not going private if you don't plan to share your code with the world (we sure as hell won't be sharing our closed-source, for-profit software anytime soon).

    --
    A year spent in artificial intelligence is enough to make one believe in God.
  35. Watch out! by Anonymous Coward · · Score: 0

    Try to keep your source code secret from NSA is pointless. Unless you're building stuff they care about, they don't give a crap what you write.

    That's exactly what they want us to believe!

  36. Try Darcs, you'll like it! by sticks_us · · Score: 1
    --
    "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth
    1. Re:Try Darcs, you'll like it! by Bitsy+Boffin · · Score: 1
      Darcs is lovely. But completely impractical.

      It's a real shame because it *almost* does version control right. But not quite.

      My main gripes:

      • Slow. Very very painful sometimes, minutes of processing for an operation on local disk slow...
      • Implicit dependencies make it virtually impossible to "cherry pick" - a feature which which is supposed to be one of the single biggest reasons for using Darcs, but which implicit dependencies make almost useless, "you can't have that patch without that other massive patch which you don't want but happened to touch the same file in an inconsequential way".
      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
  37. BS fatalism by Burz · · Score: 1

    First of all, virtually any built-in exploit worth having would show up on someone's network analysis. Someone would flag it as unwanted behavior, at the very least. That already puts the implementor out on a limb.

    Second, the difference between getting zero-days fresh from MS and making them put backdoors in the OS or hardware is like the difference between getting your best friend's wife pregnant from a fling or locking her up in your basement as a slave.

    What's telling about responses like yours is that they start off with a presumption of absolute certainty. Like anything else in life, its usually a matter of degrees. Absolutes just makes everything that's worth fighting for look impossible.

    1. Re:BS fatalism by Giant+Electronic+Bra · · Score: 4, Insightful

      LOL, I'm not saying anyone HAS done anything. The point is, once you assume a certain level of paranoia the number of things to be paranoid about, and the number of them which are utterly beyond your ability to control grows almost without bound. Limit your objectives to those which make sense, and don't worry about the things that are beyond your control.

      You'd think that backdoors and such inserted by compilers etc would be found, but actually Ken Thompson successfully injected a backdoor into Unix early on via the PCC (Portable C Compiler) which allowed him access to ANY Unix system for a number of years. It spread to pretty much every system in existence and was never detected before he finally revealed its existence in order to demonstrate exactly my point. This was accomplished via a 'double code injection'. When PCC compiled itself it added a chunk of code that injected a backdoor during the compilation of the login program. Once the first generation of this back door existed the source was removed from PCC, but of course since PCC was self-hosting the ONLY way to compile it was with itself, and since the copy that was used for that HAD logically to be descended from the original binary the injection and the back door were virtually undetectable.

      Obviously not every such scheme would work and remain hidden for years, but it is demonstrably possible. Its certainly not too much to think that there are systems that DO contain back doors of some high degree of subtlety. For instance it would be MUCH easier for Windows to contain some for instance, and the NSA etc have almost certainly operatives who work for MS.

      Frankly, don't loose sleep over it. Software at some level simply cannot be truly secure.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    2. Re:BS fatalism by Anonymous Coward · · Score: 2, Interesting

      You'd think that backdoors and such inserted by compilers etc would be found, but actually Ken Thompson successfully injected a backdoor into Unix early on via the PCC (Portable C Compiler) which allowed him access to ANY Unix system for a number of years. It spread to pretty much every system in existence and was never detected before he finally revealed its existence in order to demonstrate exactly my point.

      According to Ken Thompson it was built but never distributed. http://skeptics.stackexchange.com/questions/6386/was-the-c-compiler-trojan-horse-written-by-ken-thompson-ever-distributed

    3. Re:BS fatalism by Anonymous Coward · · Score: 2, Informative

      I don't think Ken Thompson actually stuck a backdoor into Unix that propagated to other systems, but he described in a classic paper one way how it could be done using a compiler.

      Not to add to the paranoia (if they were *that* interested they'd just break into your house, image your drives, and put everything back together again), some kind of backdoor almost got added to the 2.6 Linux kernel. The beauty of it was the appearance it was a simple coding error (assignment instead of comparison).

    4. Re:BS fatalism by Anonymous Coward · · Score: 0

      > Frankly, don't loose sleep over it.

      What does that mean? I've never heard that slang before. Sleep that isn't tight?

  38. Why NSA? by Anonymous Coward · · Score: 0

    Bitbucket is Australian. Why would they share code with NSA?

    1. Re:Why NSA? by Pav · · Score: 1

      Because commercial espionage isn't unknown? Why else was Germany revealed to be so spied upon?

  39. Other Alternatives by paskie · · Score: 5, Informative

    You should clarify what are you after. Do you just need a place where to push + pull, or are you looking at something akin to the GitHub experience?

    Aside of GitLab, also consider Gitorious. I'm not sure about how easy it would be to get GNU Savannah up and running, and Git is only a small part of what it does.

    You can also find GitHub Enterprise interesting if you are ready to pay; I assume(!) it will call home to verify the licence though so making sure no stuff is sent to NSA may be tricky. ;-) Upside is minimal setup hassles for you.

    You may also find the Girocco platform interesting (CGIs for project index + project management web interface, and gitweb; much smaller than the above-mentioned ones so you have a good chance to actually review all the code for yourself, but it's also more raw experience; disclaimer: I'm the main author of Girocco).

    If you are fine with a simpler experience, you can simply use git-daemon (or purely SSH and git installed on the server), possibly gitolite to easily manage user access and gitweb/cgit for a web interface - there's no special magic, the Git repositories are just directories on the server.

    --
    It's not the fall that kills you. It's the sudden stop at the end. -Douglas Adams
    1. Re:Other Alternatives by GPLHost-Thomas · · Score: 1

      Aside of GitLab, also consider Gitorious.

      Gitorious may be nice, but it's really painful to install. It has so many components. Until it is available directly from a distribution (like Debian, since I know there's some ongoing efforts for that...), then I'd advise to stay away from it.

    2. Re:Other Alternatives by Anonymous Coward · · Score: 1

      Wow, it's rare that someone actually has an informed answer to an Ask Slashdot post.

      We use SSH and Gitolite and it's very easy to setup and administer. No fancy Github-style web pages, though, just plain Git and whatever local interface you have installed.

    3. Re:Other Alternatives by Anonymous Coward · · Score: 0

      We also use ssh and gitolite, and most are very happy with it. However some people are asking for a more github/bitbucket-like experience and we were considering trying trac, gitlab or allura (ex-sourceforge) and choose one of them. Any advice ?

  40. rhodecode by Anonymous Coward · · Score: 0

    http://rhodecode.org/
    Open source source control management system for Mercurial and GIT with code-reviews, built in push/pull server, LDAP/AD, permissions system and full text search.

  41. You aren't qualified to run your own by BitZtream · · Score: 0

    Seriously, you really aren't.

    You know absolutely nothing about GIT, clearly, since pretty much any google search for server information would tell you the server is the client is the server ... like most other revision control systems.

    Second ... a google search would have given you a clue, and you didn't even bother to do that. That in and of itself is why you aren't qualified to even be asking the question.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:You aren't qualified to run your own by godrik · · Score: 1

      also, you can easily set up git repository over ssh. My team is sharing code repositories that way, flag the repository group shared and install a hook that fix permissions after upload. And here you go, you have all the git repositories you need for most things.

      Though, I assume that OP was talking about more than just the git repositories themselves, but also bug report, automatic deployments, code reviews, commit messages, ... They can be hacked on top of git as well, but that is getting boring.

  42. Its a cgi script by MichaelSmith · · Score: 1

    Use gitweb.cgi

    Stick it in your cgi-bin directory and point it to your repos.

  43. Check out Turnkey LInux appliances by CQDX · · Score: 1

    There they have small Debian/Ubuntu based distros that are designed to run one or a few related types of applications. I just started using their Redmine project management app for handling my software projects. Specifically I use it to track my documents, bugs, feature requests, and source code. The repository GUI front end makes it relatively easy to examine the code, especially when I have to put it up on a big screen for meetings. The distro has git, Mercurial, bazaar, and Subversion already installed and ready to go. I chose to use Turnkey Linux instead of working up a vanilla Debian install because I didn't want to spend any time configuring apache, MySQL, Redmine, etc. when I had project deadlines looming. I was just looking for the most painless way to migrate from SVN to Git with the bosses requirement that I couldn't use a Cloud service like GitHub or Bitbucket. BTW, Redmine is just one of the project management appliances they have available so look around to see what might fit you best.

  44. use Gerrit by CompMD · · Score: 1

    Gerrit is a great tool that will host your git repositories, provide a robust access control framework, and give you excellent code review capabilities. It can connect to several types of auth back ends, and fits well in an enterprise. Gerrit is what Google uses for Android as well as for some internal projects. Several well known companies like Sony Mobile, Nokia, Qualcomm, Ericsson, ST, Garmin, Texas Instruments, and nVidia all use Gerrit and contribute back to the project as well.

    1. Re:use Gerrit by Anonymous Coward · · Score: 0

      Sony Mobile? Obviously, there's a rootkit somewhere in there.

  45. Hypocrite. by viperidaenz · · Score: 0

    So you want use open source software but you don't want to open source your own?

    1. Re:Hypocrite. by DrVxD · · Score: 1

      You mean like GitHub?

      --
      Not everything that can be measured matters; Not everything that matters can be measured.
    2. Re:Hypocrite. by viperidaenz · · Score: 1

      Exactly the opposite of the question. He wants to host it privately.

    3. Re:Hypocrite. by DrVxD · · Score: 1

      I wasn't replying to the question, I was replying to your comment:

      So you want use open source software but you don't want to open source your own?

      I was drawing attention to the fact that GitHub use open source software, but don't open source their own (although if you're wallet is fat enough, they'll license you a black-box appliance to run on your own hosts) - which is what you seem to be criticising the question for.

      --
      Not everything that can be measured matters; Not everything that matters can be measured.
  46. Re:If you don't want people to see the source... by Anonymous Coward · · Score: 1

    ...The private repositories are key. Those are not open. They may contain code which will eventually be released under an open and/or free license, but they are not currently. OP wants to take those out of "the cloud", using open/free solutions.

    Well, you got it half-right.

    What OP actually wants to do here is act like a complete paranoid fucking nutjob (and that's saying a lot coming from a guy with a collection of custom tin-foil hats), simply because a story "broke" about how the NSA collects data on American citizens.

    And to that "breaking" news, I say to every ignorant apathetic citizen standing there in disbelief, No Shit Sherlock.. What the fuck do you think three-letter agencies have been doing for years.

    Oh and it's hilarious that the git solution was good enough last week, but suddenly this week it's total crap because the NSA might (now "suddenly") get their hands on your code. Shit, if they wanted it bad enough, they would probably just break into the damn building to get it, cloud or no cloud. Physical security is usually the least mysterious to figure out. Your offline solutions are a pathetic joke if it's a 3-letter agency you're trying to hide from. Good luck with that shit.

  47. Re:If you don't want people to see the source... by Eskarel · · Score: 3, Insightful

    No, the OP is just a paranoid douche bag. He thinks the NSA is out to get him (which they very well could be), but then wants someone to give him an off the shelf product to magically make his source NSA safe. He complains about Microsoft sharing zero days with the NSA and then wants an open source solution which by design will share zero days with everyone, including the NSA.

    In essence the only way to actually make this work if you really really really want to be NSA proof and still have your system externally accessible is as follows.

    1. Create a local unhosted Git Repository
    2. Put your source in said git repository.
    3. Encrypt the git repository using a decent private key and not some bullshit from verisign which was useless before everyone knew the NSA was spying on them.
    4. Host the repository wherever the fuck you like, you can stick it on a public web page title "NSA Come Get My Source Code" with no password if you want.to as there's no evidence that the NSA can actually break strong encryption.

    5. Download the Encrypted Repository, Decrypt it and do your merges and whatnot. For bonus points air gap the system you download the repository on and the system which holds your decrypted source.

    This will of course be a gigantic pain in the ass and remove nearly all the benefits of having a hosted solution in the first place, but what it will actually do, unlike any other option is actually work. You will have a "hosted" Git Repository which can be accessed by people who have the keys and no one else, at least until the bad guys get your keys.

    Of course all of this is completely unnecessary and misses the entire point of the Prism exercise, but that's really beside the point.

  48. Re:If you don't want people to see the source... by pla · · Score: 1

    The topic of open source relates to the version control manager, not the software OP wants to create.

    Aka, "I understand - and value! - the concept of FOSS. And only plan to exploit it in the as in beer sense".

    That may still make the GP a moron, but it makes the FP a hypocrite.

  49. git will first need to be self aware... by Anonymous Coward · · Score: 0

    To get git to be able to host itself, it needs to deal with the existential nature of its self referentation.

    It has clearly made the first step by hosting others , but hosting itself is a big jump - perhaps even needing a time machine so its past self can host its future self.

  50. Idiotic Question by smack.addict · · Score: 1

    What the hell do you care if the NSA is looking at your source code?

    I mean seriously. Do you have pictures of you doing blow embedded in your source code or something?

    1. Re:Idiotic Question by Anonymous Coward · · Score: 0

      the NSA doesn't care about people doing blow. They would only care if he has records of providing arms shipments to Al-Qaeda in his source code.

      But only if it's to Al-Qaeda in Afghanistan. Al-Qaeda in Syria? Obama and Congress, Fox News and MSNBC and Harvard, all want to send them more weapons.

  51. Bonobo by Anonymous Coward · · Score: 0

    Aside from the obvious concerns about where the hosting occurs...

    I found Bonobo Git Server... ASP.Net webapp, no background services... completely functional in simple, traditional web hosting. Depending on the quantity of data, performance may not be ideal, but it's not bad... i just wish it got more love, seems to be somewhat abandoned.

  52. Wait... by Arancaytar · · Score: 1

    You want to have open source, but you don't want the NSA to read your source?

    This sounds like a famous adage about eating cakes.

  53. Does NSA have the signing key for Windows Update? by Animats · · Score: 1

    If the U.S. Government has the signing key to Windows Update, and can mess with upstream routers, it can put spyware on any Windows machine worldwide. No "exploit" needed.

    Somebody needs to start doing security analyses of everything that comes in via Windows Update. Comparing the updates that are sent to different computers is a good first step.

  54. P2P Git: Bananajour by sersch · · Score: 1

    Local git repository hosting with a sexy web interface and bonjour discovery.

  55. GitLab by juristr · · Score: 1

    we use Gitlab for about 2 month now and it is great.

  56. Re:Chinese Hosting by SirSlud · · Score: 1, Insightful

    More importantly, why should you be on the defensive? Isn't it good to know both things? Is it somehow a binary choice between wanting to know about the two issues? Snowden is the messenger, not the message, and you probably have a higher likelihood of impacting domestic policy than raising awareness to the 'scandal' that is foreign governments trying to disrupt or influence local politics. Especially since it doesn't take any tinfoil whatsoever to discuss USA's storied history of doing the same. This strawman of somebody who thinks that China would never stoop to what the USA stoops to all the time is pretty hilarious. This is what governments do, the world over. The idea that the USA isn't doing this, or wouldn't do it in the future is downright silly given the history of unilateral foreign interference by all world super powers.

    --
    "Old man yells at systemd"
  57. Re:If you don't want people to see the source... by SirSlud · · Score: 1

    The government is spying on our codebase! It's so cute.

    --
    "Old man yells at systemd"
  58. Baseless by kllrnohj · · Score: 1

    It's easy to draw the conclusion that git-hosting in the cloud, like Github or Bitbucket, will lead to sharing the sourcecode with the NSA.

    lol wut? No, that's not an easy conclusion. Github and Bitbucket are only going to share your sourcecode with the NSA if they receive a FISA (or similar) request for them. In which case you've drawn the attention of the NSA somehow and self-hosting isn't going to save your ass because they're just going to show up on your doorstep with the FISA request instead of Github's. And if you say "no" they'll just throw you in jail.

    And if you do take on the task of self-hosting, you now have to deal with security and monitoring and such. The sort of things the cloud companies are doing that you probably won't. Meaning self-hosting will make it *EASIER* for the NSA to hack in and get your source, not harder.

  59. Re: If you don't want people to see the source... by Anonymous Coward · · Score: 0

    "Kintergarten"

    Since you know nothing about the subject of spelling but are posting anyway, can we call you a "fucking moron" or is your mistake less important because you did it?

  60. Re:If you don't want people to see the source... by idunham · · Score: 1

    That "as in the beer sense" is likely a misrepresentation; have you heard of auditing code or patching it yourself?
    I've applied new kernel patches before they became available on the branch I follow; it could have been 2-3 days or more to get the security fix as a compiled update (backport, test, and release).

    Secondly, you should perhaps look at the rhetoric associated with "open source" (the term originally used) before you judge someone a hypocrite for their attitude towards "FOSS" (your choice of terms). The two may be similar in meaning, but the mentality isn't.
    Open source is not "Everyone, you included, should release source and use FOSS, because it's the right thing" but "Open source is better, but still, you can take your pick".

    For example, ESR in Why I hate proprietary software:

    More precisely, I hate the proprietary software system of production. Not at the artisan level; Iâ(TM)ve defended the right of programmers to issue work under proprietary licenses because I think that if a programmer wants to write a program and sell it, itâ(TM)s neither my business nor anyone elseâ(TM)s but his customerâ(TM)s what the terms of sale are.

  61. Git needs a "git serve" command by amaurea · · Score: 1

    Git has an amazingly rich toolkit of commands, but one thing it is missing which svn had is a standard server ala. svnserve (but hopefully better than svnserve). I.e. something as simple to use as typing "git serve [options] repo", "git adduser repo username pubkey/password", etc., much like svn had with the svnserve command. As people have pointed out, several freestanding options exist, such as gitolite (though its piggybacking on openssh is a bit problematic - something clean and freestanding would be better for a simple command like this, I think, as simply typing git serve should not silently change your .ssh/config file, and the user shouldn't be required to do so himself), and I think simply choosing one of these and standardizing it as the git serve command would make it much simpler for new users to host by themselves.

    I made something like this for myself (using libssh) which, while not quite polished for general consumption, shows that it certainly can be done, and does not need to be that much work either. In a way, the presence of services like GitHub has perhaps delayed the development of good, simple and standardized ways of hosting git repositories yourself.

  62. Re:If you don't want people to see the source... by hobarrera · · Score: 1

    I think GP was trying to state something on the grounds of "why do you have such a preference for FLOSS software, but work building propietary software?".

  63. Fossil by Anonymous Coward · · Score: 0

    I know some dodgy projects that use fossil:
    http://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki

  64. Not needed by allo · · Score: 1

    First: Why not consider opensourcing your software anyway? No need to hide then.
    Second: Your private Repos are safe. The NSA does not want you to know, they are reading them, so they will not leak your code to your competition, because then you will know, they can see it.

    1. Re:Not needed by Anonymous Coward · · Score: 0

      The NSA does not want you to know,
      they are reading them,
      so they will not leak your code to your competition,
      because then you will know,
      they can see it.

      Burma Shave

  65. gittorrent by lkcl · · Score: 1

    it depends on what you're concerned about. if you're concerned about server presence in general because you're developing software that you absolutely do not want the NSA to be able to either track or take down, then you don't want a server - at all. that's when you should consider funding gittorrent, which is a TRULY peer-to-peer distributed git system. git is "considered" to be "peer-to-peer" because it is possible to *manually* distribute the git repository. each git repository - a peer - is completely free and independent of every other git repository - a peer - and it is possible to use HTTP, SSH and even email or carrier pigeon to transfer commits between one of those "peers" and another "peer". what is missing - what the concept of gittorrent brings to the table - is the means to AUTOMATICALLY transfer commits between previously UNKNOWN (i.e. DHT-discoverable) peers in an effectively unkillable, decentralised and secureable fashion.

    if on the other hand you merely want a place to push and pull from then there are plenty of options, but the one that i've found to be absolutely superb is gitolite. from a management perspective the fact that you can control read/write access on not only a per-repository basis but also a per-branch basis is something that's amazingly useful, but it also simplifies both user and management usage because there is only one user: gitolite. the trick is in the use of ssh commands and the creation of a special authorized_keys file (which is created and managed via a git commit hook). as a result, there is no need to create multiple POSIX users: just one [gitolite], and the users only need one git clone username: gitolite. if you need a web interface you can always point gitweb at it.

  66. Re:If you don't want people to see the source... by ACluk90 · · Score: 1

    The advantage of using any free software package is, that it can be installed on your own machine, only accessible from your local network or VPN.

  67. Re:If you don't want people to see the source... by ACluk90 · · Score: 1

    They'd better help us write code :)

  68. Re:If you don't want people to see the source... by arkhan_jg · · Score: 1

    Or, you know, host his git repo inside his firewall so it's only accessible to company developers on-site or with vpn access unless the NSA are particularly interested, in which case he needs... some hosting software. Presumably his code is not currently under an open source licence as its in a private repo; for all we know, he's developing code for someone else.

    The NSA general dragnet supposedly has a lot more tech companies in it than have currently been revealed. We also know the NSA wants to know about software holes early that it could exploit, presumably for spying purposes. There's also a lot of data leakage between the NSA and private contractors - what's the odds that the NSA has accidentially (or on purpose) given commercially sensitive information about software to a 'helpful' US company that gives them an advantage over their competitors?

    So it's not all unreasonable to assume that the NSA may have secured access to github private repos which they can't tell us about, to run fuzzing tools on popular projects to look for exploitable holes, if nothing else - you don't have to think they're after you personally to be caught up in their mass dragnets. It's the same with all US-based hosting now - you have to assume the NSA has access to it at all times, and shares it with whoever they want - even if they don't, currently, they could do. Anything else is sticking your head in the sand. This is particularly relevant to the 95% of the world that is not american - like me - as the NSA has pretty much carte blanche to dragnet us en mass, and we're all 'the foreign enemy' to them. Obviously there's little we can do if they go after us directly, but we can withdraw as much of our private data as we can from US hosting as a precaution.

    To answer the original question, i.e. what's a good hosting solution inside the firewall:

    Gitorius is pretty good as a local clone of github with web-based code browsing etc; it's under the GPL. You can either install it yourself from source, or they do a commercial setup solution where you run a vm they provide with external support which I suspect would be too risky for you. Gitlab is also very good, and very much a github clone in UI. It's pretty much which one you prefer the look of, really, though gitlab is much more popular.

    CLI wise, ssh + key-based access for each developer + a folder per repo + git on a linux server is plenty sufficient to act as a shared git repo setup, especially if you don't have that many in-house devs. Otherwise, gitolite uses pretty much the same setup with more advanced user and repo control - basically you setup a management repo, and then change files on that to add additional repos and access control so it's pretty simple to manage.

    --
    Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
  69. No way to be sure by Anonymous Coward · · Score: 0

    http://www.smbc-comics.com/index.php?db=comics&id=2362#comic

  70. Re:If you don't want people to see the source... by CountBrass · · Score: 1

    You sound like a teenager.

    And it's spelled 'kindergarten', idiot.

    See what I did there?

    --
    Bad analogies are like waxing a monkey with a rainbow.
  71. Wow by drolli · · Score: 1

    One of the worst summaries ever.

    1) If something is your privatly owned source code then you should always have a git repo of it on your hardrive and an encrypted backup of it in your friends/parents house or bank locker.

    2) Why are you shy of the NSA getting your source code? They can have mine. If i just write it for fun they wont mind. If i publish the program somewhere... there are decompilers and i am sure they know how to use these. The only reason for assuming that they dont have your source code would be to assume that you do things fro which hosting on github anyway would be out of question. There are other things on my hard drive which i would be more concerned about, and never would put them to the cloud.

    3) Privatly hosted git-repository? Uhm... yes... git has that function builtin. Git is a decentralized versioning system, so hosting it youself means nothing more than reservig space on some of your harddrives, and giveing other developers ssh access.

    4) If you are concerned as much about NSA as you claim and want to do sth, i suggest you keep a paper trail of the md5 checksums of your source tree versions. There you are sure nobody modifies it without you knowing.

    5) If i put together the following facts: Somdoby was able to fake signatures on windows updates and at the same time had the expert knowledge (source code) of an embedded system, and experts on nuclear plants and insights on top-secret programs of other nations, its hard to believe its possible to protect your source code against the NSA without a sneakernet.

  72. Gitolite + gitweb by someones · · Score: 1

    its all you need.

  73. There are many options by devent · · Score: 1

    * gitosis https://wiki.archlinux.org/index.php/Gitosis

    Easy to setup, limited. Good to setup quick remote repositories with Ssh for user management.

    * gitolite https://wiki.archlinux.org/index.php/Gitolite

    Easy to setup, no web client. Good to setup quick remote repositories with more features then gitosis.

    * gitorious http://gitorious.org/gitorious/pages/Home
    * gitlab https://wiki.archlinux.org/index.php/Gitlab

    With web clients.

    * redmine http://www.redmine.org/

    My all time favourite project management web client.

    --
    http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  74. Re:If you don't want people to see the source... by Anonymous Coward · · Score: 0

    You don't need to setup anything. For internal use we started out using a windows SMB share which is more than enough to provide multiple repos and easy to access from Linux, BSD, Windows and even Macs. We only got it off to a Linux box because the Windows server was old and couldn't keep up with our increasing demand.
    Git ain't perfect but distributed it is, and it has really paid off.

  75. Solution is what??? by Anonymous Coward · · Score: 0

    Attacker: get into your super-great source code (it's not btw, but that's another post)

    Target A: Github
    Target B: Some self-hosted server

    Difference in attack plan? IP address. No change.

    Changing hosting solves nothing as long as you are on the same network.

  76. Filesystem by Anonymous Coward · · Score: 0

    Just put it somewhere in the filesystem that is mountable from inside the company.

    git checkout ~/my-repository

  77. Win the battle, lose the war by Anonymous Coward · · Score: 0

    This knee-jerk reaction to lock up all the valuables may protect a few people from some incursions by "Big Brother" (note the hedging; "may", "a few", "some"). In reality, even if you are successful in winning that battle, you will have lost the war. It's Free Software, as in Freedom, remember. Don't wall off your code. Instead, fight the real problem, which is an agency with too much power and too little oversight.

        Batma.... errr, Superma.... wait.... RMS! We need you now more than ever!

  78. Re:Chinese Hosting by sanman2 · · Score: 1

    I think your comment would be best judged in the context of which country you're posting from. Are you from the United States? If so, then your comments say more about you than about the subject you're commenting upon.

  79. just follow along with these simple instructions by Anonymous Coward · · Score: 0

    # First draw an S
    $ git checkout master

    # then draw a more different S
    $ git reset --hard $(git log --oneline | tail -n1 | cut -d' ' -f1)

    # BURNINATE!
    $ git push origin master

    Oh.... wait. You said self-HOSTING, not self-HOSING.

    I see. Well then carry on, and I hope you weren't actually typing along; otherwise I will have to pine for your lost commit privileges on any project you ever plan to join in the future.

  80. Re:If you don't want people to see the source... by Gr8Apes · · Score: 1

    I'd rather have them come break into a building, thank you. Last time I checked, that required a warrant and a bunch of other stuff. Git is fine, github not so much, for proprietary code that you want kept proprietary. Granted, just keeping it out of the cloud is insufficient, but once in the cloud, you might as well email the source out.

    --
    The cesspool just got a check and balance.
  81. TRAC! (with Gitolite) by Anonymous Coward · · Score: 0

    I don't understand why nobody mentioned Trac yet.

    Depending on your configuration, you can get totally independent and distinct project environments for each project (e.g. paths, design, modules, rights, etc.) with as many git repositories as you'd like per project.
    Basically, you define one master config with the minimum (or default) configuration and then overload/override it with specific settings in the project's configuration file.

    You can further integrate this flow into a CI environment like Gerrit and build systems, as well as using the native (!) Eclipse Mylyn RPC plugin to access all your tickets without even leaving your IDE (however, it's not just an ugly browser window inside Eclipse like in redmine...!)

    Here's a post-receive hook for gitolite that works for multiple repositories. (Read the discussion here.

    Works f... awesome, especially, if you're sick of having part of your stuff in the db and the rest in the filesystem!

    1. Re:TRAC! (with Gitolite) by Anonymous Coward · · Score: 0

      http://trac.edgewall.org/ticket/10730#comment:5 Here's some more technical info for the post-receive hook.

  82. Re:If you don't want people to see the source... by H0p313ss · · Score: 1

    as there's no evidence that the NSA can actually break strong encryption.

    That's funny since that's almost half of what they do. The NSA used to be Cray's biggest customer for exactly this purpose.

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  83. Re:There are many options (Allura) by dwheeler · · Score: 1

    All of those are plausible options. Another option is Allura, which is in the Apache incubator stage. SourceForge is its sponsor and is switching all projects to Allura. More info: http://sourceforge.net/p/allura/wiki/Allura%20Wiki/

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  84. Read 1 chapter of Pro Git by Anonymous Coward · · Score: 0

    Read 1 chapter of Pro Git (or is it GitPro?) to learn how to setup a git repository that your team can push their changes into. The entire book is online here: http://git-scm.com/book

    I didn't know anything about git, but have extensive experience with ssh, rcs, sccs, sourcesafe and was able to get this working for our company in about 15 minutes. That included the time to include step-by-step instructions to our dev about using ssh-keygen, ssh-copy-id, and the 5 "git init" like commands so their push and clones would hit the repo by default.

    Now if you **need** a pretty web GUI - I'd as why - but if you need that, you probably want to setup the entire site behind a VPN using no-PKI (public) being the issue.

    OpenVPN would be my choice.

  85. Trac with Gitolite by Anonymous Coward · · Score: 0

    see here
    and here.

  86. Spideroak by Anonymous Coward · · Score: 0

    Store on an internal server, mirror to spideroak.

  87. Business decision by Anonymous Coward · · Score: 0

    You're seriously going to spend money on this because you think the NSA is going to access your source? Unless you have other, more realistic, security concerns I would label this a total waste of money and a stupid business decision. If you are concerned with GitHub's security in general and think your competition will spy on you, or if you have other reasons for changing the way you store your repositories, then fine. But fear of the NSA is silly in this case.

  88. Gitlab vs. Redmine by n7ytd · · Score: 1

    Gitlab, as others have mentioned, works a treat. There is a how-to on their site that walks you through everything needed. I had it up and running with LDAP integration in about half a day.

    Redmine, with the redmine-git-hosting plugin, also makes a very nice central git server. It was more of a headache for me to set up, because there is no step-by-step instructions for getting it working that I could find. It's very powerful, and has issue tracking, etc. which may be useful for you. There are many plugins available to add or customize various areas of the system.

    For strictly git hosting, my vote is for Gitlab. The integration with the repositories is fantastic and things like visualizing repository history, handling pull requests, etc. is very good. The wiki markup language is weak, and the issue tracker is very lightweight, but it has 90% of everything you love on Github.

    Another solution I haven't evaluated but which looks strong is Stash, from Atlassian. But that doesn't meet your OSS requirement.

  89. Re:If you don't want people to see the source... by Eskarel · · Score: 1

    Unless RSA has a backdoor or weakness we don't know about, a sufficiently long key cannot be cracked with current technology. All the computing power in the world couldn't brute force a decent length key in the period of your lifetime. The NSA could of course have a backdoor to RSA or know a weakness that no one else knows, but if they do, then this whole conversation is pointless as they can intercept anything you do no matter what you do so you may as well not bother.