GitHub’s free memberships are often used to host open source projects. This feature is valuable to the Metadata Standard Directory, not only because the project can be hosted for free, but because GitHub allows contributors to collaborate freely with each other as well as the sites administrators, who are limited (as of now) to RDA and DataONE mentors, interns and employees.
GitHub allows contributors and administrators to work remotely using a Git command-line or from the site using a web browser. While projects created using GitHub are easily maneuvered by programmers, non-programmers can also easily navigate the site using the web-based editorial function.
Learning to navigate GitHub with tools like Git Bash might be a worthwhile learning outcome but may not be plausible given the time constraints of RDA and DataONE internships. This guide to GitHub should come in handy for interns coming into the project with traditional library backgrounds, rather than programming backgrounds.
Administrators/maintainers of the page or contributors without ownership of the page can contribute to the page by adding standards, use cases or tools or by editing the page. Metadata standards often go through administrative changes and one of the results is that websites change, therefore links for metadata standards provided on the Metadata Standard Directory page can become out-dated or broken. Finding these broken links can be extremely time consuming. GitHub provides a solution to this issue because contributors, or even random visitors to the page can request changes to the page.
Contributor to the Metadata Standard Directory can work with Metadata Standard Directory page as a GitHub member. Becoming a GitHub member is simple and can be obtained on GitHub’s main page. GitHub members can contribute to all public GitHub pages or utilize existing code to create original projects.
Contributors should begin by Forking the Metadata Standard Directory page. Forking allows the contributor essentially to have a personal copy of the page. Additions and edited content can be created on the contributors Forked copy. Changes can be Pushed to the main page by creating a Pull Request. The Pull Request is sent to the pages maintainers or administrators and then, upon review, is Pushed into the code of the main page.
Edited content and additions to the page can be done using the command-line, or contributors can work directly from the site by clicking on individual files and working with the code using the edit function on the GitHub site.
Metadata standards are constantly being updated, changed, or even deleted all together. Although, this seems to be the nature of metadata standards, it can potentially pose problems regarding maintenance of the directory. Contributors are incredibly important to maintaining and updating the directory.
Administrators/maintainers of the site are added by existing administrators. New administrators will begin by Forking the RDA Metadata Standard Directory. This will give the user a copy of the site. Administrators, unlike contributors, can edit the page from the website without having to wait for Push approval. The Forked copy of the page will be labeled as the “Master” page, and the main GitHub page, where the project is updated is labeled as “gh-pages.” Ideally the Forked master page and the main gh-pages will be identical.
Users will work from the master page and push/merge into the gh-pages main GitHub page.
In this example, I will change my name as one of the contributors to the GitHub Page:
Working from the rd-alliance/metadata-directory and we are working in the Master Branch. We will work in the _includes file which contains the Footer code. I will change my name in the contributor note to “Kate Anne Alderete,” adding my middle name. Once in the Footer File, click the edit function which brings up the code with my name appearing without my middle name.
Once the content is edited by adding my middle name, we can commit the change. Additional comments can be added in this step. Depending on the change, this can be helpful to other administrators.
Next, I will create a pull request. This will merge the change made in the master page to the gh-pages.
Creating the pull request compares the gh-pages to the master. This page shows the changes made to the master page.
Once the Pull request is created, administrators can then merge the change from the master into the gh-pages.
After confirming the merge, we can see what changes we have made on the GitHub RDA Metadata Standard Directory page.
Although this is an extremely simple example of editing content, all content can be managed and edited using these steps. Administrators play a vital role in maintaining the page. As more GitHub users contribute to the Metadata Standard Director, more pull requests will have to be reviewed and pushed into the main page. Administrators should also take time to review the content on the page to insure that all content is up to date.