New Django-based system will provide support for the next 5 to 10 years, and enable more efficient administration and expansion.


Challenge

The Creative Commons license suite offers a way for people around the world to share copyright permissions for their creative and academic works. The pages are viewed more than 10 million times each month. After 20 years of growth and evolution, the code supporting this suite was outdated, resulting in broken URLs, misdirects, and incomplete translations.

Show Angle Down

Creative Commons is a non-profit organization that enables people to share their original work in a collaborative way, while retaining all necessary licenses to that work. The goal is to provide a free, simple, and standardized way to grant copyright permissions, ensure attribution, and allow others to copy, distribute, and use these works.

Over time, Creative Commons, recognized by their trademark CC, has grown to include separate products with more than 100 licenses in over 30 languages and layers of legal code. This code was running on an outdated infrastructure that was grown organically in a patchwork fashion, leading to a lot of complexity. It needed to be updated and simplified for CC administrators, developers, and the end user.

Solution

When Creative Commons was ready to improve their infrastructure and create a better user experience, they approached Caktus Group. After discussing the pain points, Caktus made a plan to build a new web application serving Creative Commons’ licenses with modern, open source tools and frameworks.

Show Angle Down
“There was a lot of excellent diligence and tenacity in the discovery process, and questioning of how things were put together and why. We had to detangle past decisions and bring new expertise to the problem.”

– Timid Robot, Core Systems Manager, Creative Commons

The Caktus team brought Django and Python expertise, along with a genuine curiosity for the way the suite had been put together, and learned that the pages were manually updated with licenses in more than 30 languages — a very complex and time-consuming process for CC. Timid Robot appreciated Caktus’s ability to help the CC team take a step back and view the entirety of the portfolio in order to reimagine the system as a whole, instead of as a conglomeration of parts.

“I think that hiring Caktus allowed us to make far more progress than we would have otherwise, and also gave us an outsider perspective, which was really instrumental in doing a reevaluation of everything,” added Timid Robot.

Using an iterative, Agile approach, Caktus created the frontend user interface, and then spent a large portion of the project on backend language support and localization. To modernize the suite infrastructure, Caktus performed the following:

  • Created new language translation support for over 30 languages with Transifex, a sophisticated, automated translation tool
  • Updated staging sites with translations
  • Created a new GitHub branch with translation changes
  • Pushed the changes live to staging sites for review
  • Updated the workflow so additional languages can be easily and automatically added
  • Created a Django platform where the Creative Commons administrators, legal team, and open source community can preview and approve new languages and license translations on the aforementioned staging sites
  • Wrote Django management commands and custom Python scripts utilizing the git-python library to push both the main language branch and translation branches

Because Creative Commons wanted to maintain their own database, Caktus also created a way to use the existing database to produce static files. Then, the static files had to move from the CC server to the license data repository, all while providing a seamless user experience.

Results

Creative Commons said goodbye to the complicated patchwork and implemented a more comprehensive, architected system that is automated, efficient, and consistent.

Show Angle Down

Creative Commons now has a reliable infrastructure to roll out a new license system that will support them for the next five to ten years.

The display and management of the licenses, including language translations, was made more consistent and efficient. The management of these licenses is more straightforward for the CC team, which will save them a great deal of time moving forward.

Timid Robot agrees that Caktus Group provided CC with a solid foundation and infrastructure using proven, open source technologies that they will be able to easily use and scale in the future.

“I really appreciate the depth of knowledge that the Caktus team brought, and it was helpful to have not just development, but also product management and quality assurance in an Agile workflow.”

– Timid Robot, Core Systems Manager, Creative Commons

As an open source project, the repositories and code are available on GitHub.

Creative Commons CC Icon