Maker Blog Series
Finding a Place in Open Source
Mar 24, 2022By Brendan Collins
This could be you! Click here to submit an abstract for our Maker Blog Series.
Building open-source tools is a passion of mine, and a key focus of the work we do at makepath. makepath specializes in building custom AI-powered geospatial applications while using and maintaining open-source libraries. Through work with the open-source community, makepath has been able to connect with driven individuals that have been vital to makepath’s growth in the open-source space.
Starting with Python
My first interactions with the open-source community started back when I worked for The Nature Conservancy. I came across a problem that couldn’t be solved with brute methods. I was working on a project that involved about a hundred thousand zip files and realized I needed a faster way to deal with that much data (because unzipping them manually would take too much time). At the same time, I got a book called Python For Dummies, and that’s how I got started with Python. As an open-source language, Python connected me to resources driven by the open source community, and this inspired me to start contributing to open-source projects.
Learning from Leaders
My involvement with Blue Raster, a geospatial consulting company, gave me insight into the problems that geospatial technology can solve. I got to see Blue Raster grow into a business centered around geospatial technology, tackling challenges surrounding natural resources management and healthcare demographics. The dedication and vision that Stephen Ansari and Michael Lippmann bring to the Geographic Information System (GIS) space has improved environmental and health outcomes through applied geospatial analysis.
I went on to join Anaconda as a software engineer in 2015. Joining Anaconda increased my exposure to open-source projects like Bokeh, Datashader, Numba, and Dask. When you’re around leaders like Peter Wang and Travis Oliphant, you gain their passion through osmosis. It was here that I honed my open-source knowledge and software craftsmanship.
Open source unites developers independent of backgrounds and geographies. The transparent nature of open source enables developers of all skill levels to contribute in a meaningful way. As a company, makepath leads through open-source contribution. All members of the makepath team contribute to open-source projects. Clients find us through our open-source work, like our work on the Bokeh 2.4 Release and Microsoft’s Planetary Computer Initiative.
The combination of the success I witnessed and the people I met at Blue Raster and Anaconda gave me the knowledge and drive to start a geospatial company focused on building open-source tools.
makepath was founded in Austin, Texas in 2020, when I joined forces with Pablo Fuentes, whose deep experience with running a company complimented my technical experience. Together we saw an opportunity to advance open-source GIS and open-source machine learning tools.
We couldn’t have achieved our goals without support from Blue Raster and Anaconda. makepath was built upon our collective experiences from throughout our careers.
Deciding to build an open-source project starts with curiosity. In my case, I was curious about geospatial and found a niche in that space.
I started building Xarray-Spatial before makepath was founded. The Xarray-Spatial library provides common raster analysis functions using Numba. It’s also scalable with Dask, which helps it run across different cores and multiple machines.
I wanted to create an open-source library that:
I was interested in (geospatial was a natural pick)
Is free of GDAL dependencies
GDAL is the fundamental raster library for most open-source geospatial applications. I did not want to replace GDAL with Xarray-Spatial but wanted something that I could easily extend in Python.
Xarray-Spatial grew out of the Datashader project led by Jim Bednar. Datashader wanted to stay general-purpose, so Xarray-Spatial split off as a Geo-domain-specific library—with tools like Viewshed and Zonal Statistics that had been previously implemented in Datashader.
There are challenges you run into when creating an open-source library. Many algorithms make up a single tool, and research is helpful for backing up functionality that will be released for public use across many projects and industries. In some situations where you’re trying to boost the functionality of a tool, however, you may find that academia has not caught up yet, so there may be a lack of said research that you’ll need to work around. In addition, making the aforementioned algorithms scalable both horizontally and vertically takes time and testing.
Advice for Future and Current Makers
Start surrounding yourself with people who are interested in what you want to do in the open-source community. This exposure is vital to figuring out how you can get involved with similar projects, or even start your own.
You have the power to start or work on a project that can solve a problem you’re currently dealing with. Other people likely have the same problem as you. Working on something that has a direct application in your life is important in order to build momentum.
No matter your specific degree, you can decide to dedicate a portion of your time to learning and working on an open-source project that inspires you.
Contributing to open source offers you the ability to grow your career in an amazing way. The experience you’ll gain through open-source contributions will not only provide you with new skills but will also connect you to a community of leaders that want you to succeed. This community will help you find your place in open source.
About the Author
Brendan Collins is an expert in data science and geospatial technology. He has worked with many of the world’s leading organizations including NASA, Samsung, The World Bank, The Bill and Melinda Gates Foundation, USAID, and more.
Brendan is an active contributor to and core developer on several open-source projects. He is a core developer on Datashader and Bokeh, and most recently he created the Xarray-Spatial library for large scale spatial analysis.
Brendan founded makepath to expand the scope of services and products he is involved with, and to help further his vision of a world that is more interconnected and aware.
Brendan is an avid swimmer, biker, and guitarist. He is also an FAA sUAS Certified Pilot.
About the Maker Blog Series
Anaconda is amplifying the voices of some of its most active and cherished community members in a monthly blog series. If you’re a Maker who has been looking for a chance to tell your story, elaborate on a favorite project, educate your peers, and build your personal brand, consider submitting an abstract. For more details and to access a wealth of educational data science resources and discussion threads—including one about this blog post—visit Anaconda Nucleus.