The Open Source Initiative moved the website on a new platform, a baby step to improving the list of Approved Licenses. This is a weird announcement as weird was the journey that took us to this point. Let me explain how this is just a milestone for more changes to come.
opensource.org is one of few sites on the internet with a high authority. To confirm that a license has been reviewed and approved as respecting the Open Source Definition, other sites like Wikipedia and search engines refer to OSI’s domain as an ultimate source. Besides licenses, also the minutes of board meetings and announcements published on opensource.org are of tremendous historical value for lawyers, developers, policy makers.
Over the years, dozens of volunteers kept adding material to the website: navigation elements, forms, pages, and blog posts without a unified vision nor unified style guides. Over time, like many websites, opensource.org has become confusing and with an aging design.
When I started as executive director of OSI, the first task on my to-do list was to modernize the website. I wanted to streamline the navigation, improve the content, add consistency to the license pages, and make sure that visitors would find new content as well as historical references. I would have not expected to find so many obstacles and new constraints.
Securing the website
As I started asking for quotes and guidance from experts, I discovered that the website was running on a self-hosted virtual machine with a single, wonderful volunteer maintaining the server. Second problem: the website was running on Drupal 7, which is on life support and upgrading to recent Drupal would require a complete rewrite of the website. There was no path to upgrade ‘in place’.
So the project to renew the website expanded its scope: secure the current site from disasters.
The cost of upgrading Drupal and moving to a fully managed installation proved to be unacceptable for our budget. Since going from Drupal 7 to Drupal 10+ required a full site redesign anyway, we asked the WordPress community if they could help.
We received a very generous response from Automattic: they offered their WP VIP team to design a new opensource.org and port the content from Drupal to WordPress. As OSI was running its board election in Q1 2022, the Automattic team gathered requirements and did a quick assessment.
Breaking the project in multiple steps
In Q2 we sketched a project plan that would give us a new opensource.org by the end of Q4 2022, at no cost.
As the development of the new website started, we decided to spin off the blog on WordPress and create a new minisite for the Deep Dive: AI online event, with the intention of merging those back into the main site once on WordPress.
Laying the foundation for basic content improvements
Our priority was to sunset the self-hosted Drupal site as quickly as possible with a “lift-and-shift” of the pages to WP. We chose to avoid making radical changes to pages and navigation to speed up the process. We planned only three improvements:
- Lay the foundation for an improved list of licenses that have a similar appearance and the same set of metadata. Currently on Drupal we have a custom node type for “License” but not every license page uses it: some are simply Pages, others are type Blog, resulting in an inconsistent look. The new site has all the licenses in a Custom Post Type with metadata: Category, Version, Release Date, SPDX Identifier, License steward, Approval date, Link to Board minutes, Canonical URL, leaving space to add more details like tags. You can see it in action, with a dedicated search.
- Create workflows to help manage the board elections, simplifying the election process, build a list of current board members, history of candidates and alumni automatically. You can see this in action, too. And once elections start, you’ll see the rest.
- Improve how we keep the board meeting minutes. Board minutes contain a lot of relevant decisions, not only about license approvals. They should be standardized and searchable in the same place where the licenses are kept. You can partially see this in action with the minutes only until 2020. The most recent minutes are in the wiki and will be transferred.
Another unexpected roadblock
We discovered late in the project that we couldn’t take CiviCRM with us on the new hosting provider because its MySQL configuration didn’t have some necessary permissions. We should have found out earlier but we only discovered this in November 2022.
CiviCRM is how we handle membership, donations, newsletters, engagement with sponsors and donors and ultimately it’s the core of how we manage elections. We faced the hard choice: delay the migration indefinitely in order to find a replacement for CiviCRM or build a workaround. We went for the workaround of running CiviCRM on a separate WordPress managed by DreamHost. We spent December ‘22 and January ‘23 getting members.opensource.org up and running with CiviCRM.
What comes next and how you can help
The content was simply lifted and shifted from Drupal to WordPress and many pages look exactly like that. License pages are missing metadata like its steward, or the SPDX identifier or they just look weird.
We’re looking for volunteers to sift through the board minutes and carefully check that the approved licenses have all the metadata available. We have a small budget to dedicate to this task, too. If you are or know someone who is obsessed with quality and passionate about good record keeping, please reach out.
Also, we know for sure that some pages may not look good and there may be broken links. In general, if you find any issue on the new website, please file an issue.
At this point we’re enjoying not having to hope the virtual server wouldn’t crash over the weekend or that the old Drupal site would be vandalized. The new website is still a maze to navigate and relevant information is hard to find. We’ll address this in phase 2 of the project: the redesign.
The team at Automattic has been fantastic and we’re grateful for the donation of labor and free hosting. We now have a modern platform upon which we can build the next generation of OSI.