Screenshot of Coursepad website

October 2, 2016

CoursePad to Become Open Source

Print More

Cornell’s most popular course scheduling website, CoursePad.me, became an open source platform on Github last Thursday after enjoying two years of popularity among students, according to Jingsi Zhu ’16, the website’s sole developer.

Zhu explained that he chose to open source his website — or make its code freely available for modification and redistribution — after he graduated last semester and realized that he would need to devote more time to his work than to CoursePad.

However, changing the website to an open source was not an easy decision for Zhu. He said that during the years that he managed CoursePad alone, he was frequently approached with requests for partnerships or information that he did not feel he could comply with.

“I see myself as kind of like a guardian,” he said. “To make sure this still goes towards a generally good direction — in the direction that I think is correct.”

CoursePad first went online in late October 2014, after a month of development. Zhu said it he started the website as a hobby — a one-man project inspired by Chequerd and Schedulr, the popular course scheduling websites in that year.

“I was a pretty big fan of Chequerd, but there were minor details that could have been better,” he said.

In 2014, Zhu said he took a gap year to intern at various companies, including Google and Facebook. During the year, he said his interest in web development increased as he learned about its extensive capabilities in the modern age.

“I learned that the web was entirely different place, and there was so many complex things you could [do],” he said. “I wanted to see how I could approach this boundary.”

In approaching the CoursePad project, Zhu said he had two goals in mind: reliability — “I didn’t want it to go down during pre-enroll,” he said — and low maintenance cost. He said many web applications have a high maintenance costs due to the amount of calculations and data that the web host requires.

“CoursePad doesn’t have a server side component,” he said. “The price for running rate is practically zero. It is just like a webpage, not like a complex web application such as Gmail. Therefore it has a very low cost.”

These two, occasionally contradictory, goals made developing the project a challenge, according to Zhu.

“In order for something to be reliable, it needs to have redundancy,” he said. “If it has redundancy, it costs more money. It was one of the biggest challenges: how to balance these two contradictory acts.”

Zhu first sent a preliminary version of the CoursePad website to a few friends, and their positive feedback led to its spread across campus, according to Zhu. It was then that he decided to publish the beta version publicly.

The day CoursePad beta went live, the website instantly became a sensation among Cornell students, Zhu said. He said he was surprised to see its quick rise to popularity.

“I didn’t expect it at all,” Zhu said. “The thing with such course scheduling apps is that they are more or less the same. You don’t really have a strong incentive to switch unless there is a big problem.”

Zhu speculated that this growth could be attributed in part to the recent loss of Chequerd and Schedulr, other popular scheduling websites that went offline that semester and summer, respectively.

With last semester’s release of Scheduler, Cornell’s official scheduling web application, CoursePad has likely fallen to the back as well, Zhu said. He added that after Scheduler became available, CoursePad’s user count decreased by 15 percent.

“Now that Cornell has its own [scheduler], I feel like CoursePad has accomplished its mission in history,” he said. “Now I want this to be as useful to everyone as possible.”

The website’s source code is currently visible to all users on Zhu’s Github repository and is protected under the Apache 2.0 license. According to Zhu, the license is “extremely permissive” and allows his code to be used for any means as long as his work is credited.

Zhu also expressed his hope that developers will use his code to continue work on CoursePad both off and on campus, potentially making it available to any university.

“I will hope that some people will make it more of a serious project,” Zhu said. “The code is somewhat messy, because it was hobbyist project.”

Zhu announced his decision in a Medium post.

“From now on, CoursePad.me is no longer just mine. It’s yours. It belongs to the world,” he wrote in the post.