Hello, and welcome to ASWF Dev Days! We're so excited that you are interested in contributing to OpenColorIO!

What is this?

In case you got here directly through OCIO's site - the ASWF is organizing an event called "Dev Days," which is kind of a hackathon with the goal of getting people who haven't contributed to these projects (or maybe any open source project) to pick a "1-day" task and make their first contribution. It's scheduled for September 25-26, 2024 (you pick whichever day or time split is convenient to you). During that time, the senior developers of the project will be monitoring the mail list, Slack, and GitHub, standing by to answer questions, review code, and help you through the process.

Check out the ASWF Dev Days site and the participating projects, and if you are interested in participating, please register! If you have questions, please reach out, or join the #devdays slack channel on the ASWF Slack instance. 

If you're reading this, you're probably interested in contributing to OpenColorIO. So also say hi on our Slack (join OCIO's #devdays channel) or mail list, introduce yourself, and let us know what you'd like to work on (or ask for advice on what to work on).

Overview

  • First, read the General Participants Guidelines on the Dev Days Wiki. Complete the steps listed there to get started with GitHub, Open Source Contribution basics, and Contributor License Agreements (CLAs). 
  • Take some time to familiarize yourself with our project repository, documentation, processes, and contribution guidelines.
  • Plan to attend an OCIO meeting before the event to introduce yourself, ask questions, and make sure you're ready to participate. 
  • Choose a task - see below.

Choosing a task

Ideally, you want to choose a task that's big enough that you'll learn something and that will be helpful to the project, but small enough that you can probably complete it in one day. Hard enough to stretch you, easy enough to leave you excited and wanting more.

Please check out the issues tagged for Dev Days on CLOtributor. Any of these are great options for Dev Days. Here are a few other options, separate from the "good first issues":

  1. Any issues tagged "Documentation" might be a great way to get your feet wet & learn about OCIO features at the same time.
  2. OCIOView - this is an application developed by Michael Dolan - just released as a "first look" beta in OCIO 2.3. It's a GUI config editor/viewer. 
  3. OCIO also maintains the OpenColorIO-ACES-Config repository. It is a python-based config generation library, used to maintain and release the OCIO v2 ACES Configs. If pure python development is more your speed, we have a lot of issues over on that repo that would be great starting points.
  4. Something else that you pick

    Does it have to be something we suggest above? No.

    Does it have to be something we marked as "good first issue?" No.

    Can it be something that's not a currently filed issue at all? Yes!

    Can it be something that you have a particular interest in, because it's related to how you or your company use OpenColorIO? YES! This would be the ideal case.

Get Set Up

There will be a decent amount of prep work and setup required to get your development environment ready to contribute. Please don't underestimate this time - if it's your first time building a project from source, please allow yourself at least a few day's time to familiarize yourself with CMake (helpful documentation is available on the main Dev Days Wiki). Even if you're more experienced with the build process, please allow a few hours for setup, in case you run into issues specific to OCIO and/or your platform. We provide build instructions for Linux, Mac, and Windows, but cannot reasonably test for all permutations within them. For OCIO specifically, please keep in mind that the majority of our developers are based on Linux or Mac development environments. We will do our best to assist with Windows, but please allow ample time. 

Detailed build instructions can be found here.

We suggest going through the process of cloning, forking, building, and submitting a test PR against your chosen issue PRIOR to the actual Dev Days event, so that your time can be actually spent working on your issue, vs. debugging setup. We recognize that the learning curve for getting ready to contribute is steep - but know that once it's working, it will rarely change! It's like riding a bike. And we're here to help - so please reach out. 

  • No labels