Skip to content

Commit

Permalink
Merge pull request #256 from geoblacklight/roles
Browse files Browse the repository at this point in the history
add roles
  • Loading branch information
karenmajewicz authored Apr 10, 2024
2 parents 12c10a3 + c2baeb0 commit 40dc6e6
Show file tree
Hide file tree
Showing 4 changed files with 252 additions and 92 deletions.
18 changes: 18 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,24 @@ GeoBlacklight uses the OpenGeoMetadata Aardvark Metadata Schema by default, whic

- Excellent geospatial analysis and mapping tools already exist. Rather than build new ones in GeoBlacklight, we focus on **integration with these existing tools**.

## Our Development Practices

- **Open source model**: GeoBlacklight is an open source software project licensed using the Apache License, version 2.0. Our development practices have been codified in a [contribution guide](https://github.com/geoblacklight/geoblacklight/blob/main/CONTRIBUTING.md) since December 2015 and we use [semantic versioning](https://semver.org/) to release the Ruby on Rails engine to RubyGems. Changes are made to the codebase using pull requests to the GitHub source code repository.

- **Connected frameworks**: Many of the development practices for the GeoBlacklight project have foundations in other open source software communities. A strategic design decision was made to build on existing pools of expertise in organizations with [Blacklight](https://projectblacklight.org/) and [Samvera](https://samvera.org/) rather than build a completely custom system. The project also relies heavily on configuration and extensibility as useful patterns for adopters making customizations.

- **Decision-making**: Much of the technical decision-making is driven from the original [GeoBlacklight Concept Design document](/pdfs/GeoBlacklight-Concept-Design.pdf) and has been further distilled into our [GeoBlacklight Technical Values](#geoblacklight-technical-values). Major and minor decisions are made using informal consensus.

- **Testing**: GeoBlacklight has Continuous Integration Testing, and tests are expected to be written with code contributions to the project. The project also implements both Ruby and JavaScript style guides to ensure a stylistically similar codebase.

- **Funding**: There is no funding model for GeoBlacklight, and most development comes through volunteered or assigned time from contributing organizations. Some projects have received grants or dedicated funds to build their GeoBlacklight applications. Our community also includes private vendors and independent freelancers that have contributed to the project through contracted work.

- **GeoBlacklight Software Versioning**: GeoBlacklight follows the practice of [Semantic Versioning](https://semver.org/) for software releases. The declared semantically versioned public API includes:

* the [public GeoBlacklight Ruby codebase classes](https://www.rubydoc.info/gems/geoblacklight)
* the GeoBlacklight JavaScript interface
* the GeoBlacklight view interface


## Connected Projects

Expand Down
243 changes: 151 additions & 92 deletions docs/community.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,69 +4,155 @@ Discovery services and metadata are key challenges for organizations who provide

Anyone interested in spatial data infrastructures, libraries, GIS, maps, data curation, open source software, and related topics, is welcome to join us. Depending on their skills and interests, participants contribute to the community in any number of ways (for instance, by attending meetings, writing documentation, developing metadata best practices, engaging in outreach, and writing code). Participating in the community is especially beneficial to those who are implementing or maintaining GeoBlacklight as a spatial data discovery interface within their own home institutions.

## Our Development Practices
## Join the Community

###
<div class="grid cards" markdown>

- **Open source model**: GeoBlacklight is an open source software project licensed using the Apache License, version 2.0. Our development practices have been codified in a [contribution guide](https://github.com/geoblacklight/geoblacklight/blob/main/CONTRIBUTING.md) since December 2015 and we use [semantic versioning](https://semver.org/) to release the Ruby on Rails engine to RubyGems. Changes are made to the codebase using pull requests to the GitHub source code repository.
- ### Volunteer for a Community Role

- **Connected frameworks**: Many of the development practices for the GeoBlacklight project have foundations in other open source software communities. A strategic design decision was made to build on existing pools of expertise in organizations with [Blacklight](https://projectblacklight.org/) and [Samvera](https://samvera.org/) rather than build a completely custom system. The project also relies heavily on configuration and extensibility as useful patterns for adopters making customizations.
We have several designated roles for building and sustaining our community.

[:material-human-handsup: Read about our roles and view vacancies.](#community-roles)

- ### Join a Workgroup or Interest Group

- **Decision-making**: Much of the technical decision-making is driven from the original [GeoBlacklight Concept Design document](/pdfs/GeoBlacklight-Concept-Design.pdf) and has been further distilled into our [GeoBlacklight Technical Values](#geoblacklight-technical-values). Major and minor decisions are made using informal consensus.
We have short term and ongoing groups devoted to specific topics. Or, start a new one!

[:material-account-group: View our current groups](#workgroups-and-interest-groups)

- **Testing**: GeoBlacklight has Continuous Integration Testing, and tests are expected to be written with code contributions to the project. The project also implements both Ruby and JavaScript style guides to ensure a stylistically similar codebase.
- ### Follow our Google Group
Follow general project discussions and feature announcements.
[ :material-google: Join the GeoBlacklight Google Group](https://groups.google.com/forum/#!forum/geoblacklight-working-group)

- ### Chat on Slack
Chat with others in the community and to work through technical questions.
[:material-slack: Join GeoBlacklight Slack](https://geoblacklight.slack.com/join/shared_invite/zt-1p7dcay40-Ye_WTt5_iCqU8rDjzhkoWw#/shared-invite/email)

- **Funding**: There is no funding model for GeoBlacklight, and most development comes through volunteered or assigned time from contributing organizations. Some projects have received grants or dedicated funds to build their GeoBlacklight applications. Our community also includes private vendors and independent freelancers that have contributed to the project through contracted work.
- ### Attend a Monthly Community Meeting
The GeoBlacklight Community Meeting takes place on the second Wednesday of every month. The meetings are open to anyone interested in hearing more about the status of the GeoBlacklight software and associated projects.
[:material-view-agenda-outline: Read past meeting agendas](https://z.umn.edu/gbl-meetings)

- ### Participate in a Community Sprint
The GeoBlacklight Community collaborates on a 2-week sprint every Winter and Summer. Participation in the sprint is open to anyone interested in working on GeoBlacklight. While similar to a traditional code sprint, the GeoBlacklight Community Sprints also include tackling issues around documentation, metadata, community governance, and more.
[:material-run-fast: Read about our sprints](../blog/category/sprints/)

- **Events**:

- ### Discuss on GitHub
Find a bug you want to report? Is documentation missing or unclear? Would you like to suggest a new feature? Anyone can create an issue on GeoBlacklight's GitHub issue tracker.
[:material-github: Browse the GeoBlacklight Github organization](https://github.com/geoblacklight)

- **Every month:** [Zoom meetings](https://z.umn.edu/gbl-meetings) to share project updates and to discuss topical issues.
- **2x per year:** Community Sprints are similar to a traditional code sprint but also incorporate activities around documentation, metadata, governance, and more.
- **Annually:** [Geo4LibCamp](https://geo4libcamp.org/) is a hands-on meeting to bring together those building repository services for geospatial data. The main focus is to share best-practices, solve common problems, and address technical issues with integrating geospatial data into a repository and associated services.
- ### Share Metadata
GeoBlacklight gets even better when organizations share metadata. Contribute your metadata to OpenGeoMetadata or use it to populate your own GeoBlacklight installation.
[:bootstrap-opengeometadata: Visit OpenGeoMetadata](https://opengeometadata.org)

- **Roles**:

- **Community Coordinator** (Karen Majewicz)
- facilitates community monthly meetings and sets agendas
- stages project boards for community sprints and coordinates stand-up meetings
- **Code of Conduct team**
- responsible for responding to [Code of Conduct](https://github.com/geoblacklight/geoblacklight/blob/main/CODE_OF_CONDUCT.md) reports.
</div>

## Community Roles

### Administrative Roles

## GeoBlacklight Contributors
**Meeting Facilitators**: Karen Majewicz + ==1 vacancy==

GeoBlacklight has been collaboratively developed by affiliates of the following institutions:
* Manage Google calendar
* Set up and host monthly meetings
* Set up and host sprint standups
* Prepare agendas

* Auraria Library
* Big Ten Academic Alliance
* Cornell University
* MIT Libraries
* Harvard University Library
* Johns Hopkins University
* New York University Libraries
* Princeton University Library
* Stanford University Libraries
* University of California San Diego
* University of California Berkeley
* University of California Santa Barbara
* University of Illinois at Urbana-Champaign
* University of Massachusetts Amherst
* University of Minnesota Libraries
* University of Pennsylvania Libraries
* The University of Texas at Austin
* University of Wisconsin-Milwaukee
**Platform Management Team**: ==2 vacancies==

!!! tip "Feedback"
* Manage GitHub users and roles
* Manage Google group permissions, roles, etc.
* Manage Google Drive members
* Maintain Slack

Did we miss your institution? Have a suggestion for this website? Create an issue on the [GeoBlacklight Website Github page here](https://github.com/geoblacklight/geoblacklight.github.io/issues).
### Documentation Roles

**Public Content Manager**: ==1 vacancy==

* Keep the public website(s) up to date
* Write periodic blog posts, including sprint wrap-up posts

**Technical Writing Lead**: ==1 vacancy==

* Keep track of what code, metadata, and tutorials need updating
* Manage GitHub issues related to documentation
* Coordinate volunteers to update documentation as necessary

### Technical Roles

**Designated Code Mergers**: [see GitHub Teams](https://github.com/orgs/geoblacklight/teams)

* Members of the GeoBlacklight Developers team in GitHub
* Review pull requests on behalf of the team, or assign individual code reviewers based on expertise

**Release Coordinators**: ==2 vacancies==

* Cut tags and releases in the GitHub repository, and write release notes
* Publish the GeoBlacklight [Ruby gem](https://rubygems.org/gems/geoblacklight)
* Publish Javascript to [npm](https://www.npmjs.com/package/@geoblacklight/frontend)

## Workgroups and Interest Groups

<div class="grid cards" markdown>

- ### Issue Triage Workgroup

Meets quarterly to review and prioritize GitHub issues related to code.

* Eliot Jordan
* Eric Larson
* Karen Majewicz
* Keith Jenkins
* Maura Carbone

- ### Governance Workgroup

Improves our communication around change management, connected projects, and community roles.

* Karen Majewicz
* Becky Seifried
* Eliot Jordan

- ### Georeferencing Interest Group

Discusses georeferencing projects and strategies to enhance GeoBlacklight’s georeferenced map capabilities.

* Adam Cox
* Alex Marden
* Eliot Jordan
* Kim Leaman
* Marc McGee
* Michael Shensky
* Stephen Appel


</div>





## Contributing Code and Documentation

## How to Contribute
GeoBlacklight is a collaborative open source project and contributions are welcome. This contributing guide is borrowed in part from the [Samvera Contributing Guide](https://github.com/samvera/hydra/blob/master/CONTRIBUTING.md) and the [Blacklight Contributing Wiki](https://github.com/projectblacklight/blacklight/wiki/Contributing-to-Blacklight).

If you would like to contribute to the code base, see [For Developers](./docs/developers.md) for information about setting up a development environment, and read our [contributing guidelines](https://github.com/geoblacklight/geoblacklight/blob/main/CONTRIBUTING.md).

To contribute to documentation, go to [this website's repository on GitHub](https://github.com/geoblacklight/geoblacklight.github.io).

### Who can contribute?
**Anyone** is welcome to contribute to GeoBlacklight. We follow a set of contribution practices to maintain a technically sustainable and stable software project for everyone.

Expand All @@ -80,61 +166,34 @@ Did you find a bug in GeoBlacklight or interested in a new feature? Report it by
- Explain the actual behavior
- Provide steps to reproduce the actual behavior

### GeoBlacklight Software Versioning
GeoBlacklight follows the practice of [Semantic Versioning](https://semver.org/) for software releases. The declared semantically versioned public API includes:

- the [public GeoBlacklight Ruby codebase classes](https://www.rubydoc.info/gems/geoblacklight)
- the GeoBlacklight JavaScript interface
- the GeoBlacklight view interface

### Contributing Code or Documentation

If you would like to contribute to the code base, see [For Developers](./docs/developers.md) for information about setting up a development environment, and read our [contributing guidelines](https://github.com/geoblacklight/geoblacklight/blob/main/CONTRIBUTING.md).

To contribute to this documentation, go to [this website's repository on GitHub](https://github.com/geoblacklight/geoblacklight.github.io).

## How to Connect

<div class="grid cards" markdown>
## GeoBlacklight Institutional Contributors

- ### Join the Google Group
Follow general project discussions and feature announcements.
https://groups.google.com/forum/#!forum/geoblacklight-working-group

- ### Chat on Slack
Chat with others in the community and to work through technical questions.
[Join GeoBlacklight Slack](https://geoblacklight.slack.com/join/shared_invite/zt-1p7dcay40-Ye_WTt5_iCqU8rDjzhkoWw#/shared-invite/email)
GeoBlacklight has been collaboratively developed by affiliates of the following institutions:

- ### Attend a Monthly Community Meeting
The GeoBlacklight Community Meeting takes place on the second Wednesday of every month. The meetings are open to anyone interested in hearing more about the status of the GeoBlacklight software and associated projects.
https://z.umn.edu/gbl-meetings

- ### Participate in a Community Sprint
The GeoBlacklight Community collaborates on a 2-week sprint every Winter and Summer. Participation in the sprint is open to anyone interested in working on GeoBlacklight. While similar to a traditional code sprint, the GeoBlacklight Community Sprints also include tackling issues around documentation, metadata, community governance, and more.
[Read about our sprints](../blog/category/sprints/)
* Auraria Library
* Big Ten Academic Alliance
* Cornell University
* MIT Libraries
* Harvard University Library
* Johns Hopkins University
* New York University Libraries
* Princeton University Library
* Stanford University Libraries
* University of California San Diego
* University of California Berkeley
* University of California Santa Barbara
* University of Illinois at Urbana-Champaign
* University of Massachusetts Amherst
* University of Minnesota Libraries
* University of Pennsylvania Libraries
* The University of Texas at Austin
* University of Wisconsin-Milwaukee


- ### Discuss on GitHub
Find a bug you want to report? Is documentation missing or unclear? Would you like to suggest a new feature? Anyone can create an issue on GeoBlacklight's GitHub issue tracker.
https://github.com/geoblacklight/geoblacklight
!!! tip "Feedback"

- ### Share Metadata

GeoBlacklight gets even better when organizations share metadata. Contribute your metadata to OpenGeoMetadata or use it to populate your own GeoBlacklight installation.
https://opengeometadata.org
Did we miss your institution? Have a suggestion for this website? Create an issue on the [GeoBlacklight Website Github page here](https://github.com/geoblacklight/geoblacklight.github.io/issues).


</div>


3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ markdown_extensions:
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
options:
custom_icons:
- overrides/.icons

plugins:
- search
Expand Down
Loading

0 comments on commit 40dc6e6

Please sign in to comment.