Apache Airflow Attracts First-Time Contributors

Earlier this year, we launched our First ASF Contributions Campaign to highlight the first-time contributor experience at the Apache Software Foundation. The people and stories in our #firstASFcontribution campaign exemplify our “community over code” ethos – our belief that open source community is ultimately more vital than open source code.

In this blog post, we’ll meet five ASF contributors who got their start contributing code through the Apache Airflow project. 

What is Apache Airflow?

apache airflow

Airflow is an open source platform for authoring, scheduling, and monitoring data and computing workflows. The main characteristic of Airflow workflows is that they are all defined in Python code, giving us a “workflow as code” approach.

Pankaj Singh

Last year, software engineer Pankaj Singh was working with an Airflow Google Provider when he faced an issue: a task succeeded when, logically, it should have failed because a file did not exist at the src location.

Pankaj set out to fix the bug in the provider’s LocalFilesystemToGCSOperator. Since it was his first time contributing, he watched a video from Airflow committer and PMC member Kaxil Naik to learn how to contribute to Airflow. He then submitted a pull request to raise an exception if the file path list is empty so that the task will fail if example-text.txt does not exist.

The community merged his request, and he’s maintained involvement with the project ever since.

“The Airflow community is helpful and quick to respond, which motivates me to continue contributing,” he said.

Edith Puclla

Last year, technology evangelist Edith Puclla was working in Airflow Breeze, a development and test environment that uses Docker Compose. She wanted the ability to check available resources (memory, CPU, and disk space) in the Breeze module before installing Docker, but it wasn’t an existing feature. So, she submitted a pull request and translated the Breeze code to Python, making it easier to maintain and reducing it by 70 lines. 

Through this process and the feedback she received from her mentor Jarek Potiuk, Edith learned new modules and functions within Python. Jarek has continued to serve as a mentor to Edith for ASF contributions as well as professional development.

“What encouraged me to contribute to ASF was the community and the safe space that my mentors created to ask questions and work through issues,” said Edith. “This was my first time contributing to a diverse team and fully engaging in the English language.”

Marcus Eagan

Technology advisor, investor, and leader Marcus Eagan learned about Airflow when he met the Airflow and Superset creator Maxime Beauchemin at a benefit concert. Marcus had never contributed an Apache pull request, but by the night’s end, he promised Maxime he would go home and fix something in Airflow and Superset, both incubating at the time. He kept his word and started contributing to the Airflow project.

In 2018, Marcus found a CSS hack that solved casual quirks, but it made it difficult for data engineers who rely on screen readers. So his first pull request was a change that made it easier for this user group and use case. 

“I want to improve the accessibility, security, and predictability of Apache Software Foundation projects because they underpin human society,” said Marcus.

Since his first pull request, Marcus has made dozens of contributions across many ASF projects, and he is now a Solr Committer. 

Phong Bui

Data engineer Phong Bui worked with Airflow at various companies. Still, he hadn’t had the chance to contribute to the project until he started working with a coworker who shared his interest in OSS. They searched for the most popular repository written in Python on the Apache GitHub page. It turned out to be Airflow. 

After browsing through the Airflow issue tracker earlier this year, Phong found one that piqued his interest. For a week, he worked on the issue on and off. Even though he found debugging periods tiring, it helped him gain valuable insights into the internal workings of Airflow. 

“I made my first contribution and received valuable feedback from the reviewer, Tzu-ping Chung,” said Phong. “Several commits later, my pull request was approved and finally merged; I was overjoyed.”

Phong says he continues to work with Airflow to give back to the community, which was so helpful to him when he made his first contribution.

Mark Richman

Solutions architect and advisor Mark Richman is part of a team of Airflow specialists at Amazon Web Services. Last year, he submitted a pull request for the Airflow Amazon DynamoDB Value Sensor, allowing users to wait for an attribute value to be present for an item in a DynamoDB table.

In Apache Airflow, a sensor is a type of operator that waits for a specific condition to be true before executing a Directed Acyclic Graph (DAG) task. The purpose of sensors is to enable the DAG to be more flexible and reactive to environmental changes.

The Amazon DynamoDB Value Sensor is ideal for external systems that don’t have native Airflow sensors of their own. By leveraging this sensor to monitor an Amazon DynamoDB table for status updates from a third-party system, users can synchronize and control the execution of their workflow based on the availability, readiness, or completion of external processes or data sources.

“The Amazon DynamoDB Value Sensor feature solves several challenges presented to us by AWS customers,” said Mark.

Mark mentioned his appreciation for the open source technologists who helped him on his #firstASFcontribution journey, including Niko Oliveira, Dennis Ferruzzi, and Jarek Potiuk.

Want to contribute to ASF?

If you’re new to open source software or the Apache Software Foundation, you may think you have little to offer. However, you will be surprised at how much you can help. Contributions are not just about code. We all start somewhere – contributing docs, marketing, translations, mentorship, running or participating in events, etc. – and all forms of contributions can have an equal, positive impact on a project’s health and longevity. 

To see our guide for newcomers, visit https://community.apache.org/newcomers/index.html

To share your first ASF contribution story, fill out our short form at https://lnkd.in/gZaWRnzT