Yesterday I gave a guest lecture at Swarthmore College about what it’s like to work on an open source library as large and as widely used as CesiumJS. We love supporting our awesome community in the greater Philadelphia area, so we were more than happy to do this!
Omar explaining what we do at Cesium and how CesiumJS connects with ion.
This matters a lot to me personally because contributing to open source projects as a student was how I kick-started my career as a graphics programmer since there were no computer graphics classes available to me. Being able to read real production code in projects like CesiumJS that power apps for millions of users was incredibly valuable.
The room was full, and we were joined by a few high school students who were on a campus tour!
We talked about a dilemma a lot of open source projects face: it’s great to receive contributions from the wider community, but it’s also a lot of work to test, integrate and then maintain that for the foreseeable future. I recently saw how significant this can be when I worked on adding support for ImageBitmap to speed up image decoding. This feature started out as 5 lines of code in one file, and ended up requiring 700 lines of code across 30 files before we could ship it.
The students asked a lot of insightful questions, like how do we fund the development of our open source work, and what it means to have an open-core business model. Overall, it was a lot of fun talking to the students and sharing these stories! Thanks to Professor Aline Normoyle for inviting me to speak in her Software Engineering class.
If you’re looking for ways to contribute to open source, even if you’ve never done it before, a good place to start are the issues labeled “good first issue” on our GitHub. Contributions to Cesium are always welcome!