Improving GitHub for science
github.com
github.com
But the thing is, anyone can get as many free private git repos as they like at bitbucket.org right now. You only have to pay when your team is over 5 people, and even then it's pretty cheap. So if you want hosted git but cost is an object, just use Bitbucket. There's no reason to pay a premium for hosted git. It's a commodity.
Also, if e.g. a research group already has a GitHub organization with their open source work (many do), then it's reasonable for them to want private repos under the same umbrella so that they can collaborate using the same tools irrespective of whether the work is open yet.
Yes, bitbucket also has issue tracking and pull requests. I have no idea if they have file editing from the browser (though they probably do), because I'm a programmer, and I have an editor.
I know this is hard to believe, but Github really is a commodity product. There are many alternatives, and they all work pretty much the same -- particularly if you know how to use git from the command line.
There's definitely buy-in and momentum of established products...but sometimes, products in the same space can be differentiated in ways not directly related to their core. Github makes it substantially easier to share and collaborate. And that is why many people prefer it. If you reduce it to "Well other places have git, too"...then that's missing the point of why Github appeals to so many.
Unless you're using git, in which case, it's exactly the same: unlike facebook, I don't need my best friends to be in my git repo to make it useful.
In any case, I'm sure there are some folks for whom pull requests or browser-based editing (again: not unique to github) make the difference. But for a team of developers who need private repositories, it's six of one, half a dozen of the other.
I don't think "hosted git" accurately captures the appeal of GitHub (or bitbucket for that matter). While this is the main premise behind both products, I don't think they're necessarily interchangeable in the way you describe.
They do. It's turned out to be an awesome feature for me as an org-mode user (so I obviously have an editor). You can add to org-mode files from any web browser and then it's on all your machines with the next git pull.
There is an unfilled niche for version control with out-of-the-box rendering of scientific formats: - mathjax everywhere - And of course full latex. This may be specialized enough to be better served by separate services, but now that sharelatex is open source a tighter integration is possible. - bibliographies (rendered as publication lists?) - Notebooks like IPython [2] and Sage; literate R. - plots of various kinds - tons of formats I never heard about (chemistry, bio, astronomy...)
Third-party web renderers exist for most formats (e.g. nbviewer.ipython.org) but there would be value for doing them all in one place - making repos pretty enough to serve as poor man's website (think how Github's up-front README rendering was good enough for many projects).
The obvious direction is improving[3]/forking Gitlab. I hoped Banyan.co would be that but just discovered they went down :-(. Authorea does some of this. And cloud.sagemath.com exposes an impressive amount of tools under one roof. Though it's focused on working more than browsing.
[0] https://bitbucket.org/cbensf/test-math For some reason not working at test-math/src view (reported https://bitbucket.org/site/master/issue/9483) [1] https://bitbucket.org/site/master/issue/7908/enable-mathjax-... [2] http://nbviewer.ipython.org/urls/bitbucket.org/mforbes/paper... [3] http://feedback.gitlab.com/forums/176466-general/suggestions...
BTW, Gitlab.com also has free private repos.
- Began as a fork of Gitlab
- Hosts public and private writing projects that are backed by git repos
- Git repos allow for local editing, remote access, and easy collaboration
- In-browser markdown editor with syntax highlighting
- MathJax support (as of yesterday - still testing and tweaking)
- Extended markdown support for tables, footnotes, etc
- One-click downloads in PDF / HTML / ePub / Word format
Originally, Penflip was geared towards writers, but I am seeing an increased demand for scientific and academic uses. I'm exploring this right now.EDIT: wow, just realized you're the one behind mathdown.net, which I recently discovered while researching MathJax. Excellent work!
It would be cool if the free tier included one private project, so you could test it without making a public project full of typical test blathering. (I see the Discover page lists a few projects that are clearly only testing.)
The git import/export is very nice but looks a bit magicky -- am I right in thinking text files called anything other than document.txt will be silently ignored? I was looking at this with a view to working out how to import existing documents, ideally with history: what's the best workflow for that?
A serif font option in the editor/preview would be welcome.
Looking forward to trying this for something more substantial, though. Nice.
mathjax in penflip thread: https://www.penflip.com/Penflip/help/discussions/6
It's frustrating how difficult it is to get anybody at Github do work on small things since there's "no manager" and everybody wants to focus on grandiose projects.
So while it may be possible to target SVG as a backend for rendering basic drawings, displaying arbitrary SVG files is, in practice, a lost cause.
In comparison with BitBucket (not to advocate, but they offer a comparable service): the restrictions they waive for academic accounts are done so permanently.
I want researchers to use it not just for code, but for latex files for paper writing as well!
http://thedailywtf.com/Comments/The_Best-est_Version_Control...
If that's what you're concerned about I'd be more afraid of your internal gitlab server crashing down in flames because somebody fat-fingered a critical update.
Up until now, there have been many places to permanently store your public scientific research objects, so long as you were willing to use a Creative Commons license. Similarly, there were many places to freely host your software, so long as you didn't need a permanent store for your scientific code.
The GitHub-ZENODO partnership is the first web application to bridge these two needs. An earlier attempt with Figshare almost got it right, but failed to support code licenses (everything at Figshare is CC BY). This isn't the only way to host or cite your code, but it's definitely a good default.
Let me turn this around on you. Given the availability of University preprint servers, what's the value of a service like arxiv?
Indeed, Github can't be expected to, nor is it capable of, fixing one of the larger flaws in neoclassical economics.
Private repos are the only way that my group is willing to use GitHub. Upcoming federal requirements may force us to divulge all of our code in the future. That's a very hard sell to the professors.
Do you mean before or after publishing the paper? If it's after / as part of publishing the paper, what makes it a hard sell?
From a social perspective, opening up your data gives lots of angles of attack for others. (See the difference in interpretation of gamma rays from the galactic center from Fermi/LAT between the telescope collaboration and outsiders, for a topical example). Again, it may be healthy to open everything, but if you've spent 5-10 years trying to build an unassailable measurement, handing out every last bit of dirty laundry to your critics can be daunting. Science ultimately reaches the truth, but it's a lot easier to get tenure if your measurement isn't controversial.
Edit: Github approved my discount and gave me a coupon for 2 years (even though I will graduate later than that).
I do try to put code out in public repositories, but I will say that often what stops me isn't a question of a competitive edge, but rather the fact that my code is ugly. For example, I have developed a small code (relatively slow) that calculates an instrument resolution. I wrote it back when I was first learning python and it is truly ugly and there are a number of things I would do differently today if I had more time. Recently, someone from another facility asked for it and I had some reluctance because of that ugliness. Eventually, I just made a git repository and pointed them at it (along with an offer to help if they got stuck) because I realized that otherwise it would never get out.
However, I have met people who refuse to share their code and figure that it's an easy way for them to get added to a paper...
BUT--I will say that while I'm working on a paper, it's an entirely different story. I wouldn't want to put code that's being used to reduce a specific set of data (along with the data) out in the wild before the paper was accepted. I would say the same thing for drafts of the actual paper, grant applications, etc. That would seem like asking to get scooped.
As for the question of it breaking the bank--I do pay for private repos, but if you want to change the practice of people just swapping files back and forth, then the barrier to entry needs to be extremely low....
On a final note, I will say that my facility does develop code for general use and we do put it out on github/googlecode, but that's different than "adhoc" code...
Usually when I want to give credit to a software or code that I have used I cite the paper that describes the that software or code.
Another point: if you attribute a DOI to your code, that could result in it "stealing" the citations from a paper that describe that code.
For instance I used Intel Pintools and they specify in their FAQ[1] : I used Pin for my latest paper. What citation should I include? [actual paper here]
[1] http://writers.stackexchange.com/questions/7797/what-is-the-...
[2] http://integrity.mit.edu/writing-code
[3] http://software.ac.uk/so-exactly-what-software-did-you-use
[4] http://uark.libguides.com/content.php?pid=155080&sid=1780817
[5] https://owl.english.purdue.edu/owl/resource/560/10/
[6] https://owl.english.purdue.edu/owl/resource/560/25/
[7] And many, many more at: http://lmgtfy.com/?q=citing+source+code. I apologize for the snark, but it is a not-too-abstruse and rather common question that is very easy to figure out online without any special or prior expertise; and so I think contributes very little to the discussion.
I imagine the private project thing may be a blow to Bitbucket, which is quite widely used by academics.
The pessimistic part of me finds it quite discouraging that this will only centralise things more at Github. The optimistic part hopes for more matter-of-course publication of research code and a happier relationship between researchers and the software they write.
(Disclaimer: I run a subject-specific academic code repository, http://code.soundsoftware.ac.uk)
Citing software really varies by community. It is very consistently done in some communities, and is gaining broader acceptance in others, some with surprising rapidity (ecology comes to mind).
It's an exciting time to be a scientist!