Retail and Financial Services
Every year, thousands of students attend Queen’s University and receive a transformative, research-intensive learning experience. For more than 175 years, this institution has been educating many researchers and scholars, including a Nobel Prize winner. Graduates are known for their excellence across disciplines that can change lives and change the world, including physics and cancer research.
However, when there was a push to create an integrated online learning experience for the university’s medical school, leadership at the university knew that it would be a challenge to meet this need. “The requirements within medical education and education in general change very, very quickly,” said Matt Simpson, Associate Director of the Elentra Consortium at Queen’s University. “We knew we would have to build a flexible platform to meet our own needs and, in doing so, we created a solution that met the needs of many other schools.”
Initially, the project started out as a curriculum management system used to map curricular content and give learners access to the resources they use during the sessions they have. Then, Queen’s was approached by another Canadian university that wanted to use the product they built. “At this point, we had a discussion about whether to commercialize the product or keep it in house and create a community around it. Ultimately, we decided to do both.” Instead of simply sharing the source code and having them use the product, Queen’s University created a software consortium: The Elentra Consortium.
“Universities often struggle to mature software they develop to the point where the software can be utilized by other schools,” said Simpson. “Even if the product is great, over time, custom in-house software can end up dying.” For participants in the Elentra Consortium, the source code is available as community source software—allowing any participating school to use and contribute to it. There is also a separate fully managed cloud-based commercial offering now available.
Today the Elentra Consortium is made up of more than 20 universities in the US, Canada, and Singapore. It includes 10 repositories, three main products, and two shared libraries. In total, they have a team of over 100 developers within the consortium—but collaboration wasn’t always so seamless. When the collaboration initiative began in 2008, developers were using Apache Subversion (SVN) to track and manage code changes. After recognizing the need for better visibility and a community-centric platform, the university migrated the consortium’s code from SVN to Git for version control, and ultimately to GitHub. “Developers gravitate towards GitHub. It has the visibility and community already established which made our developers immediately comfortable with using the system.”
Developers gravitate towards GitHub. It has the visibility and community already established which made our developers immediately comfortable with using the system.
Using GitHub, universities can easily fork the existing core software and build on top of it or modify it to meet their needs. These modifications can optionally and are often contributed back into the core product.
To make this possible, Queen’s asks consortium participants to create what they call an “institutional fork”—a copy of a GitHub repository that allows them to freely experiment with the code. There, each university can make their own changes without impacting the original code. When they do build something that the rest of the community can use, they can contribute it back to the original GitHub repository.
Universities can also choose to collaborate with other schools in the consortium. They can rely on the institutional knowledge within the consortium and collective wisdom of the community to continue innovating. “Schools are often experts on a particular feature for a certain amount of time. Then faculty members or developers move on or institutional priorities shift, and no one remains to take it up,” said Simpson. The consortium model built on GitHub solves that problem.
First, one university develops a new feature based on the requirements and feedback of their stakeholders. Then the Elentra Consortium core team can do the code review, QA, and security analysis of that feature and merge into the final product. There are often one or two developers from multiple universities, all working on the same feature at the same time. “If a school doesn’t have significant resources available to work on a bigger feature, they can team up with other universities. This allows them to build something they would otherwise have to buy.”
Queen’s University also leverages integrations with GitHub to streamline the processes associated with the project. For example, the university uses an integration between GitHub and Jira to manage issues and project planning more easily. When a developer creates a pull request or mentions an issue number in a commit, it immediately shows up within Jira. Developers can create an issue number branch, then push their bug fix or feature. When they’re done, they submit a pull request back to the core repository into the original code branch.
Continuous integration testing used to be done with Travis CI, but recently Queen’s University switched to GitHub Actions, said Simpson. “I liked Travis CI, it was fantastic. However, it was an expensive service for us. GitHub released Actions and it does everything so elegantly within the tool we already rely upon,” said Simpson. Now, when a pull request gets created, the university uses Actions with built-in CI/CD to run its unit tests, dependency verification, and code linting. “I’m very grateful for the fact that there are so many pre-existing actions in the Marketplace,” Simpson said. He also explained that moving to Actions saves the university money and allows them to invest in other priorities. “We’re able to put the money we save with Actions towards better security for our software.”
Today, Queen’s University sees GitHub as central to its collaborative software development process. “Without GitHub, we wouldn’t have our consortium edition repositories or all of the institutional forks that make this project possible,” said Simpson.
Retail and Financial Services
Brett Cannon made his first open source contribution more than 15 years ago. Now a Software Engineer at Microsoft, he’s still a core contributor to Python, a project he has contributed to for more than a decade.
Start collaborating with your team on GitHub
Want to use GitHub on your own? Check out our plans for individuals