The label "Open Science" is a pleonasm, science must be open to be verifiable and useful to others. With the Internet and cheap data storage, there is no excuse to not share each other's work.
Let's be honest, a paper is never enough to grasp all details of a work, especially when a computer is involved. People interested in your work often look for details of implementation, or a certified way to reproduce your work and compare with their own work.
Never be ashamed of what you share, none of us is perfect, just do your best. With time and practice, organizing your work to be understandable by others will become easier. People that are really interested in your work will take time to dig into it, and they can always ask you questions if they need to.
Use open source software as much as possible, so people without access to expensive software can reproduce your work. Once we all use and contribute to open source software, they will have the same features than proprietary softwares. With the bonus that anyone could add the latest features they are working on.
Store your data in plain text as much as possible. The data format you use today might be obsolete in a few years, plain text won't.
Sharing your work also help establishing good scientific practice, which is really important: http://nautil.us/issue/24/error/the-trouble-with-scientists
Some links to get started:
GitHub is the simplest way to share your code. I also use it to host my website and to share paper code and data. Check the release system and git large file storage. You can cite your github repository:
Open Science Framework helps you manage projects with your colleagues in a friendly manner. It connects directly with many third party services, such as GitHub, Dropbox, figshare, and Mendeley.
figshare is a place to store you big data. Unlimited public space for free.
Academic Torrents is a distributed system for sharing enormous datasets.
jupyter is the follow up of IPython. It extend the now famous interactive ipython notebooks to many other languages. Try it here.
SageMathCloud is a promising way to share tutorial examples of your work, ready to be forked and use by other. Its a kind of virtual machine featuring SageMath, Python, LaTeX, and terminals in your browser. You can use jupyter notebooks too.
plotly is an online analytics and data visualization tool.
ReciPy effortless method to record provenance in Python: "With the addition of a single line of code to the top of your Python files, ReciPy will log each run of your code to a database, keeping track of the input files, output files and the version of your code, and then let you query this database to find out how you actually did create graph.png."
ReScience: "ReScience is a peer-reviewed journal that targets computational research and encourages the explicit replication of already published research, promoting new and open-source implementations in order to ensure that the original research is reproducible. To achieve such a goal, the whole editing chain is radically different from any other traditional scientific journal. ReScience lives on github where each new implementation is made available together with comments, explanations and tests. Each submission takes the form of a pull request that is publicly reviewed and tested in order to guarantee that any researcher can re-use it. If you ever replicated computational results from the literature in your research, ReScience is the perfect place to publish this new implementation."
arXiv and HAL are open archive where you can deposit scholarly documents from all academic fields.
Episciences.org is an overlay publication platform. It complements open archive by adding a peer-review component. Related publication: https://hal.inria.fr/hal-01002815 [pdf]
pandoc is an alternative to Latex for writing scientific paper. It includes an automatic citations package. There is some advantages in my opinion:
- Markdown separates more strongly content and form than Latex.
- You can output your paper for many different support, including html for your website.
- It is easier to collaborate with non Latex users, they just have to edit plain text files.
- You can still convert markdown file into Latex if you need it.
academicmarkdown is a promising project that harvest the power of pandoc for academic writing. Panzer is really useful too.
More links :
Unrelated but some best practice for Python: https://gist.github.com/sloria/7001839