This is the project idea list for the current round of open source collaborations at Creative Commons.
Medium
Large (~350 hours, ~12 weeks)
The Quantifying the Commons project has seen excellent additions led by student developers. However, the scope of previous projects did not include automation or combined reporting.
Add automation of data gathering and report generation so that our reports quantifying the commons are never more than 3 months out of date.
The contributor will need to architect a data flow, formalize data formats, automate data gathering, and automate reporting. Challenges include quota limits that may require multi-day/multi-step data gathering, deciding on plain text vs binary data formats, and secret management. Knowledge of numpy and matplotlib python libraries will be very helpful.
Medium
Large (~350 hours, ~12 weeks)
The enhancement of system architectures through the strategic transition from SaltStack to Ansible for provisioning, coupled with the implementation of Docker infrastructure, represents a significant step towards improved efficiency and scalability.
The project's goal is to create a strong and local development setup using Ansible and Docker. This setup will be like a real work environment, with a special server for security (Bastion), automation with Ansible, a server for websites, and a server for storing data. This setup will make developing things easier and safer, and it will be a model for how we do similar projects at CC in the future.
Docker containers:
Contributor will:
Hard
Large (~350 hours, ~12 weeks)
The current existing Creative Commons WordPress plugin has feature drift and technical debt that make it a challenge to sensibly expand/revise. At the core of desired uses, this new WordPress plugin needs a reliable and succinct way to add Attribution and Licensing information to a Media item within the Media Library at initial upload. This modification/extension of the Media item’s "meta field information" needs to be stable and clear enough to enable future expansions in featureset into other areas of the WordPress backend interface.
Building from a strategy of simplistic and necessary structure and functionality, a new plugin would be created that extends the fields for a Media item to include License and Attribution information.
Contributor will follow an approach that is simple to maintain, and possible to extend in the future. Users can upload items in at least four ways, and ideally all four would be factored into this plugin:
Each of these routes should have the ability to input and modify this additional meta field information about the item. The plugin should utilize well structured PHP generally. More specifically when solving for Gutenberg and/or TinyMCE adequate and sensible choices in JavaScript should be utilized. All code should be well documented, and specific code interacting with the Classic editor vs. Gutenberg editor contexts should be well compartmentalized. The Contributor will also set up a custom Docker configuration in accordance with other WP + Docker setups utilized by CC, specifically for the build and testing of the plugin.
Medium
Large (~350 hours, ~12 weeks)
The Resources Archive has an outdated visual setup, and needs functionality fixes and improvements.
Upgrade the look and feel to match current CC aesthetics, using the internal Design System (Vocabulary). Codebase is running current and standards compliant technology implementations. Entire site builds as static files on GitHub Pages. Generate clear documentation of codebase and functionality.
Contributor will refactor codebase to fix resource submission, use current semantic, accessible, and standards compliant HTML, CSS, and JavaScript to match the current visual aesthetic of Creative Commons sites. Improve the overall UX for finding, submitting, and accessing resources. Ensure the site functions as a static and stable site hosted on GitHub Pages. Final implementation will have clear documentation drafted within the codebase for future maintainability.
We are open to original ideas for documentation improvements.
Please talk to us on the #cc-dev-workprograms
channel on Slack or via the mailing list to find a mentor for the project before submitting your proposal.