development

How can I contribute to an open source project?

Please select all the ways you would like to hear from Harmony project:

How can I contribute to an open source project?

How can I contribute to an open source project?

Your guide to contributing to open source projects

Are you feeling intimidated by the thought of stepping into the world of open source contributions? You don’t have to be an expert to help.

You might find this guide helpful: https://opensource.guide/how-to-contribute as well as the Reddit Opensource community.

1. Start small, think big:

  • Don’t feel pressured to tackle the most complex issues right away. Look for smaller tasks that align with your skills and interests.
  • These could be fixing typos in documentation, improving code readability, or adding simple features that haven’t been prioritised yet.
  • Remember, every contribution, no matter how small, adds value to the project.

You can try finding projects on Kaggle as a place to get started.

2. Find your niche:

  • Choose a project that aligns with your passions and expertise. This engagement will fuel your motivation and make the learning curve more enjoyable.
  • Explore projects you already use and appreciate, or discover new ones that pique your curiosity.

3. Embrace the learning curve:

  • Contributing to open source is a fantastic way to learn and grow as a developer.
  • Don’t be afraid to dive into unfamiliar codebases. Take your time, explore, and don’t hesitate to ask questions if you get stuck.
  • Even experienced contributors started as beginners—everyone’s been there!

4. Embrace imperfection:

  • Your first contribution might not be perfect, and that’s perfectly OK!
  • Even if you struggle to run the code, your feedback on that is helpful as it lets us troubleshoot the code base for the next joiner.
  • The open source community values learning and collaboration. Experienced developers are often happy to provide feedback and guidance to help you improve.
  • Be open to constructive criticism and use it as an opportunity to learn and refine your skills.

5. Celebrate the wins:

  • Every contribution, no matter how small, is a victory. Take pride in your accomplishments and celebrate your progress.
  • Each contribution builds your confidence and skills, paving the way for even greater contributions in the future.

Remember: Open source communities thrive on diversity and inclusivity. Your unique perspective and skills are valuable, so don’t be afraid to share them with the world. Take that first step, start small, and watch your contributions grow alongside your confidence.

Ideas for open source projects you can contribute to

  • Harmony - we are always on the lookout for anyone who can work on the back end (API), front end, or NLP side of Harmony! https://github.com/harmonydata/harmony
  • spaCy - one of the best known NLP libraries
  • Country Named Entity Recognition - a lightweight Python library for recognising country names in unstructured text and returning Pycountry objects. Very simple and a good library to start with on your open source journey pip install country_named_entity_recognition
  • Drug Named Entity Recognition - a lightweight Python library for recognising drug names in unstructured text pip install drug-named-entity-recognition
  • Fast Stylometry - a Python library for identifying the author of an unknown text (forensic stylometry). pip install faststylometry. Read tutorial.

How can I contribute to Harmony?

Read our guide to contributing to Harmony.

Harmony is a powerful data harmonisation tool which uses natural language processing (NLP) to bridge the gap between diverse research studies, automatically comparing and grouping similar items across datasets. Here are a few ways you can get involved in the project:

1. Get coding

Harmony’s back end is built in Python and the front end is in React. There is also an R library. Whether you’re a seasoned developer or a coding newbie, there’s a place for you. You can:

  • Browse open issues and pull requests and find a challenge that sparks your interest and contribute your unique skills.
  • Help maintain the existing code: Fix bugs, improve documentation, and suggest optimisations.
  • Develop new features: Take Harmony to the next level by proposing and implementing innovative solutions.

2. Work on the NLP models

The heart of the magic of Harmony is the large language models that it depends on, taken from the Hugging Face Hub. You can contribute by:

  • Exploring and testing NLP algorithms: Experiment with different NLP techniques to improve Harmony’s accuracy and efficiency.
  • Developing new language models: Try training your own LLM specialised in psychology.
  • Contributing to the NLP community: Share your insights and findings with other NLP enthusiasts, fostering a collaborative spirit.

The deeper we understand language, the better we can harmonise the world’s research data.

3. Publicise Harmony

Harmony’s mission thrives on awareness and accessibility. Can you champion the Harmony project online?

  • Writing blog posts and articles: Share your experiences with Harmony and inspire others to join the cause.
  • Creating tutorials and videos: Make Harmony approachable for beginners and showcase its potential to a wider audience.
  • Promoting Harmony as an open source project on social media: Share the love on Twitter, Facebook, and beyond, using the hashtag #OpenSourceHarmony.
  • Join Harmony’s public events - we have run a hackathon, an online orientation session and been active in Pydata, AI Camp and other events.

Ready to join the Harmony open source project? Head over to our GitHub repository at https://github.com/harmonydata/harmony, explore the free web tool at harmonydata.ac.uk/app, and dive into our documentation.

You can also try working on the Harmony R package on CRAN or try extending the Harmony API.

Bonus tip: We also have a Docker container available, making it even easier to get started with Harmony. Just check out our documentation for more details.

Together, we can shape the future of Harmony as an open source project and make it more sustainable for the future.

Related Posts

Help Design Harmony - UX Design Challenge

Help Design Harmony - UX Design Challenge

Help us design the next phase of Harmony and win up to £300 in vouchers! Search and Results UX/UI Challenge Harmony is a platform for researchers to help them discover and compare complex meta-data across different academic studies. The project is a collaboration between University College London (UCL), The University of Ulster, and Fast Data Science and has been funded by the Economic and Social Research Council (ESRC) and by Wellcome as part of the Wellcome Data Prize in Mental Health.

Winners of the Doxa AI Matching Challenge

Winners of the Doxa AI Matching Challenge

It’s all over! The Matching Challenge is now officially closed. Thank you to everyone who took part. The wait is over! We have now closed the Matching Challenge which was hosted on DOXA AI. Over the course of the competition we saw a total of 26 participants with 14 finalists making it onto the scoreboard. The final days were tense with many participants improving on their scores, submitting different methods and swapping places at the top of the scoreboard.

Signup to our newsletter

The latest news on data harmonisation project.

Please select all the ways you would like to hear from Harmony project:

You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website. We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices.