The challenges of Open edX's large and complex codebase | Opensource.com

The challenges of Open edX's large and complex codebase

Posted 17 Jul 2014 by 

Travis Kepley (Red Hat)
Rating: 
(6 votes)
Image by : 

opensource.com

submit to reddit

One of the fundamental tenets of the open source movement is the freely available access of knowledge. There has been a growing scene of educators, institutions, and organizations that see open access to knowledge as not being limited to that of source code. For several groups and universities this has been a focal point for the future of worldwide education.

edX has been making a name for themselves by not only creating a fantastic partnership of like-minded educators and institutions, but by also open sourcing the platform on which edX is built.

As part of Opensource.com's interview series for OSCON 2014, I had a chance to speak with David Baumgold—a software engineer at edX—about education, open source, and what lies in store for OSCON 2014 attendees who are interested in open access to education. Be sure to catch David and James' talk on Open edX at OSCON this year!

I have been a big fan of the open course initiative since the beginning. I notice that there are several foundations working with you including one near to our hearts, The Linux Foundation. Can you give me a little detail on how The Linux Foundation became involved with the edX project?

I don’t know the details of that partnership, but it seems to be exclusively focused around providing the Linux course on edx.org, as opposed to the Linux Foundation actually contributing any code to the Open edX codebase. Since I’m focused on integrating code contributions to our codebase, I don’t hear very much about the other initiatives going on with the destination website. I do know that the Linux course has been an extremely popular course, and lots of people seem excited to learn more about software and open source!

One of the big tenets of the open source philosophy is that information should be available and not a guarded secret. This is clearly in line with edX's goals. Can you give us some examples of where you are able to pull from the open source community to expose knowledge to the masses?

The biggest success I can point to is our XBlock architecture. XBlock is an extensible system that allows a developer to define a component of a webpage—such as a video player, a Javascript-powered interactive, a view of the discussion forum, and so on—and reuse that component within a course and across courses. We can’t possibly build all of the amazing learning tools that every possible course will want to use, but XBlock allows course authors to build their own tools and share them with others in the learning community. Recently, a team at MIT that had no prior contact with the edX development teams built their own XBlock, and announced it on the community mailing list. The response from other institutions and organizations in the community has been overwhelmingly positive: there’s clearly a big demand for this sort of component that edX didn’t even know about. But by providing the tools for the community, open source allows people to scratch their own itch, and help everyone learn more effectively.

What would you say is the biggest challenge for open access to education? What are some small changes that could make a big difference for edX to achieve its goals?

I think the biggest challenge is the matter of scale. We know how to provide quality education in small groups of people, but the fundamental challenge that edX is facing is how to provide quality education to massive groups of people. The Internet provides tremendous opportunity to connect people in unprecedented ways, and we’re finding that we can all learn a lot from each other—the traditional lecture-style classroom may end up taking a back seat to a more collaborative, networked environment, where students learn more from their peers than from a professor. We are just beginning to learn more about how education happens on a massive scale, and the challenge—and the opportunity—is in figuring out what works in this uncharted world.

Another core tenet of successful open projects is a strong and vocal community. Can you tell us a bit about the edX community of users and contributors?

We have a large community already, and they’re certainly vocal about what they want and need! I would say that the Open edX community can be divided up into three categories.


View the complete collection of OSCON speaker interviews

We have the community members that represent universities with courses running on edx.org, or other universities that have strong ties to the company. These community members often share information with each other about how to use edX effectively, whether its answering questions, sharing code contributions, or discussing theories of pedagogy.

Next, we have community members that have their own Open edX installations, and want make it easier to keep their code up to date, learn more about how to run their servers effectively, and hear what edX is planning on building next. These people also report bugs in our codebase, and sometimes help get them fixed as well.

Finally, there are the people who are just dipping their toes in with the project: people who have trouble getting it installed, people who want to know if it supports a certain feature, people who don’t know where to begin. The Open edX codebase is large and complex, and there’s only so much we can do to make it simpler! For these people, we’re trying to learn how to give them the best help we can, and how to help them help each other. The more people there are using Open edX, the more potential contributors there are making things better for everyone!

In a recent article in the Boston Globe, it was stated the the vast majority of students were from outside of the US where edX is based. I would imagine this is pretty exciting given the global participation you have from universities overseas. What are your thoughts on the numbers from that article? Some numbers are really surprising!

Education is important around the world, so it makes sense that we would have a large global community—after all, there are more people in the world living outside of the US than there are living in the US. However, it’s still amazing that we have this kind of reach! Apparently, the US education system is well-known around the world.

We’ve also seen impacts of this phenomenon in the Open edX open source project. It turns out that our very first contributions from our open source community were focused around internationalization, so that users could use the website in their native language. Our community really pushed us forward on this front—and as I said, they can be quite vocal about what they need! Our volunteer translators are translating more and more of our platform into other languages, and there’s always lots of celebrating at the edX offices when we release another language on the edx.org destination website.

Is there anything in particular you'd like to share with us about your talk for OSCON 2014 this year?

This is going to be my very first OSCON, and I’m very excited. I have no idea what’s in store, but looking at the schedule of talks (and the sheer number of them!) I’m sure it’s going to be an amazing conference.

View the complete collection of OSCON speaker interviews.

submit to reddit

Comment now

Travis Kepley is a Senior Instructor at Red Hat where he helps employees, partners and customers understand how Open Source Software can create a better IT and business infrastructure. Travis started at Red Hat in January of 2008 as a Technical Support Engineer before becoming a Solutions Architect prior to moving to his current role. Travis graduated from the University of North Carolina at Greensboro and now lives in Raleigh with his wife and dog. When not extolling the virtues of open

What is open education?