GitHub for Windows - is it open source? - github-for-windows

Is GitHub for Windows open source? If so, I can't seem to find the repository.

According to Tom Preston-Werner, one of the GitHub founders, in his post "Open Source (Almost) Everything", about the open-sourcing philosophy
Don't open source anything that represents core business value. [...] Notice that everything we keep closed has specific business value that could be compromised by giving it away to our competitors. Everything we open is a general purpose tool that can be used by all kinds of people and companies to build all kinds of things.
However, Hubot, previsouly a closed-source asset of GitHub, was eventually open-sourced in late 2011.
For the past year or so we've been telling people about Hubot [...] So we decided to rewrite him from scratch, open source him, and share him with everyone.
Currently, the Windows Github client is not an open source software... but who knows, it might be open-sourced one day.

Phil Haack (who currently works at GitHub) gave a hint in his blog comments to this effect:
At the moment, it is not open source. Many of the libraries we created are open source. As we polish up more and more of those libraries, we'll release more components we used to make the app.
So no, the application is not open source, but keep a look out for some parts of it being published on GitHub. (But bear in mind that this is just a blog comment, not an official announcement of any kind).

According to the latest news, GitHub for Windows is renamed to GitHub Desktop. It is redisigned with Electron and completely open sourced. The beta version has been released. The weblink of GitHub Desktop open source repository leaves here: https://github.com/desktop/desktop .

Related

How to see statistics of a repository on Github

Previously I remember that I could go into any repository and see how many codes it has how many lines with or without comments, what languages is it made of with how much percentage, how many man hour was used for development of that repository. I could see all of them on my browser. No code was required.
Now, I cannot find any option on Github. Is this facility changed, moved or removed?
There is an open source project made by #vdaubry : Github Awards
You can get all the information you described and more.

Google code or GitHub for project hosting? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Is Google code similar to Github where you can put your source code for collaboration?
Which is the de-facto SCM it's using?
And which one is recommended for project hosting?
Update 2013:
All major repo hosting services supports git, and supports smart https access (see below):
code.google.com (with cases like this one, July 2011)
bitbucket.org
tfs.visualstudio.com (!, as explained by Scott Hanselman)
Currently (July 2013), the main difference (between GitHub and other services) is in term of release management, more specifically:
integration with Travis CI (continuous integration, possible more or less with all services)
release artifacts: See "GitHub Release Your Software (July, 2d 2013)":
The ability to associate to a tag up to 100MB of binaries.
Initial answer (September 2010)
One big difference is the support by GitHub for smart http, as explained in the ProGit "smart http" section, supported since April 2010.
Being behind a firewall at work, that is more than useful to actually push anything to the remote repo!
I don't think "Google Code" support it officially, even though some contributors try to push that feature.
Yes, they are similar but support different versioning systems. Also the collaboration style is different. While Github (and Launchpad and BitBucket and all the other DVCS hosters) focus more on active collaboration between forked projects, Google Code's primary way of collaboration is through tickets.
So none of them is per-se better than the other, but perhaps fits your project management and contribution/collaboration style better. The whole debate between centralized and decentralized code versioning systems is related to that.
Some features that you should consider:
Open source:
Google: Always open source.
Git: Open source for free account, but you can pay to switch to close source.
VCS: Both google & github support Git (and others)
Wiki: Google wiki is poorly supported, unless you love to write with wiki tags. You can find many project in Google project hosting has there wiki in Git hub.
Statitstics: Github provides many nice statistics chart, while Google provides only a list of updates
Git:
Google:
AFAIK Google code is yet to support git natively. At least as far as I can tell by the comments on the ticket open for this.
So if you are using or would like to use Git then Github will be naturally more suitable.
On the other hand if you are using SVN and would like to continue to then Google code might be a more natural fit.
I have found Github projects easier to set up and get going but that is fairly subjective. Some of my friends also claim that Github's support/ecosystem is better than Google's.
Use GitHub. GitHub gives each account its own namespace for project names, so you don't have to worry about your project names having already been taken by people's projects. If you're using Google Code, however, then you do have to worry about this.
If you need private repos, you won't get that with Google Code. At least not yet; see this open issue: http://code.google.com/p/support/issues/detail?id=1829

Is it possible to somehow migrate from Google Code to Github?

