Community Engagement - UrbanOS-Examples/TechnicalWorkingGroup GitHub Wiki
Table of Contents:
- Background
- Communities and Roles
- Recommended Engagement Practices
- Promote a lightweight decentralized governance that embodies Open Source Principles
- Create an outreach program for targeted communities and roles within those communities
- Provide a good user experience through active management / documentation / communication
- Provide a structured intake and project management framework with minimum barrier to entry
- Ensure that licensing decisions do not create barriers to community engagement
- Engagement Practices with Community
- Open-Source Projects
- Community Events
- Hackathons
- Social Media
- How To Contribute
- Issues / Approaches / Next Steps
Smart Columbus Operating System Technical Working Group
This repository is a space for the Technical Working Group to collaborate and document our work and recommendations.
See the wiki and issues for more information.
Background
This is document is in DRAFT form. The ongoing discussion is being tracked in issue #17.
The purpose of this document is to concisely define how Smart Columbus engages with the community. Engagement includes how Smart Columbus aids in community and how individuals of the community can contribute to efforts. Being open source is and has been part of the SmartCity Columbus Operating System (OS) charter. As part of developing an open source footprint for SmartCity Columbus (Scos), we have been asked to provide recommendations on how to engage and manage the community. There are actually multiple communities to consider. This document will identify Communities that SC believes it needs to engage with, ranging from the SmartCity Columbus Operating System (OS) community where engagement has already begun to commercial communities as applicable.
We must also target the roles and personas we wish to engage with. The recommended practices must align with real world problems being faced by these actors such as the need for innovation from decision makers in higher education or making it easier for developers to contribute code. We can pull from the Model Orgs wiki page, the Milestone #2 Report (contributions, code of conduct, templates and social contract parts), and external sources to identify these practices. These practices may be sited with the understanding that they are examples of good practices and mileage and process overhead may vary.
Finally we will need to identify issues, approaches and next steps. For example, the decision on licensing will impact engagement (forking, etc.) and we cannot fully engage until those details are worked out. This is to be considered a living document for the life of the project. Change is expected and welcomed.
Communities and Roles
Communities
- OS (includes software contractors and volunteer contributors)
- City of Columbus
- Other cities and regional governments
- Educational entities
- Third Parties (NGOs, Commercial entities)
- Local Community Groups (meetup groups, organizations, hackathons)
Roles
- User
- Developer
- Data Curator
- QA analysts
- Project Managers
- Decision Makers (Directors, Business and Government leaders)
Recommended Engagement Practices
Promote a lightweight decentralized governance that embodies Open Source Principles
- Ensure that Scos adheres to OSI's Open Source Definition.
- Core team members responsible for the stability, health and direction of the project are chosen based on meritocracy according to their contributions. This prevents a monolithic culture and provides a roadmap for engagement. See Core team membership in the Milestone 2 report.
- Establish a Code of Conduct that sets expectations for the behavior of all contributors on how to engage with each other on a daily basis. See Apache's Code of Conduct and Anti-harassment policy
Create an outreach program for targeted communities and roles within those communities
- Continue to define communities, roles and their problems.
- Continue and accelerate engagement with the OS community. Elicit feedback on work to date and final report and take from good practices used by this community.
- Reach out to communities through meet-ups and hackathons to increase knowledge, innovation and contribution.
- Reach out to decision makers through targeted communication to community based channels including internet, industry publications and conferences.
Provide a good user experience through active management / documentation / communication
- Define personas and problem statements.
- Provide extensive documentation to prevent frustration and attrition for users and contributors. This includes a .README template, contribution guidelines,pull request workflow and release notes.
- Provide monitored channels of communication to increase sense of community and involvement. Allow for answering of questions, seeking consensus, intake of new project ideas, input to new features, bug reports by users, etc. Set a service level guideline for responding to issues.
Provide a structured intake and project management framework with minimum barrier to entry
- The frameworks provided must ensure that new participants are welcomed, and have meaningful ways to engage on useful work with as few barriers as possible while still providing a minimum amount of structure.
- Support innovation and increase the contributor base by having an intake process for filtering projects and mentoring new teams on the SC OS ways of working. See Apache's Foundation Incubator as an example.
- Provide a structured yet collaborative and consensus-based distributed project management framework. See Apache's Project Management and Collaboration framework as an example.
- Increase engagement and productivity by providing a structure for project and issue management. For example, (1) assign labels to github issues and assign issues to milestones and (2)use github wiki for more detailed project documentation. These are things we have learned from using github for our collaborative work.
Ensure that licensing decisions do not create barriers to community engagement
- Make licensing decisions that consider both how other OS communities use Scos codebases and how Scos use the codebases of other open source communities. This includes issues such as forking, license compatibility, etc.
- Consider licensing for OS data. For example, the OpenStreetMap foundation uses the Open Database License
Engagement Practices with Community
Promote Open-Source Projects
With alignment of Open Source, ensure the projects are able to be forked by external individuals to contribute to the on-going projects. The projects should be promoted to provide resources to the community that advance their current development work and used as a resource to better the projects being hosted by OS.
There are two types of projects to be promoted:
- Projects in-development: Projects that are currently within their development cycle, target individuals in the community to contribute and collaborate to finalize the development efforts. Alignment of contributions to the Open Source Contribution for engagement.
- Projects that have stable-release: Projects that have had a stable release are intended to be forked and be used within various development projects. Having these projects listed as stable with their use-cases being made available will increase the usage of the projects. These projects can have their own demos to showcase the benefits of the project. Projects can be submitted to Open Source listings and submitted to Search Engines for external communitites to discover.
Define Topics for community events to engage outside contributors
OS topics for community outreach are prioritized and align to Smart Columbus long-term and short-term goals/initiatives.
- Community Speaking Engagements: Share the upcoming initiatives to promote upcoming projects to indentify individuals within the community that can contribute.
- Hackathons: Identify themes to have single-track topics for Hackathons. Provide insights and research for initiatives that are related to topics.
Share progress of SC initatives and progress of projects
To engage community and external resources sharing progress of OS increases awareness to initiatives and releases. Cadence for sharing is critical to having community engaged.
- Newsletter: Once a month newsletter that publishes are releases, asks for the community, goals for upcoming month, and any upcoming Smart City events.
- Community Speaking Engagements: On a quartly basis, have an online web cast sharing progress and promoting how individuals can get involved.
Open-Source Projects
- Providing timely responses to contributors on Github
- Engaging in foked project repositories and providing support to these projects
- Create demos that demonstrate the projects
- Film "how to use" videos for stable projects to help contributors get started using OS projects.
Community Events
On a quartly basis, have an online web cast sharing progress and promoting how individuals can get involved.
- Meetup.com: The Smart Columbus Open Data Enthusiasts Meetup Group provides insights and support to the community by having quartley events outlining progress and sharing topics. "Pop up" events occur throughout the year to create a network of outside thinkers to meet other like-minded individuals.
- Community Events: Local community Meetup Groups consistently are looking for presenters for their events. Aligning topics to the specific groups and providing the appropriate speaker.
- Android Columbus
- Amazon Alexa Meetup - Columbus, Ohio
- Buckeye Cocoa Programmers
- Columbus Web Group
- Create Columbus Commission
- Central Ohio Python Users Group
- LOPSA Columbus
- Meteor Columbus
- COhPy (Central Ohio Python User Group)
- Columbus Code Camp
- CodePen Dayton
- ColumbusPHP
- Devops Columbus
- Dayton Web Developers
- Ohio Data Visualization Meetup
- Front End Columbus
- GDG Columbus (Google Dev Group)
- Columbus Ruby Brigade
- Central Ohio Agile Association
- IxDA (Interaction Design Association)
- Product Hunt Columbus
- Lean Lab
- Code Jam Columbus
- ScaleTech
- Startup Weekend
- OWASP Columbus
- Girl Develop It Columbus
- Cbus Product Club
- Shopify Meetup Columbus
- TechLife Columbus
- Westerville Web
- Conferences: Submit topics from Smart Columbus to conferences.
- Codemash
- QA or the Highway
- Women In Analytics
- Columbus Security B-Sides
- Alleviating Poverty Through Entrepreneurship Summit
- Product Camp Columbus unconference
- MakerX
- GiveBackHack Columbus
- 2019 Central Ohio Software Symposium
- InfoSec Summit
- CIO Tomorrow
- Columbus Startup Week
- StirTrek
- PyCon
- Path To Agility
- Columbus Hacker Convention - 614Con
- SQL Saturday Columbus
- PyOhio
- Business Analysts Professional Dev Day
- Columbus Women In Tech
- Women In Digital Conference
- Dogfood Con
- CodeCamp
- Ohio LinuxFest
- DevOps Day Ohio
- PMI professional Development Day
- GDEX - Midwest's Premier Gaming Expo
- OhioDevFest
- Lift Product Conference
- Hack OHI/O
- Sponsoring: Sponsoring community events by providing a space for community events, donating food and drinks, and providing utilities for speakers. Taking initiaive with group leaders and working with the OS team to identify appropriate sponsorships.
Hackathons
Organized twice a year, to bring the community together to talk about identified issues and solve them with innovative solutions.
- Launch new ideas
- Foster solutions
- Outlet for OS
- Awareness
Events are sponsored and facilitated by Smart Columbus.
Social Media
A consistent and branded experience for social media is a necessity for growing the distribution of content online.
- Social calendar: Identify posts, create, and schedule posts to be published on all social media outlets.
- Share, but don't overshare: Make posts be engaging and informative but not all content needs to be published. Having quality posts will lead to sharing, engagement and followers.
- Consistency across outlets: Post content on all outlets and align posts to the best practices of the platform.
- Respond to followers: Posting is only one aspect of social media, responding and direct communication with followers can lead to additional engagement and opportunity to share additional content.
How To Contribute
To create an on-going community, outside influence and support is a necessity for the success of SmartCity Columbus Operating System (OS). There are various ways to have community members get involved:
-
Contribute to OS (Open Source Projects): Focus on initiaives of OS and all goals are being met of the group's Open Source Projects and outreach.
-
Attend events: View upcoming events here
- Each month The Smart Columbus Open Data Enthusiasts meets to share ideas with the community, sign up on meetup.com.
- Each quarter Smart Columbus shares outcomes and initiatives publicly, read our newsletters and provide us feedback.
- Twice a year Smart Columbus has a Hackathon, these Hackathons are intended to listen to the community and contribute new ideas that can be integrated within Smart Columbus and better our community.
-
Volunteer at events: At Smart Columbus events, there are always a need to have extra hands aiding in events.
- Sponsor an event
- Mentor at Hackathons
- Greet and meet attendees at events and help setup events
-
Share ideas: With all the content being generated, we ask the community to share our events and content within their networks.
-
Be an advocate: You know of us, but does your neighbor? Help us spread the word and share our initiatives.
-
Follow us: We're on Social Media, interact with us on our various channels.
Issues / Approaches / Next Steps
Issues
Approaches
Next Steps
- For current TWG Phase
- Elicit feedback from OS on work to date and final report and take from good practices used by this community.
- Elicit problems statements and feedback regarding forking and license compatibility for the milestone 3 license deliverable from OS, i.e, SCode and software vendors.
- Elicit feedback from OS on work to date and final report and take from good practices used by this community.
- For future TWG Phases (portions may be completed in this phase)
- Continue to define communities, roles and their problems.
- Define personas for community roles and their problem statements.