About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
community:planning

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
community:planning [2020/10/12 15:24] – [Roles and Responsibilities] demiankatzcommunity:planning [2020/11/02 13:48] – [Project Administration/Management: Required Roles] demiankatz
Line 18: Line 18:
 ==== Project Administration/Management: Required Roles ==== ==== Project Administration/Management: Required Roles ====
  
-  * Committers / Code Reviewers - some members of the community need to be able to commit to the main vufind-org repositories and to review/merge pull requests. There should be a qualification process to gain these privileges, and a mechanism for ensuring that reviews are completed by the most appropriate individual(s) in a timely fashion. +=== Critical Administrative Roles === 
-  * Community Call Host someone needs to plan for monthly Community Calls (set agendas) and moderate/host the events. This also includes ensuring that a viable communication platform is available for the calls. + 
-  * Documentation Experts - some members of the community need to maintain the project's documentation (wiki, introductory book, videos, etc.) to ensure they remain accurately and logically organized+  * Community Manager maintain code of conduct and other community standards; facilitate/monitor project inclusiveness; respond to code of conduct incidents
-  * Internationalization Manager - as part of the release cycle, someone needs to coordinate the activity of volunteer translators to keep VuFind's language files up to date with newly-added strings+  * Internationalization Manager - as part of the release cycle, coordinate the activity of volunteer translators to keep VuFind's language files up to date with newly-added strings.
-  * Newsletter Editor - someone needs to monitor ongoing development (pull requests, JIRA tickets, Community Calls, etc.) in order to maintain the activity lists for the monthly newsletter; an executive summary also needs to be written each month to highlight key developments. +
-  * Project Advocates - some members of the community need to be willing to present on behalf of VuFind at conferences, provide references to potentially interested institutions, and otherwise increase the visibility of the software through active communication.+
   * Project Server Administrator - patch/maintain/monitor the operating system and software on server(s) hosting tools used by the VuFind community. This currently includes:   * Project Server Administrator - patch/maintain/monitor the operating system and software on server(s) hosting tools used by the VuFind community. This currently includes:
     * Dokuwiki     * Dokuwiki
Line 32: Line 30:
   * Project Software Administrator(s) - manage key software applications for the project. These include:   * Project Software Administrator(s) - manage key software applications for the project. These include:
     * Dokuwiki Administrator - use escalated privileges to manage Dokuwiki application; receive/monitor notices of page changes to prevent/revert malicious updates.     * Dokuwiki Administrator - use escalated privileges to manage Dokuwiki application; receive/monitor notices of page changes to prevent/revert malicious updates.
-    * GitHub Administrator - use escalated privileges to manage GitHub resources (vufind-org community, releases, etc.)  * Jenkins Administrator - use escalated privileges to manage Jenkins application; update plugins/configurations as needed. +    * GitHub Administrator - use escalated privileges to manage GitHub resources (vufind-org community, releases, etc.) 
-    * JIRA Administrator - use escalated privileges to manage JIRA application.+    * Jenkins Administrator - use escalated privileges to manage Jenkins application; update plugins/configurations as needed. 
 +    * JIRA Administrator - use escalated privileges to manage JIRA application, including license renewals through Atlassian.
     * SourceForge Administrator - use escalated privileges to manage SourceForge resources (news feed, mailing lists, downloads).     * SourceForge Administrator - use escalated privileges to manage SourceForge resources (news feed, mailing lists, downloads).
