I was happy to see that my university decided to self-host a Gitlab server for CS students instead of using proprietary options like GitHub or Bitbucket. The students that set up the server learned from the experience, the instructors got around the problems they were having with Bitbucket's account limitations, and the new undergrads have a great platform on which to learn Git.<p>I would encourage other educational institutions to do the same. Proprietary software like GitHub is anti-educational.
We use GitHub to teach Harvard's CS171 [1]. Couldn't recommend it more — we use it for the course website and for managing homework [2] (great for pushing out homework updates). Students publish their work on GitHub and we have a script that downloads all the student repos at the deadline.<p>[1] <a href="http://cs171.org/" rel="nofollow">http://cs171.org/</a><p>[2] Here's the first homework: <a href="https://github.com/CS171/HW1" rel="nofollow">https://github.com/CS171/HW1</a>
Apart from proprietary software being antithetical to education - I think that schools never ever should teach a product. It's not necessarily wrong to use products in order to teach something, but it is bad to teach a product. Like, using a book that you have to buy in order to learn algebra is fine (though cheaper/more easily available education is better, of course). But teaching MathCorp[tm] Algebra[tm] (patented by MathCorp[tm]) is not. Any knowledge that requires you to buy a particular product from a particular vendor to make use of is not appropriate for being taught in the classroom/for being a requirement for a passing grade. The school has particular power to force you to learn stuff, and that power should never be used to the advantage of a particular private entity, especially so when that private entity bribes the school by providing the product for free.
I work at a development house at the University of Alabama, and we have found that our free GitHub micro account has been a wonderful gateway drug of sorts for learning git. But, having just moved over from an SVN set up to an in-house git system (RhodeCode), I would echo the others who have said that other git tools are better for us than GitHub for teaching git.<p>Without a doubt, GitHub's educational accounts have been great for our undergraduate students because they have exposed them to great open source code and a community that is excited about development. In short, we have found that the intangible gains have far outweighed the tangible gains of a few private repos. Kudos to the GitHub staff for continuing I make development and collaboration fun and easy.
Many here seem to share the sentiment that universities should host their own solution and not use something like this. Perhaps I can provide a different viewpoint, as a student that recently got hired in IT support at my university.<p>Our current repository server is a thrown together solution that covers git/svn/hg. It's extremely ugly, has no features besides creating and deleting a repository and generally isn't very user friendly.<p>I immediately started thinking about how I could improve this area, and looked around for various things. As probably most here, open-source and self hosting came to mind as the first thing to look for.<p>I found GitLab and Gitolite and started reading a bit up on those and the pros and cons of using each, and both compared to GitHub.<p><i>What I found out</i><p>While self-hosting provides the ultimate control, there is one thing you're entirely forgetting; maintenance. This doesn't come by itself and requires both man hours and also the know-how to do this. The case as often is, it will be underprioritized, you will be left with an outdated version, and that will mean annoyances, bugs and possible new features you're missing will stack up. And that's just the case of nothing going wrong on the server you're hosting it in. There could potentially be data loss, server downtime, server interruption etc.<p><i>So what should we do then?</i><p>Let someone else take care of it. Throwing all these responsibilities over to someone like GitHub, whose sole function is to drive this service allows freeing up a lot of potentially wasted time, and also allows for the students to be using the newest and best tool for the job.<p>And for the case of something like GitHub specifically, I <i>really</i> think it's ridiculous to complain about it being proprietary, since it is besides the point entirely.
You're teaching the students to use <i>git</i> and to collaborate together on projects. You're making the administrative task much easier with the workflow they provide.<p>You aren't teaching your students <i>solely</i> to use GitHub, it just removes a lot of extra cruft and allows the students to focus on the actual subjects of the course they are in, instead of having to wrestle with the tools they have to use.
If you don't need specific features of Github but want a fantastic place to keep Git stuff, Bitbucket is brilliant. Unlimited free private repositories for up to 5 collaborators, and add+confirm any educational email address to make that unlimited collaborators. <a href="http://blog.bitbucket.org/2012/08/20/bitbucket-academic/" rel="nofollow">http://blog.bitbucket.org/2012/08/20/bitbucket-academic/</a>
Fantastic seeing this initiative by GitHub. Though I'd prefer an open source solution that they could host themselves, this is a good step in the right direction.<p>I also don't believe Git is the right tool for this problem. Educators need something tailored much more specifically, and one that reduces the complexity of branching and merging along the way. There's a space here.
Tech companies that offer discounts usually cater to college students. What about young professionals who want to continue learning?<p>Most students receive financial support from their parents and have ample disposable income for products like GitHub [0,1,2]. Recent grads who want to keep learning about technology are more in need of discounts.<p>I'm not discrediting GitHub's campaign — I'm happy that the company is reaching out to students. It's just that the trend toward offering students discounts is somewhat misguided and shortsighted.<p>[0] <a href="http://news.byu.edu/archive12-apr-payingforcollege.aspx" rel="nofollow">http://news.byu.edu/archive12-apr-payingforcollege.aspx</a>
[1] <a href="http://www.nytimes.com/2013/01/15/education/parents-financial-support-linked-to-college-grades.html?_r=0" rel="nofollow">http://www.nytimes.com/2013/01/15/education/parents-financia...</a>
[2] <a href="http://www.usatodayeducate.com/staging/index.php/choice/who-should-pay-for-college-parents-or-students" rel="nofollow">http://www.usatodayeducate.com/staging/index.php/choice/who-...</a>
Github, I use you for all my \LaTeX papers, programming assignments, masters projects, whatever else. It is really helpful.<p>But I don't like that I can only have 5 private repos. Making my work public could be an honor-code violation and a violation of the professors trust, that I won't make solutions available to their projects. On top of that, I'm usually working on more than 5 projects at any given time.<p>Now that I'm finishing graduate school, this pressure is especially high. If I work on something in github, the other grad students will undoubtedly see it, since we are all gitbuddies. Does github have any talk of raising the private repo ceiling on education accounts from 5 to >5, or should I just remove my work while it's done?
Side note:<p>When you have 15 links in one sentence where every word is a link to somewhere and the word actually has no meaning, then I think it's time for a bullet list. It might just make people actually click a link. But all those links in one sentence are of little help IMO.
Completely off topic: The GitHub Education page shows a blackboard with a picture of a chemistry set up. Did anyone here on HN, <i>ever</i>, do a school project that involved a setup that looked like that? I was always jealous of that stuff, it looks so awesome! With tubes and big spherical bowls and steam and fire and bubbles, wow! Can I send my kids to a school that has that?