I've been chatting with @betatim @mfraezz about being able to launch a binder based on the contents of a frozen (aka immutable) artifact published on OSF. This is awesome and we should do it :)
On the binderhub side, we would have to do the following:
I think that's all that needs to happen here.
Generally 馃憤!
Currently URLs looks like: https://beta.mybinder.org/v2/gh/<org>/<repo>/<branch> with this change should we also support other URLs like https://beta.mybinder.org/v2/<provider>/...provider specific stuff here...?
Then you could have https://binder.org/v2/osf/<project_id> and https://binder.org/v2/doi/<some DOI here> etc
I think this feature would be amazing! A couple of related items to consider:
I think the non-git nature of OSF storage is actually a really great reason to consider adding support to binder because it would expand access to the large number of researchers who have learned enough R, Julia, or python to get their work done but who have not dived into the ocean that is git. Being able to switch from matlab to julia or learn your way around rstudio, save the resulting files, upload them to OSF (or google drive, dropbox, box, or any of the other various services OSF integrates with) and be able to transform those files into interactive, reproducible, code environments with binder is quite an attractive prospect.
Great to hear that someone else also thinks this would be cool :)
IMHO a large chunk of the work would happen in repo2docker which is the tool that does the heavy lifting inside BinderHub regarding cloning and building images. There is a (kinda stale) PR https://github.com/jupyter/repo2docker/pull/242 that attempts to refactor the content provider part of repo2docker as a step 0 towards supporting other content providers like OSF or Zenodo. If you want to pick that up let me know!
Met people at OSF today. Let's see what they have to say.
Note that @betatim is taking a first step to this here: https://github.com/jupyter/repo2docker/pull/242
Most helpful comment
Generally 馃憤!
Currently URLs looks like:
https://beta.mybinder.org/v2/gh/<org>/<repo>/<branch>with this change should we also support other URLs likehttps://beta.mybinder.org/v2/<provider>/...provider specific stuff here...?Then you could have
https://binder.org/v2/osf/<project_id>andhttps://binder.org/v2/doi/<some DOI here>etc