We have a fairly large project, and I've decided that Google Code is not quite living up to expectations. Github looks like a much more suitable platform -- but I feel like there's no escape for us. Is it a case of migrating stuff over manually? We're using svn currently, so I understand that we'll need to move to git somehow - is this going to be possible considering that I don't have admin access to our repository? Also, I know this is subjective and I don't want to start a holy war, but please also comment on your feelings about Google Code vs Github. Should we also be considering SourceForge?
I've used all, and now I am using github and I am completely satisfied. Sourceforge had annoying ads and was slow, google code didn't have the features I wanted/needed.
As for moving to github, they have a guide here, the process should be quite simple:
http://help.github.com/svn-importing/
We're using svn currently, so I understand that we'll need to move to git somehow - is this going to be possible considering that I don't have admin access to our repository?
Nope, you can use git svn to convert a repo, even if you don't have admin access. Here's a good tutorial (from one of the GitHub guys, no doubt) that explains how to convert an SVN repo to Git (including how to migrate tags and branches properly, which git-svn doesn't do very well).
but please also comment on your feelings about Google Code vs Github.
I've never used Google Code for personal projects. I know from a visitor's standpoint, I like the interface and tools used by GitHub a lot better.
Should we also be considering SourceForge?
Ugh... I personally think SourceForge is probably the worst of the free source code hosting facilities nowadays.
I think before you go through all the work to migrate to github (which is great yes) I would consider what your problem actually is. If it is just that you are using svn and that is not a distributed version control system you could just migrate your google code repository to be HG (Mercurial) based and you would get all the benefits of a distributed version control system but could otherwise stay at google code (which has great features that github does not have as well..)
Google announced today that they're closing Google Code. They added a migration tool to export projects to GitHub, it just takes one click.

Is there any place to host your code online?

There are many free online services which provides you with large spaces to store your personal materials, mails, etc. But is there any place that can let us host our code - which keeps the change history?
Google Code or SourceForge may not be a ideal place because it requires creating a project which is specific and useful to others, while what I want is a place to hold any kind of code which I think is useful but may not be for anybody else.
It's all about Github. 300 MB repository for free. Nice interface, easy to use. Plus we all know GIT > SVN :)
You can get free GIT and SVN hosting at unfuddle.com
BitBucket allow for public and private Mercurial repositories.
Github has Gists that might work for you. Also, Snipplr.
http://codeplex.com is where MS provides open source source control via Team Foundation Server.
projectlocker is also a good alternative for free Subversion, Git hosting..
You can also get free, private SVN hosting at http://beanstalkapp.com/. Their 100MB package is free.
Google Code link.
How about http://cvsdude.com/ which paid or http://xp-dev.com/ which is free.
come on guys don't you see that he is interest only in hosting online some fragments
of code like some functions etc not full projects and also not public but private.
Of course it is possible with each and every solution you all said in your posts
but it is not exactly what he was looking for .
You all replied like spammers and is that's funny
So why don't you just use http://gist.github.com/
as someone already mentioned
You can host private projects on DevjaVu is you want to use Subversion.
http://www.svnhostingcomparison.com/
CVSDude does free 2M subversion repository, you can also use CVS if you pay.
I've used http://planetsourcecode.com/ to store all sorts of bits of code. Users even upload entire applications.
There are even online code editors available (well, a kind of, that project is still in the development phase).
Linky: https://bespin.mozilla.com/
I've used CodeSpaces for over a year now and never had a problem. I'm a new user so I apparently can't post links...
There are plenty of answers already submitted which are suited to hosting full-fledged applications so I won't bother adding to the list but if you're looking at hosting smaller things (code snippets, simpler projects) with revision history you could consider using a wiki?
I know this was posted 4 years ago, but you could always just sign up on Pastebin and have private source code there.
Pastebin has been around since 2002 and is currently "the #1 paste tool". It supports a number of syntaxes (including C++, C, Ruby, and Java. Full list on site.)
Edit;
Their PRO plan is only $2.95 USD for one month or $1.99 USD/mo if you purchase for a full year. You can find out more on the limits of free vs Pro here.
Edit 2;
If nothing else, sign up for Dropbox, SkyDrive, or Mediafire and upload your files there.
Team Services has free, private, unlimited, Git repos for version control. You also get integrated bug and work item tracking, enterprise Agile tools for DevOps, like backlogs and Kanban boards, automated build, test, and release plus other team capabilities to build and ship apps.
You can connect with Xcode, Eclipse, IntelliJ, Android Studio, Visual Studio, or any dev tool you like.
Team Services is free for the first 5 users with Basic access, plus unlimited stakeholders working on the backlog, and Visual Studio subscribers. Here's how to get started with Team Services.

Programmatically add files to a GitHub download page

[[Please note that Github has changed a lot since this question was first asked; instead of "download page" read "new release".]]
I generate PDF documentation as part of my projects and I'd like them to stay in sync with my Git repository (it's not always possible for people to build their own since they often use proprietary fonts).
However, it's not really "correct" to add the PDFs to the repository since it's a derived file; furthermore, doing this adds significantly to the size of the commits and the size of the repository overall.
Is it possible to programmatically send files to the GitHub download page? (I know that tagged commits are automatically added there with git push --tags but I don't know where this is documented. I suppose I could do something fancy by adding a separate branch only containing the PDFs themselves — as done by the GitHub user pages — but I'm a bit rusty on using Git this way.)
Github API v3 supports this feature.
GitHub also provides a maven plugin based on the java API that is part of the Eclipse Mylyn connector for GitHub.
There is a ruby gem called github_api.
The other answer talks about net-github-upload which is available for perl and ruby.
check out for net-github-upload which is available
for perl: http://github.com/typester/net-github-upload-perl
and ruby: http://github.com/Constellation/ruby-net-github-upload
With that you can write a small script to upload and update your PDF easily. To sad there's no easy way provided by github guys themselves..
cheer!
The GitHub blog post announcing that this feature has been disabled: https://github.com/blog/1302-goodbye-uploads
I take it that by "GitHub download page", the owner means a repo–more specifically a branch– that can be downloaded via the "download" button.
If you want to add a file to a repo using the API, you will have to become familiar with the process described here: https://developer.github.com/v3/git/
It's not the easiest process in the world, but mastering it will force you to understand the concepts of blobs, trees, commits and references, amongst others.
You can't just "send a file" to a repo because you're working with Git, and Git has some "internal expectations" that you just can't ignore (it's impossible to think of GitHub as some sort of host that you can ftp). Explaining the flow required to create a file in a GitHub repo is certainly beyond the scope of the original question, but to provide a clear answer: no, it's not possible to programmatically upload a file on GitHub, but yes it is possible to programmatically push a file on GitHub".
There's a PHP library named GitHubTreePHP that lets you automate the process (Disclaimer: I wrote it).