-  * Release Manager - someone needs to be responsible for scheduling releases, ensuring that outstanding tasks are completed on schedule, and working through the [[changelog:release_checklist|release checklist]] whenever a new version is released+  * Release Manager - schedule releases, ensure that outstanding tasks are completed on schedule, and work through the [[changelog:release_checklist|release checklist]] whenever a new version is released.
-  * Summit Planners - some members of the community need to take responsibility for planning annual conferences: developing calls for papers, scheduling, communication platform selection, event hosting, post-event surveying, etc. +
-  * Technical Support Experts - some members of the community need to monitor incoming communication channels (mailing lists, Slack, JIRA tickets, etc.) and assist users who are encountering problems.+
  
 +=== Core Community Roles ===
 +
 +  * Committers / Code Reviewers - commit to the main vufind-org repositories and review/merge pull requests. There should be a qualification process to gain these privileges, and a mechanism for ensuring that reviews are completed by the most appropriate individual(s) in a timely fashion.
 +  * Documentation Experts - maintain the project's documentation (wiki, introductory book, videos, etc.) to ensure it remains accurate and logically organized.
 +  * Technical Support Experts - monitor incoming communication channels (mailing lists, Slack, JIRA tickets, etc.) and assist users who are encountering problems.
 +
 +=== Communication Roles ===
 +
 +  * Community Call Host - plan monthly Community Calls (set agendas) and moderate/host the events. This also includes ensuring that a viable communication platform is available for the calls.
 +  * Newsletter Editor - monitor ongoing development (pull requests, JIRA tickets, Community Calls, etc.) in order to maintain the activity lists for the monthly newsletter; an executive summary also needs to be written each month to highlight key developments.
 +  * Project Advocates - present on behalf of VuFind at conferences, provide references to potentially interested institutions, and otherwise increase the visibility of the software through active communication.
 +  * Summit Planners - take responsibility for planning annual conferences: developing calls for papers, scheduling, communication platform selection, event hosting, post-event surveying, etc.
 +  * Video Editor - edit tutorial videos, Summit outputs, etc.; polish/correct machine-generated transcripts.
 +
 +==== Decision Making ====
 +
 +The list of roles above does not explicitly account for decision-making within the project. How do we set priorities, make architectural decisions, etc.? Does the project need a "lead architect" role, or some kind of technical steering committee? This is an important gap that will need to be filled, but depending on the mechanism decided upon, the role(s) involved might vary.
 +
 +OSS Watch's [[http://oss-watch.ac.uk/resources/governancemodels|Governance Models]] document provides some helpful food for thought.
 +==== Regional Considerations ====
 +
 +Would it be possible/helpful to set up regional networks (for example, for language communities other than English) to support the project with particular audiences? How would these networks interact with the top-level project?
 +
 +==== Selection / Succession Planning ====
 +
 +How do we determine assignment of roles to individuals? Is there a fixed term for serving in each role? What happens if someone is suddenly unable to fulfill their obligations? How do we keep things running in an emergency?
 ===== Expenses ===== ===== Expenses =====
  
Line 50: Line 73:
  
   * Emergency fund (to hire temporary staff to aid in a leadership transition)   * Emergency fund (to hire temporary staff to aid in a leadership transition)
 +  * Grants/bounties (to encourage development of key features, or expand project participation)
   * Server fees (if we switch from institution-supported project resources to cloud-hosted services)   * Server fees (if we switch from institution-supported project resources to cloud-hosted services)
 +  * Training costs (to hire trainers and cover other expenses for ongoing training programs)
 +
 +===== Support =====
 +
 +The project needs a formal mechanism for receiving support. Some questions to discuss:
 +
 +  * Do we need to define specific levels/tiers of financial support? Do we need different criteria/options for institutions vs. vendors vs. individuals?
 +  * What are the benefits of support?
 +    * A listing on the website?
 +    * Increased/discounted access to events?
 +    * Privileged access to certain project roles?
 +    * Weighted input into decision-making/prioritization?
 +  * Do we need a formal mechanism for recognizing non-financial support (e.g. commitment to assign institutional resources to a particular role for a particular amount of time)?
 +  * How can we recognize regional differences (currencies/economic status/language/etc.)?
 +  * Options beyond membership model:
 +    * Grant-seeking: this would require a new project role for grant-writing and management; potentially very time-consuming, and with only intermittent/uncertain benefits (but possibility of large windfalls)
 +    * Service-provision: can the community run training courses or provide services like hosting? This incurs additional expenses and responsibilities. Do we need a formal, well-defined partnership model for these types of services?
 +    * Sale of content (e.g. books) -- how would we structure this, and how would we differentiate it from free offerings in a fair/useful way? Perhaps a "pay what you wish" model would be a viable option, but this would require infrastructure to set up.
 +    * Donation solicitations -- many projects ask for donations on their download screen; would this be appropriate for us? Again, administration is a cost.
 ---- struct data ---- ---- struct data ----
 ---- ----
  
community/planning.txt · Last modified: 2021/03/10 16:46 by demiankatz