9 ms·
Improving GitHub for science
- hyperion2010 12y agoI have been working on a little python cli project electrophysiology. I will write a paper about it but it is such a simple and small project that many journals may not want to publish it, however it could be really useful for other experimentalists. I personally don't care too much about giving credit, but I want people to be able to clearly communicate what tools they used to do their science and citing github repos or tags is not really done at the moment. Kudos to all involved for getting this to work!
- onalark 12y agoThis is a perfect fit for the SciPy conference. There are also several open journals that focus specifically on publishing openly licensed software used in academic work. 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!
- diego898 12y agoIm very excited that github is pushing forward with this. As a graduate student Ive been desperately trying to get my lab to switch over and use github as opposed to myfile.m --> myfile_diego.m --> myfile_diego_changed.m etc! I want researchers to use it not just for code, but for latex files for paper writing as well!
- danpat 12y agoReminds me of the classic: http://thedailywtf.com/Comments/The_Best-est_Version_Control.aspx http://thedailywtf.com/Comments/The_Best-est_Version_Control...
- anonymousDan 12y agoOur department recentlyvset up a self hosted gitlab. Works great. As many private repos as you like and you don't have to worry about github disappearing off the map.
- Xylakant 12y agoSeriously, the chances that github just disappears off the map are about the same that the gitlab team decides to stop working on the OS product. Non-zero, but still low. However, the impact is only mediocre: It's simple to keep a copy of the repo around and just a simple to keep a copy of the wiki around: They're git repos too. The only thing you'd loose is the issue history and your network of clones. 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.
- privong 12y agoI like that the DOI association is with a tagged release, making it easy to identify specific versions of the repository. In principle, this will make duplication/checking of research results easier, as one can ensure use of the same version of the software as the original work.
- hrjet 12y agoTags can be moved in Git. How much you want to trust the tags depends upon your use-case.
- nuclear_eclipse 12y agoIf you sign your tags with your GPG key, and only rely on tags signed by GPG keys that you trust, then you can trust the tag as much as you trust the holder of the key.
- trurl42 12y agoThe DOI is linked to a zip archive on zendodo / figshare, which will not change, even if you change the tag.
- sampo 12y agoSo if you publish the DOI as a part of a paper, and then later improve the code in the Github repo (but of course not in the archived snapshot), is there some way that the people who follow the DOI could also find the improvements?
- dnautics 12y agoI'm not so sure about allowing for private research repos. As a former scientist, incentivising siloization seems to be the wrong direction; if they want it, they should pay for it. A normal micro plan is cheap enough that it won't break the wallet of a researcher.
- diego898 12y agoIm not sure I agree with this, especially when you want to get your lab to switch at first. The fact that its free is a huge bonus to get my lab to "just try it"
- dnautics 12y agoAh, good point.
- epistasis 12y agoWhile keeping everything public is probably good for bioinformatics projects that focus just on building tools, it would be disastrous for other areas of research where revealing a particular gene under investigation or specific genomic locus may result in loss of credit. This problem must be fixed at the publication, CV, and tenure committee level, not by GitHub.
- dnautics 12y agowell, I'm not a bioinformaticist (as a matter of fact my personal intent is to develop pharmaceuticals in the public), but I do see it as a chicken and egg problem, in other words, it's possible for github to become an instrument for that change.
- eob 12y agoAs long as society continues to reward individuals for generating new research, individuals will, out of necessity, keep their research materials private until they have finished extracting personal gain from it. Otherwise they would go through all the pain of working on a problem only to have someone swoop in 10% before it's complete and cross the finish line holding a borrowed baton.
- dllthomas 12y agoSo that's "Improving (GitHub for science)", not "(Improving GitHub) FOR SCIENCE!".
- deleted 12y ago[deleted]
- sixbrx 12y agoI don't think their Markdown flavor supports any Latex extensions, that would be a good start, IMO.
- onalark 12y agoIt used to, but MathJaX does not play well with GitHub's Markdown parser.
- ISL 12y agoAnyone else having trouble verifying an existing primary .edu address (no "Verify" button is apparent)?
- alceufc 12y agoIs there any style or guidelines for citing code (e.g. as we have APA for citing papers)? 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.
- mandalar12 12y agoYour latest point can be resolved through explicitly asking authors to cite the paper rather than linking to the website/github repo. 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]: https://software.intel.com/en-us/articles/pintool-faq https://software.intel.com/en-us/articles/pintool-faq
- gone35 12y agoYes; plenty of them [1,2,3,4,5,6,7]. [1] http://writers.stackexchange.com/questions/7797/what-is-the-proper-format-style-for-using-and-properly-citing-code-in-an-apa-pap http://writers.stackexchange.com/questions/7797/what-is-the-... [2] http://integrity.mit.edu/writing-code http://integrity.mit.edu/writing-code [3] http://software.ac.uk/so-exactly-what-software-did-you-use http://software.ac.uk/so-exactly-what-software-did-you-use [4] http://uark.libguides.com/content.php?pid=155080&sid=1780817 http://uark.libguides.com/content.php?pid=155080&sid=1780817 [5] https://owl.english.purdue.edu/owl/resource/560/10/ https://owl.english.purdue.edu/owl/resource/560/10/ [6] https://owl.english.purdue.edu/owl/resource/560/25/ https://owl.english.purdue.edu/owl/resource/560/25/ [7] And many, many more at: http://lmgtfy.com/?q=citing+source+code 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.
- deleted 12y ago[deleted]
- timr 12y agoSo, aside from DOIs (which anyone can create: http://www.doi.org/faq.html http://www.doi.org/faq.html), this post is mostly about free private git repos. 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.
- isbadawi 12y agoGitHub is not just hosted git. There are other features like the issue tracker, pull requests, editing files and committing from the browser, etc. 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.
- timr 12y ago"There are other features like the issue tracker, pull requests, editing files and committing from the browser, etc." 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.
- danso 12y ago"I know this is hard to believe, but Facebook really is a commodity product, and Friendster and Myspace have been doing it since years ago, and Diaspora is going to do the same thing, except be private and secure" - said someone everytime FB added a controversial feature. 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.
- cannam 12y agoThis seems like quite a big deal -- the parts were in place already, but having a route promoted by Github will probably make a big difference in academia. The idea of having a citable DOI for your work exerts a magic that is possibly out of proportion to its practical advantages for research code. 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 http://code.soundsoftware.ac.uk)
- onalark 12y agoAnd it's a very nice site! I might suggest making it more clear one of your help or about pages what licenses are acceptable for hosting. I am not a UK academic or a sound analysis computational scientist, but it's something that I would be concerned about when choosing a place to store my code.
- onalark 12y agoThis is very good news for digital science, and has been a long time coming. For those wondering why this is new and different from previous efforts, I will try to summarize. 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.
- hueving 12y agoMost universities already have systems to host research long-term. Most researchers are just too lazy to use it. Also, I would place more money on a university being around longer than Github if I was worried about longevity.
- onalark 12y agoI agree that University archives present another opportunity, particularly among the "first-tier" research institutions in the US. One problem is that many University archives are paywalled or require restrictive licenses. Another is that these archives generally do not accept submissions from outside the University. Let me turn this around on you. Given the availability of University preprint servers, what's the value of a service like arxiv?
- bradgessler 12y ago... meanwhile Github doesn't support viewing rendered SVG files when you click on a .svg file, yet they have viewers for 3D objects and maps that render in SVG. 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.
- jahewson 12y agoBrowsers are really not good at rendering SVG. Both WebKit and Gecko are riddled with bugs once you start using the non-trivial features of SVG. Worse still, browsers don't even support the latest version of SVG, which suffered a fate similar to ECMAScript 4. However, vector illustrating programs will happily generate files which use the browser-incompatible newer versions. 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.
- TTPrograms 12y agoThey don't have to send the straight svg for preview. They could either modify it for compatibility or at least render it server-side to raster and send it over. It's not impossible, at any rate.
- nbody 12y agoIt's not only a matter of compatibility but a multitude of security issues as well.
- santaclaus 12y agoLackluster SVG support doesn't stop with browsers. Even Adobe Illustrator manages to royally botch SVG support -- try anything with transparency.
- btn 12y agoSomething they don't mention until after you've signed up: the micro plan only lasts for two years. I assume any private repositories will become locked if you don't pay for a subscription after that (as with regular accounts). In comparison with BitBucket (not to advocate, but they offer a comparable service): the restrictions they waive for academic accounts are done so permanently.
- rxdazn 12y agoYou can renew it after two years though (still free of charge).
- dalek2point3 12y agoI've been thinking about this for a while, and thought github finally understood the value of a "git for data". Github really needs to be data repository, with "Code" being only one type of data. But then they become a hosting service for large data files, and that is a headache and a different business. I dont see how academics who work with reasonably large datasets would move to github as long as they have to manage their data on another platform. Perhaps Github could have deep integration with AWS / DO and collaborate to solve that pain point.
- ylem 12y agoThis is actually rather cool! There has been a movement in some fields towards reproducible research (http://reproducibleresearch.net/ http://reproducibleresearch.net/). If people were required to provide source code in their publications (by funding agencies), it would be rather useful for those cases where there are questions about the data analysis (for example: http://en.wikipedia.org/wiki/Anil_Potti http://en.wikipedia.org/wiki/Anil_Potti). It would allow a serious referee to check to see if there were either obvious or subtle mistakes in the analysis. Also, it would allow subsequent researchers to see what previous researchers actually did in the reduction--not just the final figure.