Your Data Can Live Forever: How to Plan for Data Reuse
39 |
40 |
41 |
42 | This activity is designed to help you understand what someone outside your research
43 | project (or you in 5-10 years) would need to know about your data in order to build
44 | on your work.
45 |
46 |
47 |
48 |
For beginners
49 |
50 |
51 |
52 |
53 |
54 |
Format
55 |
56 | This is a short writing/thinking exercise. Best done with a partner
57 | or small group, but can also be done alone.
58 |
59 |
60 |
61 |
62 |
Target Audience
63 |
64 | Open science project leads, graduate students, and early-career researchers
65 | looking to make their data reusable.
66 |
83 | Data reuse saves time and accelerates the pace of scientific discovery. By making your
84 | data open and available to others, you make it possible for future researchers to answer
85 | questions that haven’t yet been asked. Thinking about data reuse in advance and documenting
86 | it, saves you time by helping you plan research processes and workflow early in the
87 | research project. Finally, this documentation makes it easier for you to defend your
88 | research... remember back to second grade when your teacher told you to “show your work”.
89 |
90 |
91 |
92 | When it comes to making your work reusable, “the devil is in the details”. Upon completion
93 | of this exercise, you will have a detailed data reuse plan which you can save as a README
94 | or text file to store with your data files so others can understand and reuse your data.
95 | Extra bonus feature: it provides an outline for the “Methodology” section of any publications
96 | that arise from this data.
97 |
98 |
99 |
Steps to Complete
100 |
101 |
102 |
103 |
104 |
Identify Roles
105 |
106 |
107 | Break into groups of 2-5 people. Identify one volunteer to be the "Researcher"
108 | and describe their research data set for this exercise. This person will need
109 | to be fairly familiar with how and why the data was collected.
110 |
111 |
112 |
113 | Identify a note taker to record responses to questions from the group about the
114 | data set.
115 |
116 |
117 |
118 |
119 |
120 |
Interview
121 |
122 |
123 | Using the
124 | Data Reuse Plan Template as a guide, members of the group ask questions
125 | of the "Researcher" about her or his data set while the note taker records responses.
126 | The note taker can (and is encouraged) to ask questions too. As you ask questions,
127 | think about how you would (or if you could) respond to a similar question about your
128 | data set.
129 |
130 |
131 | If you have time, upon completion of the worksheet, review your responses and make
132 | sure they would be clear to someone viewing your data set for the first time. You are
133 | writing this for someone you have never met. Avoid jargon and abbreviations where
134 | possible.
135 |
136 |
137 |
138 |
139 |
140 |
Review & Discuss
141 |
142 |
143 | Review the following questions and be prepared to share out your responses with
144 | the larger group.
145 |
146 |
147 | Which parts of the template were particularly challenging? Why? What research
148 | best practices could you put into place to make it easier?
149 |
150 |
151 | If you weren't able to provide some of the information in the worksheet, is
152 | there a way you can get it? If not, is there something you could have done
153 | differently during your research project to collect that information?
154 |
155 |
156 | Are there pieces of information missing from this worksheet that would help
157 | someone understand your data and make it easier to reuse?
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
Glossary
167 |
168 |
169 |
Open Data
170 |
171 | Data that is made easily and freely available for anyone to access, use, and
172 | share without restrictions, the possible exception being a requirement of
173 | attribution.
174 |
175 |
176 |
177 |
Metadata
178 |
179 | Information that describes, explains, locates, or in some way makes it easier to
180 | find, access, and use a resource (in this case, data). For example, metadata for
181 | a photograph may include the name of the photographer, when and where it was taken,
182 | as well as the type of camera and settings used to take the photograph.
183 |
184 |
185 |
186 |
Licensing
187 |
188 | A license gives explicit permissions for the use of something. This is particularly
189 | important if you want to make your data open as some jurisdictions assign
190 | copyrights to data sets which limit their use. There are several types of
191 | licenses that are in common use for data. You can read more about them
192 | here:
193 | http://www.dcc.ac.uk/resources/how-guides/license-research-data.
194 |
195 |
196 |
197 |
Naming Conventions
198 |
199 | These are a set of predefined rules for the naming and structure of folders, files,
200 | field names, etc. (E.g. All files begin with a date, location and project name.)
201 | Naming conventions help provide context to a data set, as well as make sure a
202 | standard of data collection and management is being followed by all members of a
203 | team.
204 |
205 |
206 |
207 |
Permanent Identifiers
208 |
209 | A permanent identifier (or PID) is a set of numbers and/or characters, frequently
210 | in the form of a URL, that points to the location of a resource. PIDs are set up
211 | in such a way that even though the storage location of the resource may change
212 | over time (e.g. moving data from one university server to another), the PID will
213 | always point to the correct location. DOI is a commonly known type of PID.
214 |
215 |
216 |
217 |
218 |
Follow-up Resources & Materials
219 |
220 | You may find it useful to review this handout early on in the planning stages
221 | of your project to help design the workflows of your project.
222 |
223 |
224 | The following resources are useful for more information documenting your data
225 | and research best practices to make documenting your data easier.
226 |
227 |
228 | Metadata Guide
229 | from Australian National Data Service (ANDS)
230 |
55 | This activity is designed to help you identify potential users and contributors,
56 | understand their goals and motivations, help them find a way into your project,
57 | and grow them into strong, committed community members.
58 |
59 |
60 |
61 |
For beginners
62 |
63 |
64 |
65 |
66 |
67 |
Format
68 |
69 | This is a short writing/thinking exercise. Best done with a partner or small group,
70 | but can also be done alone.
71 |
72 |
73 |
74 |
75 |
Target Audience
76 |
77 | Open science project leads and Mozilla Study Group leads seeking to attract and
78 | grow communities of contributors around their projects
79 |
80 |
81 |
82 |
83 |
Materials
84 |
85 |
A timer
86 |
Pen & Paper
87 |
A way to take notes
88 |
89 |
90 |
91 |
92 |
Introduction
93 |
94 |
95 | Your open project needs users and contributors, but how can you find them,
96 | get them involved, and keep them engaged and active in your community?
97 | One way is by creating and using "personas" and "pathways" to help you.
98 |
99 |
100 |
101 | A “persona” is a tool commonly used in the design world, to help create products
102 | and experiences that work for real world users (aka “user-centered design”).
103 | The persona is an imaginary user, based on real-world observations and understandings
104 | of actual potential or current users. The persona becomes real to the designer,
105 | and is used as a tool to test ideas and experiences (for example, a designer
106 | might ask “Would our user persona, Rodrigo, who is an avid photographer and
107 | technophile but also an introvert who’s protective of his private information,
108 | like feature x of our social media platform?”).
109 |
110 |
111 |
112 | Personas may be composites of several real-world users. The power of the
113 | persona is in its specificity; a good persona feels real, and helps a designer
114 | (or project lead) put their own perspectives aside and empathize with the needs
115 | and motivations of users.
116 |
117 |
118 |
119 |
120 |
Sample Persona
121 |
122 |
123 |
124 | Rashid is a PhD student in astronomy at a university in Southern England.
125 | He’s outgoing and a snappy dresser, favoring skinny jeans and colorful cardigans.
126 | He lives in on-campus housing and after a long day at the lab he usually rushes home
127 | to see his wife and infant son.
128 |
129 |
130 | Rashid took an intro Java programming course long ago,
131 | as an undergrad, but his research now demands Python skills. He attended a two-day
132 | Software Carpentry workshop at his institution.
133 |
134 |
135 |
136 |
137 |
About Pathways
138 |
139 |
140 | Once we have a persona, we can imagine how they might interact with our project.
141 | Let's imagine that this process has a few phases.
142 |
143 |
144 |
145 |
Discovery - How they first hear about the project or group.
146 |
First Contact - How they first engage with the project or group, that intial interaction.
147 |
Participation - How they first participate or contribute.
148 |
Sustained Participation - How their contribution or involvement can continue.
149 |
Networked Participation - How they may network within the community.
150 |
Leadership - How they may take on some additional responsibility on the project, or begin to lead.
151 |
152 |
153 |
154 | As you create your pathway, ask yourself, what needs to be in place to move Rashid along this pathway?
155 | What are the potential pitfalls for Rashid-- in terms of his skills, his time, his motivations?
156 | Once you have a sense of this story, you might list solutions to any challenges.
157 | Here are a few examples…
158 |
159 |
160 |
161 |
Publicize group meetings via posters around campus as well as on twitter and via email blasts.
162 |
Collect emails of new group attendees for follow up messages.
163 |
Offer an online intro to GitHub for those who join mid-semester and missed the first sessions.
164 |
Schedule meetings for daytimes and early evenings to avoid conflicts with family schedules.
165 |
166 |
167 |
Steps to Complete
168 |
169 |
170 |
171 |
172 |
Brainstorm
173 |
174 | In groups of two, read through the following questions. Take notes! Each person
175 | should answer the question in caps in the time provided. Use a timer to keep
176 | time for each person.
177 |
178 |
179 |
180 |
181 |
Who is the person you most need in your community or on your project?
182 |
183 |
184 | Create a persona for this user. Think of the skill set or attributes you want,
185 | but ALSO give them a name, age, a place to live, life circumstances (single,
186 | married? family? student? mid-career?), what they like and don’t like, etc.
187 | This may seem superfluous, but the more real the persona feels to you, the
188 | more useful they’ll be. Have fun with this!
189 |
190 |
191 |
192 |
193 |
What are that person's motivations and needs?
194 |
195 |
196 | What’s likely to get your persona engaged and excited? What are their personal
197 | goals? Why might they be drawn to your project? What might be the value for
198 | them — what can they get out of it?
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
Write
207 |
208 |
209 | Create a short description of your persona. See above "Rashid" for an example.
210 |
211 |
212 |
213 |
214 |
215 |
Plan a Pathway
216 |
217 |
218 | Using the structure above, describe a pathway for your persona. What are the steps through
219 | this project? What could stumbling blocks for user? What skills, info, or resources are
220 | missing that they”ll need to better engage with the project? What kinds of things might
221 | drive them away from your project?
222 |
223 |
224 |
225 |
226 |
227 |
List your Solutions
228 |
229 | For each potential stumbling block or difficulty your user might encoutner, list a solution
230 | that you'll work into your design of your grop or project.
231 |
232 |
233 |
234 |
235 |
Glossary
236 |
237 |
238 |
First Term
239 |
240 | A fictional user, based on real-world observations of actual or potential users. personas are used
241 | to test and shape the design of a product or experience, so that the final design responsive
242 | and relevant to user needs.
243 |
244 |
245 |
246 |
Another Term
247 |
248 | A fictional user, based on real-world observations of actual or potential users. personas are used
249 | to test and shape the design of a product or experience, so that the final design responsive
250 | and relevant to user needs.
251 |
252 |
253 |
254 |
255 |
Follow-up Resources & Materials
256 |
257 |
258 | You may find it useful to review this handout on the the creation of your Contributing.md
259 | file in light of your new understanding of your users.
260 |
261 |
262 | You may also want to revise your proejct description to better appeal to your users, using this handout.
263 |
264 |
265 |
266 |
275 |
276 |
277 |
278 |
--------------------------------------------------------------------------------
/diversity/README.md:
--------------------------------------------------------------------------------
1 | Welcome to the diversity exercise readme!
2 |
3 | Here are some brief instructions for deploying your own diversity and inclusion exercise.
4 |
5 |
6 | ### Steps
7 |
8 | * print the documents in this folder
9 | * cut the worksheets such that each person will get a `diversity-tips` sheet, and a `diversity-roles` role.
10 | * cut the `diversity-exercise` so that each group of approximately 7 people (1 person per group with a different role)
11 | * distribute the roles and the tips to each participant, ask them to "hide" their role or be discrete
12 | * instruct participants to play their roles while answering the questions in the `diversity-exercise` within their group
13 | * give participants about 10 minutes to complete the exercise within their group
14 | * regroup all participants and groups to go over the roles and the questions and help draw conclusions about how the enforced roles affected group dynamics
15 |
16 |
17 | Thanks! I hope this helps you run your own diversity exercise.
--------------------------------------------------------------------------------
/diversity/diversity-exercise.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/diversity/diversity-exercise.pdf
--------------------------------------------------------------------------------
/diversity/diversity-roles.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/diversity/diversity-roles.pdf
--------------------------------------------------------------------------------
/diversity/diversity-tips.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/diversity/diversity-tips.pdf
--------------------------------------------------------------------------------
/github_for_collaboration/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GitHub for Collaboration On Open Projects
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
30 |
31 |
39 | Get comfortable with a Collaborative workflow in the GitHub interface. Practice adding resources to your repo, working with issues and lables, forking and branching, writing commit messages, making and reviewing pull requests, and merging changes. You'll also practice good communication with contributors.
40 |
41 |
42 |
43 |
Intermediate
44 |
45 |
46 |
47 |
48 |
Format
49 |
50 | This is designed as a in-person, facilitated workshop with pairs of learners working together on each other's repositories. It could also be done online.
51 |
52 |
53 |
54 |
Target Audience
55 |
56 | Project Leads and Contributors
57 |
58 |
59 |
60 |
Materials
61 |
62 |
Two people with projects already hosted on GitHub
63 |
Computers to work on
64 |
An Internet connection to access the GitHub site
65 |
66 |
67 |
68 |
Introduction
69 |
70 | GitHub is a web-based interface for version control, a way of keeping track of changes made to a collection of working documents. GitHub provides a structure and space for communicating about collaborative work on open projects. With bit of set-up, and a good workflow, you can make your project accessible and transparent, and create a respectful and productive working environment for your collaborators.
71 |
This exercise walks you through a workflow for collaboration on open projects, and demonstrates good communication with contributors. You'll need a partner for this exercise. And you'll each play two roles: you'll act as "project lead" on your own project, and "contributor" on your partner's project, as desginated in the steps below.
72 |
73 |
Before you start, provide your partner with a link to your repository. Your repo should look something like this (with your own content, of course).
74 |
75 |
76 |
77 |
78 |
Steps to Complete
79 |
80 |
81 |
82 |
83 |
84 |
Add Files
85 |
86 | As project lead: add any new files you've created to your repo (readme.md, roadmap.md, contributing.md). Give the file a name, and the .md extension so you can use markdown for formatting.
87 |
88 |
89 |
90 |
91 |
Make a Label
92 |
93 | As project lead: Make a new label. Click the "Issues" tab, then look for the labels tab, just to the right of the "filter" box. Add a label called "good first bugs."
94 |
95 |
96 |
97 |
98 |
Make An Issue
99 |
100 | As project lead: create an issue in your own repo to document a "good first bug". A good first bug is something simple that a new contributor can work on, to try out contribution and get comfortable with the workflow. It's work that's useful to the project but relatively easy... not so difficult as to be overwhelming or discouraging for someone new to your project. An example of a good first bug for this exercise: fix a typo in the readme, add a badge, add a science fox, etc.
101 |
102 |
103 |
104 |
105 |
Comment On An Issue
106 |
107 | As contributor: Go to your partner's repo, find the "Good First Bug" issue. (Click on the issue button to see all the issues.)
108 |
109 |
Make your comment! Introduce yourself and volunteer to work on this issue!
110 |
111 |
112 |
113 |
114 |
Reply to a Comment
115 |
116 | As project lead: In your own repo, go to the issue that's just been commented on. Reply to your new contributor and assign this issue to yourself (you should act as a mentor, and offer to answer any questions). Assigning issues is a good way to track which tasks are underway.
117 |
118 |
119 |
120 |
121 |
122 |
123 |
Fork and Branch
124 |
125 | As contributor: Go to your partner's repo and fork it. The fork button is in the top right corner.
126 |
GitHub may take a moment to fork your repo!
127 |
128 |
If you have multiple organizations, you may have to designate where the fork will live.
129 |
130 |
You'll see that the fork now exists in as part of your own GitHub Account
131 |
132 |
Now create a branch in your forked copy.
133 |
134 |
Name this branch. You should give it a name that relates to the feature or change you're working on. You'll get confirmation that the branch was created, and see it in your branches dropdown menu.
135 |
136 |
137 |
138 |
Commit
139 |
140 | As contributor: Make a change in this branch, completing the task from the "good first bug issue".
141 |
142 |
Write a great commit message! The top line should summarize your changes. Include details in the field below.
143 |
144 |
145 |
146 |
Make a Pull Request
147 |
148 | As contributor: Make a pull request to the orginal (upstream) repo.
149 |
150 |
151 |
Write a good message to go along with your request. You may want to link this request to the issue you're solving.
152 |
153 |
Make sure you have selected the correct branch where you made your changes for this pull request!
154 |
155 |
Here's where you can make that selection!
156 |
157 |
You'll see that your pull request has been submitted.
158 |
159 |
160 |
161 |
162 |
Review
163 |
164 | As project lead: Review the pull request and leave a comment thanking the contributor... If you have any questions or comments or discussion points, bring them up here. You could also invite other collaboraters to weigh in. Make use of gifs and emoticons here, to emphasize your appreciation!
165 |
166 |
167 |
168 |
169 |
170 |
Merge
171 |
172 | As project lead: merge the changes from your contributor's pull request into the original repo.
173 |
174 |
175 |
176 |
177 |
178 |
Close the Issue
179 |
180 | As project lead: close the issue with more thanks, gifs, and emojis!
181 |
182 |
183 |
184 |
Glossary
185 |
186 |
187 |
repository, or repo
188 |
189 | a collection of documents related to your project, in which you create and save new code or content.
190 |
191 |
192 |
193 |
markdown
194 |
195 | a lightweight way of annotating a document with instructions that tell a web browser how to format and display text.
196 |
197 |
198 |
199 |
version control
200 |
201 | a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
202 |
203 |
204 |
205 |
Git
206 |
207 | the command-line software that tracks all changes to a collection of documents
208 |
209 |
210 |
211 |
GitHub
212 |
213 | a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
214 |
215 |
216 |
217 |
fork
218 |
219 | a copy of a repository that is saved in another user's GitHub account.
220 |
221 |
222 |
223 |
branch
224 |
225 | a copy of a repo that is contained within the orignal repo. Branches are used to work on a project features without altering the original or "master" repo.
226 |
227 |
228 |
229 |
commit
230 |
231 | a saved change to a document in a repository.
232 |
233 |
234 |
235 |
issue
236 |
237 | a message on gitHub that outlines a task that needs to be completed.
238 |
239 |
240 |
241 |
pull request
242 |
243 | a request to add a commit or collection of commits to a repository.
244 |
245 |
246 |
247 |
merge
248 |
249 | the act of incorporating new changes (commits) into a repository.
250 |
251 |
252 |
253 |
262 |
263 |
264 |
265 |
266 |
--------------------------------------------------------------------------------
/handouts/code_of_conduct.md:
--------------------------------------------------------------------------------
1 | ### Title: Getting Started with Code of Conducts
2 |
3 | Updated lesson: http://mozillascience.github.io/working-open-workshop/code_of_conduct/
4 |
5 | ### Learning Goals:
6 | This exercise will walk you through some of the considerations associated with anti-harassment policies, and help you put in place a plan and process for creating a welcoming, inclusive, harrassment-free space.
7 |
8 | ### Target Audience:
9 | Project, event and community leads.
10 |
11 | ### Delivery Format:
12 | In person workshop or online.
13 |
14 | ### Level:
15 | Beginner.
16 |
17 | ### Time to complete:
18 | 1h30m.
19 |
20 | ### What you'll need to start:
21 | Paper, pen (in person); Collaborative document like Etherpad, Google Docs, etc. (online).
22 |
23 | ### Before using this resource you should be familiar with:
24 | n/a
25 |
26 | ### For information on those topics, see:
27 | * Familiarize yourself with [an example of a short, medium and long Code of Conduct](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy)
28 | * [A list of ways](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Actions) event attendees can help support anti-harassment policies
29 | * [Contributor Covenant: A Code of Conduct for Open Source Projects](http://contributor-covenant.org/)
30 |
31 | ### Glossary of key terms:
32 | * **Code of conduct**: a set of rules outlining the social norms and rules and responsibilities of, or proper practices for, an individual, party or organization.
33 | * **Elevation / escalation**: the process of flagging an issue or violation to be addressed by the Safety/ Code of Conduct behavior.
34 | * **Harassment**: covers a wide range of behaviours of an offensive nature. It is commonly understood as behaviour which disturbs or upsets, and it is characteristically repetitive. It also includes behaviours that are threatening or disturbing.
35 | * **Discrimination**: treatment or consideration of, or making a distinction in favor of or against, a person or thing based on the group, class, or category to which that person or thing is perceived to belong to rather than on individual merit. types of discrimination include race, color, religion, sex, socioeconomic status, sexual orientation, public assistance status, disability, and age.
36 | * **Enforcement**: the process of moving from elevating an issue to be addressed, to acting on resolving that issue.
37 | * **Inclusion**: a state of being valued, respected and supported. often referred to in terms of an event or community, as in an "inclusive event", meaning one that's welcoming and a respectful environment.
38 |
39 | ### Intro to material:
40 | Code of conducts serve a number of purposes. One is to help establish and clearly communicate the sort of behaviors prioritized in your project or at your event, like being respectful to others, or making sure your event is accessible to others.
41 |
42 | They also serve a functional need, in communicating to participants that should someone happen to violate the code, there’s a process and support from organizers in place. This alone signals that you’re serious about the well-being of your community members, and are taking steps to ensuring the event, project or workshop is an inviting, welcoming, and safe place.
43 |
44 | Think of communities you identify with, be they a set of friends, a group of peers, or an organization you feel a part of in some way. What sort of values or characteristics do you associate with being part of that community? What makes that a community you come back to, and how does it welcome others to participate?
45 |
46 | Whether you’re leading a project or running an event, there are certain community dynamics that can help boost your work and provide a welcoming environment for others to join. This exercise will walk you through how to build a Code of Conduct with your community.
47 |
48 | ### Steps to complete:
49 |
50 | 1. This exercise can be done individually or in a group. Involving other members of your community in the creation of your Code of Conduct helps others feel a shared sense of responsibility. We find the best codes of conduct emerge from real discussion with the community it's aiming to serve, and when it's reflective of the issues they're facing. We encourage you to work with other members of your, if possible. This can be done in person or through circulating an editable document that others can participate in virtually.
51 |
52 | 2. Whether in person in a group or online, start by reflecting on the following questions. Take notes about the answers. Try to give yourself 5-7 minutes per question.
53 | * If working in a group online, share the questions for others to work on with you. One way to get started is to put the questions in an editable document (ie, etherpad, Google Doc, etc), and circulate to a group of community members for their input. Once you've recieved their feedback, move on to the additional steps below. We find this works best when the group of peers represent the diversity of interests and opinions within the community, even if a subsection of a larger group.
54 | * Here's an [etherpad version of the questions](https://public.etherpad-mozilla.org/p/CoC-template-questions) to get you started.
55 | * **What core words would you associate with your community?** These could be values, ideals, or characteristics. Try to keep these to one word answers, if possible. *(Examples: welcoming, safe, inclusive, open, vibrant)*
56 | * If you are working with a group, it might be useful to do this as a silent sticky note exercise. Have participants jot down their ideas, put up on a wall, then see what words overlap. Take note of any common terms, outliers and surprises.
57 | * **What behaviors do you want to encourage? .... and what do you want to discourage?**
58 | * *(Examples: Encourage - active listening, being welcoming, asking questions; Discourage: unwanted physical contact, sexist comments)*
59 | * Note: Be specific enough to be useful here, but try not to linger only on the negative.
60 | * **How does someone elevate an issue, should someone violate the code?**
61 | * Be explicit in these steps, and keep in mind various elevation options. It's OK (and encouraged, even) to have a few options.
62 | * *Examples:*
63 | * *Set up a Safety/Code of Conduct committee, and advertise a bit about each person (general information, bios) including a photo.*
64 | * *Talk to or email Safety/Code of Conduct representatives at an event or email them with your concern. Note that all discussions or correspondences are confidential.*
65 | * *Call or text a Google Voice number, set up specifically for the event.*
66 | * **What consequences are there for violating the code?**
67 | * *(Examples: Asked to leave the event. Removed as a contributor from the project.)*
68 | * **How can you make others feel safe and supported?**
69 | * Code of Conducts aren't only about reporting bad behaviour, and the responsibility for creating a welcoming and safe environment is one that all attendees and participants to share. Take a few minutes to reflect on how you can better support your peers, and model the behaviour you want to see.
70 | * **Who decides what does and does not violate the code? What's an example of how this might be done?**
71 | * Brainstorm some ideas for what the process would look like for participants. This could include response times, how decisions on reported events will be handled, where this will be posted etc. Articulating a clear process for attendess and participants often helps show your commitment to providing a safe experience.
72 |
73 | 3. Using the information and examples listed above, create your own Code of Conduct. You can also remix this example to get started.
74 |
75 | 4. Share the version created with your community for feedback. Make sure your community knows about the Code, those there to help, and feel a shared sense of responsibility to report any behavior that feels off. It helps make sure communities are inclusive, welcoming and human.
76 |
77 | ### Follow-up resources and materials:
78 | * Why You Want a Code of Conduct & How We Made One (Erin Kissane): http://incisive.nu/2014/codes-of-conduct/
79 | * Codes of Conduct 101 & FAQ (Ashe Dryden): http://www.ashedryden.com/blog/codes-of-conduct-101-faq
80 | * Conference Anti-Harassment Resources (Geek Feminism Wiki): http://geekfeminism.wikia.com/wiki/Conference_anti-harassment
81 | * What Makes a Good Community: http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/
82 |
83 | * Examples:
84 | * JSCONF (open source): http://confcodeofconduct.com/
85 | * Girl Develop It: https://www.girldevelopit.com/code-of-conduct
86 | * OSFeels (long and short version): http://osfeels.com/conduct
87 | * Slidewinder: http://www.slidewinder.io/docs/01_code_of_conduct.html
88 | * Mozilla Science Lab: https://mozillascience.org/code-of-conduct
89 |
90 |
91 | ### Any credits or attribution:
92 | Erin Kissane, Ashe Dryden, Aurelia Moser, Geek Feminism, Ada Initiative (RIP), Kaitlin Thaney, OSFeels Conference
93 |
--------------------------------------------------------------------------------
/handouts/contributing.md:
--------------------------------------------------------------------------------
1 | ### Learning Goals
2 |
3 | We will learn how to create and maintain a `CONTRIBUTING.md` for an open source project.
4 |
5 | ### Target Audience
6 | Project, event and community leads.
7 |
8 | ### Delivery Format
9 | In person workshop or online.
10 |
11 | ### Level
12 | Beginner.
13 |
14 | ### Time to Complete:
15 | 30 min.
16 |
17 | ### What you'll need to start:
18 | Paper, pen (in person); Collaborative document like [Etherpad](public.etherpad-mozilla.org/), Google Docs, etc. (online). Download [Mou](http://25.io/mou/) or a markdown viewer so that you can test your file before posting it online.
19 |
20 | 
21 |
22 | *Fig 1: side-by-side markdown and rendered contributor file for Atom.io, as viewed in Mou*
23 |
24 | ### Before using this resource you should be familiar with:
25 |
26 | * General structure of a Github repository
27 | * Creating files on Github (editing in browser or on command line)
28 | * Markdown syntax, and (optional) a "markdown editor" like [Mou](http://25.io/mou/) or [Dilliger](http://dillinger.io/) will help you toggle between Markdown sytax and its rendered product
29 |
30 | ### For information on those topics, see:
31 |
32 | * [Contributor Covenant: A Code of Conduct for Open Source Projects](http://contributor-covenant.org/)
33 | * [Suggested project structure outline for Github](https://github.com/CODESIGN2/Project-Structure)
34 | * [Github's guidelines for Markdown syntax](https://guides.github.com/features/mastering-markdown/)
35 | * [Github's Guidlines for setting up CONTRIBUTING.md](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
36 | * [Working Open Guide: Mechanics of Contributing](http://mozillascience.github.io/leadership-training/03.1-mechanics.html)
37 |
38 | ### Intro to material:
39 | A `CONTRIBUTING.md` file, in your open source repository or site, provides potential project contributors with a short guide to how they can help with your project or study group. It is convention to capitalize the word "contributing" as the file title, and to save it as a resource in markdown (hence the extension `.md`).
40 |
41 | This file is for:
42 |
43 | * *Project owners* - creators and maintainers of the file
44 | * *Project contributors* - users of the file who want to know items they're welcome to tackle, and tact they need in navigating the project/respecting those involved with the project
45 | * *Project consumers* - users who want to build off the project to create their own project
46 |
47 | `CONTRIBUTING.md` should be in your root directory, think of it as a anchor for your project, around which you will build community and keep things tidy. It complements other "all-caps" resources like your `README.md` (which introduces your community to the project, its purpose and basic installation requirements), or your `LICENSE.md` (which provides information on the resuse and permissions associated with the code).
48 |
49 | `CONTRIBUTING.md` should be one of your first priorities in putting an open source/science project online to solicit contributions. If you have yet to define possible avenues of contribution, consider creating a `CONTRIBUTING.md` file with a "check back later, we will populate this soon" message, and the contact information of the project lead for follow-up.
50 |
51 | 
52 |
53 | *Fig 3: where the Atom.io CONTRIBUTING.md file lives in Github*
54 |
55 | ### Steps to complete:
56 |
57 | This exercise can be done individually or in a group. Try to build a draft of the `CONTRIBUTING.md` file with the core contributors to your project, to help others feel a shared sense of responsibility, and create the best possible guide for encouraging new contributors. It's sometimes best to practice building a markdown file in an offline program like [Mou](http://25.io/mou/) or an online one like [Dilliger](http://dillinger.io/), before you post it online.
58 |
59 | ##### STEP 1: Reflect/Plan
60 |
61 | Start by reflecting on what to include, and what to invite (in terms of contributions) in your `CONTRIBUTING.md`.
62 |
63 | 
64 |
65 | *Fig 4: contents of the the Atom.io CONTRIBUTING.md file in Github*
66 |
67 | Consider the following bulleted items:
68 |
69 | * **Welcome contributors to the project** - admit that you are eager for contributions and so happy they found themselves here.
70 |
71 | > :+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
72 |
73 | * **Table of Contents** - if your `CONTRIBUTING.md` file is long, you might consider including a table of contents with links to different headings in your document. In github, each heading is given a URL by default, so you can link to that URL in the appropriate section of the Table of Contents for each heading. Do this in Markdown by wrapping the heading in `[ ]` and following with a parenthetical that includes the URL or header after `#`, like `[Reporting Bugs](#reporting-bugs)`.
74 |
75 | So this in Markdown:
76 |
77 | ```
78 | [Styleguides](#styleguides)
79 | * [Git Commit Messages](#git-commit-messages)
80 | * [CoffeeScript Styleguide](#coffeescript-styleguide)
81 | * [Specs Styleguide](#specs-styleguide)
82 | * [Documentation Styleguide](#documentation-styleguide)
83 |
84 | ```
85 |
86 | ...would look like this when rendered:
87 |
88 | [Styleguides](#styleguides)
89 | * [Git Commit Messages](#git-commit-messages)
90 | * [CoffeeScript Styleguide](#coffeescript-styleguide)
91 | * [Specs Styleguide](#specs-styleguide)
92 | * [Documentation Styleguide](#documentation-styleguide)
93 |
94 | * **Short link to important resources** -
95 | * **docs**: handbook/roadmap (you'll learn more about this in the roadmapping session, you can read the outline for that [here](http://mozillascience.github.io/leadership-training/02.2-roadmap.html) and take a look at the [Study Group Handbook](http://mozillascience.github.io/studyGroupHandbook/) as an example)
96 | * **bugs**: issue tracker/bug report tool
97 | * **comms**: forum link, developer list, IRC/email
98 | * **Testing** - how to test the project, where the tests are located in your directories.
99 | * **Environment details** - how to set up your development environment - this might exist in the `README.md` depending on the project. If so, then include a link.
100 | * **How to submit changes** - (Pull Request protocol etcet), you might also include what response they'll get back from the team on submission, or any caveats about the speed of response.
101 | * **How to report a bug** - Bugs are problems in code, in the functionality of an application or in its UI design; you can submit them through "bug trackers" and most projects invite you to do so, so that they may "debug" with more efficiency and the input of a contributor. Take a look at [Atom's example here](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#reporting-bugs) for how to teach people to report bugs to your project
102 | * **Templates** - in this section of your file, you might also want to link to a bug report "template" like this one [here](https://gist.github.com/auremoser/72803ba969d0e61ff070) which contributors can copy and add context to; this will keep your bugs tidy and relevant.
103 | * **First bugs for Contributors** - Sometimes it is helpful to provide some guidelines for the types of bugs contributors should tackle (should they want to fix the bugs and not just submit them), see [Atom's example section here](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#styleguides)
104 | * **How to request an "enhancement"** - enhancements are features that you might like to suggest to a project, but aren't necessarily bugs/problems with the existing code; there is a "label" for enhancments in Github's Issues (where you report bugs), so you can tag issues as "enhancement," and thereby allow contributors to prioritize issues/bugs reported to the project; see [Atom's example section here](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#suggesting-enhancements)
105 | * **Style Guide/Coding conventions** - see [Atom's example here](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#styleguides)
106 | * **Code of Conduct** - (this is linked here, or part of `CONTRIBUTING.md`), you might put it at the start of your `CONTRIBUTING.md` file, as Atom did [here](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#code-of-conduct) just to set the tone for contributions.
107 | * You might extend this section to link to your `LICENSE.md`, or any details for project consumers about how they might use this open source project for their own work, or how they can build on-top of it according to the permissions and license details you have established
108 | * **Recognition model** - provide a pre-emptive "thank you" for contributing, and list any recognition contributors might receive for participating in your project (if applicable)
109 | * **Who is involved?** - [Open Government's CONTRIBUTING.md](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md) has as a name/author, and it might be nice to have a more personal/friendly individual to attact to a project and reach out to with questions. You might list the core contributors and their preferred methods of contact here, or link to a [humans.txt](http://humanstxt.org/) file in your root directory (same place as your `CONTRIBUTING.md` file), which lets people know who they are working. Here is an example of a [humans.txt file](http://www.stereosemantics.com/humans.txt).
110 | * **Where can I ask for help?** - a nice extension to the previous section, with links to good comms channels for anyone with questions.
111 |
112 | ##### STEP 2: Create a file named `CONTRIBUTING.md`
113 |
114 | * Start by making the structure of your project clean and welcoming, with folder titles that make sense, if you have several projects, consider adopting a template "project structure" that is consistent across projects, take a look at this [example](https://github.com/CODESIGN2/Project-Structure).
115 | * Author a `CONTRIBUTING.md` file that fits your projects, check out the models below in "Followup Resources", and inorporate the appropriate "To Include" items above.
116 |
117 | #### STEP 3: Make supporting materials
118 |
119 | * Make a LICENSE - make a `LICENSE.md` file that you can reference in your `CONTRIBUTING.md` file, use the following links to generate and copy the appropriate text: https://creativecommons.org/choose/ + http://choosealicense.com/
120 | * Make a README - make a `README.md` with a brief description of your project and some setup/installation details that you might link to in your `CONTRIBUTING.md` file.
121 | * Create a system for rewarding people
122 | * (optional) Include a [humans.txt](http://humanstxt.org/) file - to give accolades to contributors (store in your root directory just like your `CONTRIBUTING.md`, on deployment, it will be available via your website www.yourwebsite.com/humans.txt)
123 | * (optional) Get a [DOI for a github project](https://guides.github.com/activities/citable-code/), and make [Contributor Badges](https://mozillascience.org/projects/contributorship-badges) as a way to recognize contributors for their particular contributions
124 | * Hat-tip or thank people in your `README.md`, especially if you forked the repo; thank people when they submit issues or requests; be polite.
125 |
126 | ### Glossary Terms:
127 |
128 | * **bugs** : bugs are problems in a project, particularly one in code, they are either problems where a program/project does not perform according to intention, or situations where the users' expectations are not met in a program/project. You can read a more granular definition in [Code Simplicity](http://www.codesimplicity.com/post/what-is-a-bug/) or in [Wikipedia](https://en.wikipedia.org/wiki/Software_bug).
129 | * **bug report tool** : bug reporting tools are applications for processing and organizing bugs submitted by product contributors or users, [Bugzilla](https://bugzilla.mozilla.org/) is Mozilla's bug tracking tool, and [Github has it's own issue system](https://github.com/features) built into every repository, in the "issues" tab of your repo. See [Wikipedia](https://en.wikipedia.org/wiki/Bug_tracking_system) for more details.
130 |
131 | ### Follow-up resources and materials:
132 |
133 | * [Github's Guidlines for setting up CONTRIBUTING.md](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)
134 | * [Working Open Guide: Mechanics of Contributing](http://mozillascience.github.io/leadership-training/03.1-mechanics.html)
135 | * [SlideWinder Contributor Site](http://www.slidewinder.io/docs/)
136 | * [Atom Editor's CONTRIBUTING.md](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
137 | * [Open Government's CONTRIBUTING.md](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md)
138 |
139 | ### Any credits or attribution:
140 |
141 | Hat-tip to the Atom and Open Government developers for their fabulous examples, the creators of Humans.txt, Github and Github's documentation, Mou, Dilliger, Bugzilla, Slidewinder, and the Working Open Guide (linked above).
--------------------------------------------------------------------------------
/handouts/data_reuse_plan.md:
--------------------------------------------------------------------------------
1 | ##Your Data Can Live Forever: How to Promote Data Reuse
2 | ####Learning Goals:
3 | This activity is designed to help you understand what someone outside your research project (or you in 5-10 years) would need to know about your data in order to build on your work.
4 | ####Target Audience:
5 | Graduate students, early-career researchers, project leads
6 | ####Delivery Format:
7 | in-person workshop
8 | ####Level: Beginner
9 | ####Time to complete:
10 | 45 mins in-person w/ add’l time to refine post-workshop
11 | ####What you'll need to start:
12 | pen/pencil or text editor, [Data Reuse Plan Template] (../Handouts/DataReusePlanWorksheet.md), a data set with which you are familiar
13 | ####Before using this resource you should be familiar with: Not applicable
14 | ####For information on those topics, see: Not applicable
15 | ####Glossary of key terms:
16 | **Open data:** Data that is made easily and freely available for anyone to access, use, and share without restrictions, the possible exception being a requirement of attribution.
17 | **Metadata:** Information that describes, explains, locates, or in some way makes it easier to find, access, and use a resource (in this case, data). For example, metadata for a photograph may include the name of the photographer, when and where it was taken, as well as the type of camera and settings used to take the photograph.
18 | **Licensing:** A license gives explicit permissions for the use of something. This is particularly important if you want to make your data open as some jurisdictions assign copyrights to data sets which limit their use. There are several types of licenses that are in common use for data. You can read more about them here: [http://www.dcc.ac.uk/resources/how-guides/license-research-data] (http://www.dcc.ac.uk/resources/how-guides/license-research-data)
19 | **Naming conventions:** These are a set of predefined rules for the naming and structure of folders, files, field names, etc. (e.g. all files begin with a date, location and project name.) Naming conventions help provide context to a data set, as well as make sure a standard of data collection and management is being followed by all members of a team.
20 | **Permanent Identifiers:** A permanent identifier (or PID) is a set of numbers and/or characters, frequently in the form of a URL, that points to the location of a resource. PIDs are set up in such a way that even though the storage location of the resource may change over time (e.g. moving data from one university server to another), the PID will always point to the correct location. DOI is a commonly known type of PID.
21 | ####Intro to material:
22 | Data reuse saves time and accelerates the pace of scientific discovery. By making your data open and available to others, you make it possible for future researchers to answer questions that haven’t yet been asked. Thinking about data reuse in advance and documenting it, saves you time by helping you plan research processes and workflow early in the research project. Finally, this documentation makes it easier for you to defend your research... remember back in second grade when your teacher told you to “show your work”.
23 |
24 | When it comes to making your work reusable, “the devil is in the details”. Upon completion of this exercise, you will have a detailed data reuse plan which you can save as a README or text file to store with your data files so others can understand and reuse your data. Extra bonus feature: it provides an outline for the “Methodology” section of any publications that arise from this data.
25 | ####Steps to complete:
26 | 1. Break into evenly distributed groups of 2-5 people. *(2 mins)*
27 | 2. Identify one volunteer to be the “Researcher” and describe their research data for this exercise. This person will need to be fairly familiar with how and why the data was collected. *(2 mins)*
28 | 3. Identify a note taker to record responses to questions from the group about the data set. *(1 min)*
29 | 4. Using the Data Reuse Plan worksheet as a guide, members of the group ask questions of the “Researcher” about her or his data set while the note taker records responses. (The note taker can ask questions, too!) As you ask questions, think about how you would (if you could) respond to a similar question for your data set. *(30-40 mins)*
30 | 5. If you have time, upon completion of the worksheet, review your responses and make sure they would be clear to someone viewing your data set for the first time. You are writing this for someone you’ve never met. Avoid jargon and abbreviations where possible.
31 | 6. Review the questions below and be prepared to share out your responses with the larger group.
32 |
33 | #####Questions to Keep in Mind:
34 | If you don’t have some of the applicable information asked for in the worksheet, is there a way you can get it? If not, is there something you could have done differently during your research project to collect that information?
35 | Which parts of the worksheet are particularly challenging? Why? What research best practices could be put into place to make it easier?
36 | Are there pieces of information missing from this worksheet that would help someone understand your data with an intent to reuse it?
37 |
38 | ####Follow-up resources and materials:
39 | * [Metadata Guide](http://www.ands.org.au/guides/metadata-working.html) from Australian National Data Service (ANDS)
40 | * [Metadata Directory](http://rd-alliance.github.io/metadata-directory/) from Research Data Alliance
41 | * [Best Practices for Data Management](https://www.dataone.org/sites/all/documents/DataONE_BP_Primer_020212.pdf) from DataONE
42 | * [Challenges to Open Data and How to Respond] (../Handouts/ODChallengesQI.md)
43 |
44 | ####Credits and attribution:
45 | Metadata definition adapted from “Understanding Metadata” published by NISO Press (2004): [http://www.niso.org/publications/press/UnderstandingMetadata.pdf] (http://www.niso.org/publications/press/UnderstandingMetadata.pdf)
46 |
--------------------------------------------------------------------------------
/handouts/data_reuse_plan_template.md:
--------------------------------------------------------------------------------
1 | ## **Data Reuse Planning Template**
2 |
3 | Create a text file including information provided below, as appropriate. Save this file as " **DataReusePlan.txt**" and save in top-level folder of your data set for use by future researchers wanting to reuse your data.
4 |
5 | ## | **What** |
6 |
7 | **Description (abstract):** What is your project about? What is the goal? Why are you doing it? How does this data relate to your project?
8 |
9 | **Title:** What do you want to call your data set?
10 |
11 | e.g. "Data from: ", "Soil moisture data in Namibian Delta 1982"
12 |
13 | **Permanent Identifier:** A way for folks to find your data. Do you have a DOI or other permanent identifier?
14 |
15 | e.g. https://dx.doi.org/10.6084/m9.figshare.2061996.v1
16 |
17 | **Data Source:** If you included someone else's data in your data set, provide information on where it came from. Just like articles, if you use it, cite it. It is preferable to include a permanent identifier like a DOI.
18 |
19 | e.g. Forstmann BU, et al. (2014) Data from: Multi-modal ultra-high resolution structural 7-Tesla
20 | MRI data repository. Dryad Digital Repository. (http://dx.doi.org/10.5061/dryad.fb41s)
21 |
22 | **Subject:** In what discipline or subject area is your project?
23 |
24 | e.g. Neurological biochemistry, applied ecology, etc.
25 |
26 | **Related publication:** Have you published an article, thesis or some other publication based on this data? Include a full citation and permanent identifier, if available.
27 |
28 | e.g. Forstmann BU, et al. (2014) Multi-modal ultra-high resolution structural 7-Tesla MRI data repository.
29 | Scientific Data 1:140050. (http://dx.doi.org/10.1038/sdata.2014.50)
30 |
31 | ## | **Who** |
32 |
33 | **Data Collector:** Person/organization responsible for collecting data
34 |
35 | e.g. Roberts Lab, University of Washington; Phoebe Marshwana, PhD, Michigan State University
36 |
37 | **Funder Information** : Is this project sponsored by a funding agency? If so, include name of the funding agency, grant number, and principal investigator name/s & affiliations.
38 |
39 | e.g. Funded by European Commission's Framework 7 Program under Grant No. FP7-ICT-2016- 224495.
40 | PI: Dr. Carol Magnusson, Oxford University)
41 |
42 | **Collaborators:** Are there any collaborators on this project? Provide names and affiliations.
43 |
44 | e.g. Dr. Adorja Bilka, Rensselaer Polytechnic Institute
45 |
46 | **Contact person:** Who should someone contact for additional information about the data set? Include affiliation and contact information such as phone number, email, and/or physical address.
47 |
48 | e.g. Dr. Alain Benziger, Swiss Tropical and Public Health Institute, Socinstrasse 57, 4051 Basel,
49 | Switzerland; abenziger@swisstph.ch
50 |
51 | ## | **Where** |
52 |
53 | **Location:** Where was the data collected? One place? Multiple places? Use geographic coordinates if appropriate.
54 |
55 | e.g. Skukuza, Swaziland; N -24.9916 degrees, W 31.5874 degrees; Multiple sites along Congo
56 | River Delta
57 |
58 | **Place of publication:** Where is the data made publicly available? Include URL.
59 |
60 | e.g. Penn State University Scholarsphere: https://scholarsphere.psu.edu/
61 |
62 | ## | **When** |
63 |
64 | **Temporal Coverage:** When was the data collected? On a specific date? Specific time? Over a range of dates? Use the international standard date format (YYYY-MM-DD hh:mm.ss) and try to be as specific as possible.
65 |
66 | e.g. 2015-07-01 to 2015-12-31; 2000 - 2010
67 |
68 | **Publication Date:** When was the data made available in the place of publication (above)? Again, use the international standard date format.
69 |
70 | e.g. 2016-01-15
71 |
72 | ## | **How** |
73 |
74 | **Data collection process:** What instruments were used to collect the data? how frequently were the data collected? how were data collection sites selected? if there was a sample population, how was it selected?
75 |
76 | e.g. Minimum and maximum observed temperature for each day was calculated at morning
77 | high tide using CoolRead thermometers calibrated using the XYZ method.
78 |
79 | **Data processing:** How did you clean the data? how are missing or null values handled? did you write code for processing the data and where can it be found?
80 |
81 | e.g. Differences in site mortality were determined through survdiff tests performed using X software
82 | version 2.10.3. Comparisons with a p-value less than 0.05 (P<0.05) were considered different. Raw data
83 | and scripts used in analysis are available in a GitHub repository: https:github.com/omeara/oysters/
84 |
85 | **File index:** A listing of folders and files included in the data set. Explain what files will be found in each folder and naming conventions used. Additional files could include any questionnaires or other survey instruments used to collect the data. Be sure to nclude codebooks and data dictionaries or similar README files.
86 |
87 | See http://www.fs.usda.gov/rds/archive/products/RDS-2013-0013/_fileindex_RDS-2013-0013.html
88 |
89 | **File format/s:** What type/s of files are these? Are there multiple formats? What software is needed to use the file/s?
90 |
91 | Avoid proprietary formats if possible! Most data can be reformatted to be communicated in text-based forms.
92 |
93 | e.g. Data files are in text files in the comma-separated-values format and can be opened with any text editor.
94 |
95 | **Standard Metadata:** Increasingly, scientific fields are moving towards standard metadata formats (data.json, data.xml, etc) to pull all the information in the Data Reuse plan together in a machine readable format. Machine readable metadata enables cataloging of datasets on sites like Data.gov and allows other to ask questions and access your datasets using code. For example, open US govenment data online is required to expose a data.json in the landing page html to be listed on Data.gov, thereby facilitating data discovery. Because not all researchers who are mandated to actually include data.json files, Data.gov is incomplete, and simple questions like "what is the total volume of data generated by US federally funded scientists?" are unanswerable.
96 |
97 | What is the metadata standard in your field? Not sure? That's normal. Your field may not have a universal standard yet. Check out the [Research Data Alliance recommendations](https://www.rd-alliance.org/recommendations-and-outputs/all-recommendations-and-outputs) and consider getting involved in the creation of metadata standards in your field!
98 |
99 | ## Note about codebooks and data dictionaries:
100 |
101 | The use of additional documentation formats such as codebooks and data dictionaries in conjunction with your DataReusePlan.txt and other data set files makes your data infinitely more reusable and provide assistance with managing your data and your research process as a whole. Like your Data Reuse Plan, these file are stored with the rest of your data files, usually in a top-level folder.
102 |
103 | A **data dictionary** (sometimes used interchangeably with " **codebook**") is another text file for defining field names and values. The file includes a list of all field names in the data set and a description of each such as: units of measurement, formulas used for calculation, abbreviations, value ranges, as well as the relationship of fields to one another.
104 |
105 | Example of a data dictionary: http://www.utexas.edu/cola/redcap/_files/data_dictionary_example.jpg
106 |
107 | For more information see: "Best Practices for Data Dictionary Definitions and Usage" by the Northwest Environmental Data Network (http://www.pnamp.org/sites/default/files/best_practices_for_data_dictionary_definitions_and_usage_version_1.1_2006-11-14.pdf).
108 |
--------------------------------------------------------------------------------
/handouts/gitHub_for_collaboration.md:
--------------------------------------------------------------------------------
1 |
2 | **Title:** A Collaborative Workflow for Open Projects in GitHub
3 |
4 | **Learning Goals:**
5 | Get comfortable with a Collaborative workflow in the GitHub interface. Practice adding resources to your repo, working with issues and lables, forking and branching, writing commit messages, making and reviewing pull requests, and merging changes. You'll also practice good communication with contributors.
6 |
7 | **Target Audience** Project Leads and Contributors
8 |
9 | **Delivery Format:** In-person, facilitated workshop with pairs of learners working together on each other's repositories.
10 |
11 | **Level:** Intermediate
12 |
13 | **Time to complete:** 45 mins
14 |
15 | **What you'll need to start:** two people with projects already hosted on GitHub, computers to work on, an Internet connection to access the GitHub site
16 |
17 | Before using this resource you should be familiar with: the basics of version control, setting up a GitHub repo, markdown basics.
18 |
19 | **For information on those topics, see:** Short Presentation: [GitHub for Collaboration and Enjoyment](https://docs.google.com/presentation/d/17R2EqTq7GM4RyvdG7bNK_g77r50X5-dufzgc5tBmihs/edit?usp=sharing)
20 |
21 | **Glossary of key terms:**
22 | repository or repo: a collection of documents where you are working and saving your work
23 |
24 | markdown: a lightweight way of annotating a document with instructions that tell a web browser how to format and display text
25 |
26 | version control: a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
27 |
28 | Git : the command-line software that tracks all changes to a collection of documents
29 |
30 | GitHub: a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
31 |
32 | fork: a copy of a repository that is saved in another user's GitHub account
33 |
34 | branch: a copy of a repo that is contained within the orignal repo. branches are used to work on a project features without altering the original or "master" repo.
35 |
36 | commit: a saved change to a document in a repository
37 |
38 | issue: a message on gitHub that outlines a task that needs to be completed
39 |
40 | pull request: a request to add a commit or collection of commits to a repository.
41 |
42 | merge: the act of incorporating new changes into a repository
43 |
44 | **Intro to material:**
45 | The magic of GitHub is providing a structure and space for communicating about those changes, making decisions, assigning tasks. With some good set-up, you can making your project accessible and transparent, and create a respectful and productive working environment for your collaborators.
46 |
47 | This exercise walks you through a workflow for collaboration on open projects and demonstrates good communication with contributors.
48 |
49 | *Before you start, provide your partner with a link to your repository.*
50 |
51 | 1. As project lead: add any new files you've created to your repo (readme.md, roadmap.md, contributing.md). Give the file a name, and the .md extension so you can use markdown for formatting. Add your content and click commit at the bottom.
52 |
53 | 2. As project lead. Make a new label. Where to do this: click the "Issues" tab, then look for the labels tab, just to the right of the "filter" box. Add a label called "good first bugs"
54 |
55 | 3. As project lead: create an issue in your own repo to document a "good first bug". A good first bug is something simple that a new contributor can work on, to give contribution and this way of working a try. It's work that's useful to the project but relatively easy, not so difficult as to be overwhelming or discouraging for someone new to your project. A good first bug is as much an opportunity to learn the workflow as it is to make changes to the project. An example of a good first bug for this exercise: fix a typo in the readme, add a badge, add a science fox, etc.
56 |
57 | 4. As contributor: Go to your partner's repo, and comment on the new "Good First Bug" issue that they've posted... introduce yourself and volunteer to work on this issue! In your own repo, go to the issue that's just been commented on.
58 |
59 | 5. As project lead: Reply to your new contributor and assign this issue to yourself (you should act as a mentor, and offer to anser any questions). Assinging issues is a good way to track which tasks are underway and have help.
60 |
61 | 6. As contributor: Go to your partner's repo and fork it. Then create a branch in your forked copy. Name this branch.
62 |
63 | 7. As contributor: Make a change in this branch, and commit it. Write a great commit message! The top line should summarize your changes. Include details in the field below.
64 |
65 | 8. As contributor: Make a pull request to the orginal (upstream) repo.
66 |
67 | 9. As Project Lead: Review the pull request and leave a comment thanking the contributor... Make use of gifs and emoticons here, to emphasize your appreciation!
68 |
69 | 10. As project lead: merge the changes
70 |
71 | 11. As project lead: close the issue with thanks, gifs, and emojis!
72 |
73 | **Any credits or attribution:**
74 | Joey Lee, Abby Cabunoc, Zannah Marsh, and Arliss Collins contributed to the creation of this resource.
75 |
76 |
--------------------------------------------------------------------------------
/handouts/image-list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/handouts/image-list.md:
--------------------------------------------------------------------------------
1 | 
2 | 
3 | 
4 | 
5 | 
6 | 
7 | 
8 | 
9 | 
10 | 
11 | 
12 | 
13 | 
14 | 
15 | 
16 | 
17 | 
18 | 
19 | 
20 | 
21 | 
22 | 
23 | 
24 | 
25 | 
26 | 
27 | 
28 | 
29 |
30 |
31 |
--------------------------------------------------------------------------------
/handouts/img/Screen Shot 2016-02-03 at 6.31.04 PM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/Screen Shot 2016-02-03 at 6.31.04 PM.png
--------------------------------------------------------------------------------
/handouts/img/Screen Shot 2016-02-03 at 6.48.44 PM.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/Screen Shot 2016-02-03 at 6.48.44 PM.png
--------------------------------------------------------------------------------
/handouts/img/badges_open_canvas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/badges_open_canvas.jpg
--------------------------------------------------------------------------------
/handouts/img/branching-naming.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/branching-naming.png
--------------------------------------------------------------------------------
/handouts/img/branching-navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/branching-navigate.png
--------------------------------------------------------------------------------
/handouts/img/coc-commit-message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/coc-commit-message.png
--------------------------------------------------------------------------------
/handouts/img/coc-content-additions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/coc-content-additions.png
--------------------------------------------------------------------------------
/handouts/img/coc-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/coc-content.png
--------------------------------------------------------------------------------
/handouts/img/coc-submitted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/coc-submitted.png
--------------------------------------------------------------------------------
/handouts/img/feedbackissue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/feedbackissue.png
--------------------------------------------------------------------------------
/handouts/img/feedbackissue.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/feedbackissue.psd
--------------------------------------------------------------------------------
/handouts/img/fork-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/fork-button.png
--------------------------------------------------------------------------------
/handouts/img/fork-initializing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/fork-initializing.png
--------------------------------------------------------------------------------
/handouts/img/fork-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/fork-page.png
--------------------------------------------------------------------------------
/handouts/img/fork-where.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/fork-where.png
--------------------------------------------------------------------------------
/handouts/img/issue-convo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/issue-convo.png
--------------------------------------------------------------------------------
/handouts/img/issue-first-comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/issue-first-comment.png
--------------------------------------------------------------------------------
/handouts/img/issues-labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/issues-labels.png
--------------------------------------------------------------------------------
/handouts/img/issues-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/issues-search.png
--------------------------------------------------------------------------------
/handouts/img/merge-pull-request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/merge-pull-request.png
--------------------------------------------------------------------------------
/handouts/img/open_canvas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/open_canvas.jpg
--------------------------------------------------------------------------------
/handouts/img/open_canvas_details.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/open_canvas_details.jpg
--------------------------------------------------------------------------------
/handouts/img/pull-request-ask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-ask.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-button.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-comment.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-message.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-selection.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-specifying-branch-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-specifying-branch-01.png
--------------------------------------------------------------------------------
/handouts/img/pull-request-submitted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/pull-request-submitted.png
--------------------------------------------------------------------------------
/handouts/img/repo-issues.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/repo-issues.png
--------------------------------------------------------------------------------
/handouts/img/repo-labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/repo-labels.png
--------------------------------------------------------------------------------
/handouts/img/repo-learning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/repo-learning.png
--------------------------------------------------------------------------------
/handouts/img/repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/repo.png
--------------------------------------------------------------------------------
/handouts/img/respondtoissue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/respondtoissue.png
--------------------------------------------------------------------------------
/handouts/img/reviewrequest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozillascience/working-open-workshop/8931bf19bedb99166b931f82dbd2fba815dc6fe1/handouts/img/reviewrequest.png
--------------------------------------------------------------------------------
/handouts/roadmapping.md:
--------------------------------------------------------------------------------
1 | ### Title: Roadmapping
2 |
3 | ### Learning Goals:
4 | We will learn how to create and maintain a roadmap for an open source project
5 |
6 | ### Target Audience:
7 | new project leads on open source projects
8 |
9 | ### Delivery Format:
10 | In person workshop
11 |
12 | ### Level:
13 | Beginner friendly
14 |
15 | ### Time to complete:
16 | 45 mins
17 |
18 | ### What you'll need to start:
19 | computer, your favourite browser, GitHub account, open source project on GitHub
20 |
21 | ### Before using this resource you should be familiar with:
22 | * Editing files in GitHub
23 | * Writing a good README
24 |
25 | ### For information on those topics, see:
26 | * @zee-moz's README lesson
27 |
28 | ### Glossary of key terms:
29 | * **Roadmap**: Schedule of work to be done on a project
30 | * **Milestone**: An event or state marking a specific stage in development on the project
31 |
32 | ### Intro to material:
33 | When you're starting on an open source project, it's important to record what your community (this might just be you at the beginning) decides to work on! A roadmap organizes the tasks that nees to be done on a project around milestones. This helps potential contributors understand the current status of your poject and where it's going next.
34 |
35 | A roadmap can also express your vision for the project. Make sure you clearly state why you are implementing certain things to get people excited about joining.
36 |
37 | This can be as simple as a collection of issues in your issue tracker, or a detailed timeline complete with milestones. It's up to you to choose what works best for your community! At the Mozilla Science Lab, we break our Roadmaps into three sections:
38 |
39 | 1. **Project Mission & Summary**
40 | 2. **How to Get Involved**
41 | 3. **Timeline**
42 |
43 | You can see an example of this in the [Contributorship Badges for Science Roadmap](https://github.com/mozillascience/PaperBadger/issues/17)
44 |
45 | ### Steps to complete:
46 |
47 | 1. Write the **Project Mission & Summary**
48 | * Since new contributors may be linked directly to the Roadmap, it can be jarring if you jump right into the timeline. Use this section to orient new visitors
49 | * Start with the project name along with your mission statement or a clear summary of what you are doing.
50 | * Keep this shorter than your README, but make sure your mission is clear
51 | * **tips**
52 | * Keep it short and simple!
53 | * Use this space to case some vision -- people get involved because they're excited about what you're building
54 | 2. Write **How to Get Involved**
55 | * Once users have seen your summary, they may want to get involved right away! If you have any good first bugs, or if you've labelled any of your issues with specific skillsets, link them here! This gives potential contributors a way to get involved immediately.
56 | * **tips**
57 | * Try to keep a handful of smaller, simpler tasks open labelled 'Good first bug' and make it point to let others know new contributors will be mentored through this issue
58 | * Try labelling tasks by type of contribution (development, design, discussion) - this helps limit the choices to tasks users are interested in
59 | 3. Write the **Timeline**
60 | * This section organizes tasks needed to complete your project around milestones
61 | * When your community decides to do something, write it down in the roadmap! Your roadmap will constantly be changing as you hit milestones and decide on important features.
62 | * **Pick some milestones** - they can be:
63 | * project status goals (project up on Collaborate, MVP)
64 | * dates (good if you have deadlines / set time to work on the project)
65 | * events (Mozilla Science Lab Global Sprint, MozFest)
66 | * short term, medium term and long term - use this if you don't have set deadlines
67 | * **Lists tasks under each milestone**. Take time here to explain *why* you are doing this task. It can help enforce your vision for this project.
68 | * Your tasks will probably be more detailed in shorter-term goals
69 |
70 | ### Follow-up resources and materials:
71 |
72 |
73 | ### Any credits or attribution:
74 |
--------------------------------------------------------------------------------
/handouts/sprints_events.md:
--------------------------------------------------------------------------------
1 | ### Title: Event Planning Is Fun !
2 |
3 | ### Learning Goals:
4 | We will learn what steps need to be completed to plan a sprint or community event.
5 |
6 | ### Target Audience:
7 | Anyone that would like to organize a well-planned, welcoming sprint or community event.
8 |
9 | ### Delivery Format:
10 | In person workshop or online
11 |
12 | ### Level:
13 | All levels
14 |
15 | ### Time to complete:
16 | * 3-5 minutes to read the exercise
17 | * 30 minutes to get started on the initial planning
18 | * 2 months - to fully plan a local sprint
19 | * 3 - 4 months - to fully plan a global sprint
20 |
21 | ### What you'll need to start:
22 | Paper, pen (in person), a collaborative document like Google docs, Etherpad (online)
23 |
24 | ### Before using this resource you should be familiar with:
25 | N/A
26 |
27 | ### For information on those topics, see:
28 | N/A
29 |
30 | ### Glossary of key terms:
31 |
32 | * **Sprint** - is an event where project leads connect with contributors from the community to work on open source projects.
33 |
34 | * **Local sprint** - is an event that has projects, project leads and contributors that come from the local area
35 |
36 | * **Global sprint** - is an event with multiple sites around the world where participants work on projects for a set time period within their timezone
37 |
38 | * **Contributor** - a person that contributes content or services to an open source project
39 |
40 | * **Project lead** - a person that is the main contact for a particular project
41 |
42 | * **Venue** - the place where the sprint will be held
43 |
44 | * **Swag** - Promotional merchandise given away at events, trade fairs or conferences
45 |
46 |
47 | ### Intro to material:
48 | Planning project-based sprints or community events is a great way to bring leaders and contributors together to collaborate and share.
49 | Well organized, welcoming and inclusive sprints & events take some time to prepare.
50 |
51 | ### Steps to complete:
52 | Consider the following questions in each section and answer them as detailed as possible. We,ve provided tips to help you better plan, and suggestions of the kind of materials and needs you might consider.
53 |
54 | 1. **Pre-sprint planning**:
55 |
56 | * **General Information**:
57 |
58 | * What is the overall goal /purpose of your event ?
59 |
60 | * Who is your (target audience) ?
61 |
62 | * What is the format for the event ?
63 |
64 | * Is there a budget for the event ?
65 |
66 | * When will the event take place ?
67 |
68 | **Tip**: In picking a date remember to consider any special events / religious holidays / family time / seasonal workloads.
69 |
70 |
71 | **Venue and Room Set-up**:
72 |
73 | * Where will it be held ?
74 |
75 | * Take a moment to think about three possible places for your event
76 |
77 | * How many will it need to hold ?
78 |
79 | * How will the room be arranged?
80 |
81 | * Are there lots of electrical plug-ins ?
82 |
83 |
84 | * **Tip**: When considering a venue make sure to pick one that is accessible, close to public transit and has parking options for those coming from a distance.
85 |
86 |
87 | * **Tip**: The room should be large enough to hold all attendees at round tables. For example, for a group of 60 attendees there should be room for 8-10 tables, if the tables seat 6-8 attendees. There should be space at the front of the room for a podium, a flip chart, and projection screen that is visible to all attendees.
88 |
89 |
90 | **Food and Beverage**:
91 |
92 | * Is there budget for the food and drink ?
93 |
94 | * What food will you provide ?
95 |
96 |
97 | * **Tip**: Food and beverage service is not required, but is typically appreciated by attendees. For full-day workshops, it is recommended that light breakfast items along with coffee and tea be provided in the morning, lunch at midday, and a light snack during an afternoon break. It is useful to have coffee and water provided throughout the day, if possible.
98 |
99 |
100 | * **Tip**: If there is a food and beverage service, an adjacent room can be set up for this, or it should be set up in an area of the workshop room that will cause the least amount of disturbance to the ongoing training.
101 |
102 |
103 | **Event Promotion**:
104 |
105 | *How will you promote your event ?
106 |
107 | *What contacts do you have in the community ?
108 |
109 | *What groups are active in your area that match your target audience ?
110 |
111 |
112 | * **Tip**: The following is a suggested list of ways to promote your event
113 |
114 |
115 | * Personal Contacts
116 |
117 | * Email distribution lists
118 |
119 | * Twitter - pre-schedule tweets before and during lead-up to event
120 |
121 | * Meetup groups - contact the organizers to see if they will post your event
122 |
123 | * Local newspapers
124 |
125 | * Event page or website
126 |
127 | * Blogging about your event
128 |
129 |
130 | **Audio-Visual Needs**:
131 |
132 | * What A/V setup do you need to accommodate the sprint format ?
133 |
134 | * What will the venue provide ?
135 |
136 | * What will you have to bring ?
137 |
138 |
139 | * **Tip**: The following is a recommended list of equipment that should be onsite for the workshop:
140 |
141 |
142 | * Podium with microphone or other appropriate speaking spot for facilitator
143 |
144 | * Handheld wireless microphone for groups larger than 50 attendees
145 |
146 | * LCD Projector
147 |
148 | * Projection screen
149 |
150 | * Computer with Microsoft PowerPoint, USB port, and internet access
151 |
152 | * Video/audio projection capability through computer and audio hookup (i.e., for playing video with sound from laptop)
153 |
154 | * Flip chart and markers
155 |
156 | * Whiteboards
157 |
158 |
159 | **Workshop Materials and Give-aways**:
160 |
161 | Although not required it is a great idea to offer give-aways to sprint participants. These are great for promotional purposes as well as reminders to participants of their sprint experience.
162 |
163 |
164 | * **Tip**: Here are some suggestions:
165 |
166 | * stickers
167 |
168 | * USB drivers
169 |
170 | * mini device chargers
171 |
172 | * T-shirts
173 |
174 | * pens
175 |
176 |
177 | ### Follow-up resources and materials:
178 | https://public.etherpad-mozilla.org/p/sciencelab-facilitation-handout
179 | https://docs.google.com/spreadsheets/d/14aczcRsP3pn7A1jWowQu3EYSuWj4yRRDxEBAl1-6--w/edit#gid=565772497
180 |
181 |
182 | ### Any credits or attribution:
183 |
184 | NOTE: add some suggested lists, pick a consistant format between sections, ask the questions
185 |
--------------------------------------------------------------------------------
/handouts/user_person_pathways.md:
--------------------------------------------------------------------------------
1 | **Title:** Personas and Pathways for Growing Communities
2 |
3 | **Goals:** This activity is designed to help you identify potential users and contributors, understand their goals and motivations, help them find a way into your project, and grow them into strong, committed community members.
4 |
5 | **Target Audience:** Open science project leads and Mozilla Study Group leads seeking to attract and grow communities of contributors around their projects
6 |
7 | **Format:** This is a short writing/thinking exercise. Best done with a partner or small group, but can also be done alone.
8 |
9 | **Level:** Beginner
10 |
11 | **Time to complete:** 30 to 45 minutes, or as needed
12 | What you'll need to start: Timer, paper and pen or some way of recording notes
13 | Before using this resource you should be familiar with: no pre-requisites
14 |
15 | **Intro**
16 | Your open project needs users and contributors, but how can you find them, get them involved, and keep them engaged and active in your community? One way is by creating and using "personas" and "pathways" to help you plan and test how you'll interact with new contributors.
17 |
18 | About Personas
19 |
20 | “persona” is a tool commonly used in the design world, to help create products and experiences that work for real world users (aka “user-centered design”). The persona is an imaginary user, based on real-world observations and understandings of actual potential or current users. The persona becomes real to the designer, and is used as a tool to test features and experiences (for example, a designer might ask “Would our user persona, Rodrigo, who is an avid photographer and technophile but also an introvert who’s protective of his private information, like feature x of our social media platform?”).
21 |
22 | Personas may be composites of several real-world users. The power of the persona is in its specificity; a good persona feels real, and helps a designer (or project lead) put their own perspectives aside and empathize with the needs and motivations of users.
23 |
24 | Example:
25 |
26 | *Rashid is a PhD student in astronomy at a university in Southern England. He’s outgoing and a snappy dresser, favoring skinny jeans and colorful cardigans. He lives in on-campus housing and after a long day at the lab he usually rushes home to see his wife and infant son. Rashid took an intro Java programming course long ago, as an undergrad, but his research now demands Python skills. Because of the competitive nature of his lab, he’s reluctant to ask colleagues for help. He follows Mozilla Science Labs on Twitter, has some exposure to and interest to Open Science, but is hesitant to share his data for fear of being “scooped” on an important discovery.*
27 |
28 | About Pathways
29 |
30 | Once we have a persona, we can imagine how they might interact with our project. Let's imagine that this process has a few phases:
31 |
32 | 1. Discovery (how they first hear about the project or group)
33 | 2. First Contact (how they first engage with the project or group, that intial interaction)
34 | 3. Participation (how they first participate or contribute)
35 | 4. Sustained Participation (how their contribution or involvement can continue)
36 | 5. Networked Participation (how they may network within the community)
37 | 6. Leadership (how they make take on some additional responsibility on the project, or begin to lead)
38 |
39 |
40 | If we've constructed a good persona, we can clearly see a progression of steps.
41 | Here's an example (using Rashid):
42 |
43 | 1. Discovery- Sees poster advertising study group around campus
44 | 2. First Contact- Attends a meeting of the group, and is encouraged to return in a follow up email
45 | 3. Participation- Asks and answers questions during the help session
46 | 4. Sustained Participation- attends several "hacky hour" sessions throughout the semester
47 | 5. Networked Participation- invites some of his colleagues from his lab to a session
48 | 6. Leadership- agrees to present an intro session on Java, and creates a learning resource to contribute to the group's repo
49 |
50 |
51 | As you create your pathway, ask yourself, what needs to be in place to move your persona along this pathway? What are the potential pitfalls for your persona, in terms of skills, time, motivations? Once you have a sense of this story, you might list solutions to any challenges. Here are examples:
52 |
53 | * Publicize group meetings via posters around campus as well as on twitter and via email blasts.
54 | * Collect emails of new group attendees for follow up messages.
55 | * Offer an online intro to GitHub for those who join mid-semester and missed the first sessions.
56 | * Schedule meetings for daytimes and early evenings to avoid conflicts with family schedules.
57 |
58 |
59 |
60 | **Steps to complete:**
61 | 1. Brainstorm. in groups of two, read through the following questions. Take notes! Each person should answer the question in caps in the time provided. Use a timer to keep time for each person.
62 |
63 | Who is the person you most need in your community or on your project? Think of skills and attributes, but also give them identifying details. (3 mins each)
64 |
65 | What are that person's motivations and needs? Think of what might draw them to your project, what is the value for them? (3 mins each)
66 |
67 |
68 | 2. Write.
69 | Create a short description of your persona. See above "Rashid" for an example. (3-4 mins each)
70 |
71 | 3. Plan a Path.
72 | Using the structure above, describe a pathway for your persona. What are the steps through this project? What could be stumbling blocks for user? (3 mins each)
73 |
74 | 4. List your Solutions
75 | For each potential stumbling block or barrier your user might encounter, list a solution that you'll work into your design of your group or project. (3 mins each)
76 |
77 | **Glossary of key terms:**
78 | persona- a fictional user, based on real-world observations of actual or potential users. personas are used to test and shape the design of a product or experience, so that the final design is responsive and relevant to user needs.
79 |
80 | **Follow-up resources and materials:**
81 | You may find it useful to review this handout on the the creation of your Contributing.md file in light of your new understanding of your users.
82 | You may also want to revise your proejct description to better appeal to your users, using this handout.
83 |
--------------------------------------------------------------------------------
/handouts/writing_readmes.md:
--------------------------------------------------------------------------------
1 | **Learning Goals:**
2 | Create an effective, welcoming, detailed readme file for your open project.
3 |
4 | **Target Audience:**
5 | Anyone starting an open project.
6 |
7 | **Delivery Format:**
8 | This can be done by project collaborators working in groups, or working alone online
9 |
10 | **Level:**
11 | Beginner
12 |
13 | **Time to complete:**
14 | 45 minutes
15 |
16 |
17 | **What you'll need to start:**
18 | Computer with internet connection
19 |
20 | **Before using this resource you should be familiar with:**
21 | Project set-up on GitHub
22 |
23 | **Introduction:**
24 |
25 | When you open your project, you may have a specific audience in mind (for example, software developers or other researchers in your field)... but you can reach a much broader community! Many people outside of your field-- designers, technical writers, citizen scientists-- may be interested in your project and have valuable contributions to offer! Clearly communicating information about your project in simple language is an excellent way to grow and diversify your community.
26 |
27 | The readme file is one of the first things you add to your project repository. It introduces your project idea and goals. Along with the contributing file, the roadmap, and your Code of Conduct, the readme file helps welcome, orient, and encourage newcomers to participate.
28 |
29 | The following steps are designed to help you create an effective readme file. First, you'll use a tool called Open Canvas to define and organize key information about your project. Then you'll write a readme file and test it for clarity, using an online text editor that encourages the use of simple language.
30 |
31 | **1. Create an Open Canvas for your project.**
32 | Open Canvas is adapted from Lean Canvas, a one-page format used for describing a start-up business project. Open Canvas helps you clarify the problem you aim to solve, the solution you propose, and what is especially valuable about your open project. It also helps you define your users and contributors, measurements of success, and any resources you'll need.
33 |
34 |
35 | 
36 |
37 | Here is an example of an Open Canvas grid filled in for the Mozilla Science Lab's Paper Badger Project:
38 |
39 | 
40 |
41 |
42 | Fill in the boxes in the Open Canvas format. [Here is a link to an editable version of the Open Canvas Format.](https://mozillascience.github.io/working-open-workshop/open_canvas/)
43 |
44 | **2. Write**
45 |
46 | Using the information you gathered in the Open Canvas exercise, write your readme file. Be sure to:
47 |
48 | * Say hello! Welcome people to the project.
49 | * Show what you're doing, for who, and why.
50 | * Explain what makes your project special, useful, exciting!
51 | * Show how to get started using or contribution to the project
52 | * State what resources and contributions you're looking for
53 | * Point to other key resources, such as a contributing.md file and a roadmap.
54 |
55 |
56 | **3. Remove jargon**
57 |
58 | Copy your new project description (what you're doing, for who, and why) and drop it into the [Up-Goer 5 text editor](http://splasho.com/upgoer5/). Try to rewrite the description using only allowed words. This is a great way to identify technical language that will confuse newcomers. [For reference, here's an example of a rocket ship diagram communciated in common language](http://xkcd.com/1133/).
59 |
60 | In your final readme text, don't restrict yourself to only the most common words--if you do, your project description may become overly simplified and limited. **Use what you've learned from this exercise to keep your readme as jargon-free as possible. If you use jargon, be sure to define those words.**
61 |
62 | **4. Re-write**
63 |
64 | Re-write your entire readme in clear language and define all terms. Post your readme in your GitHub repo.
65 |
66 | **Follow-up resources and materials:**
67 |
68 | See our guides on Roadmapping and writing Contributing.md files
69 |
70 | **Glossary:**
71 |
72 | * **Readme file:** a document that introduces an open project to the public and any potential contributors.
73 | * **jargon:** a type of language, especially vocabulary, that is particular to a certian trade or discipline, and is not understood by anyone outside that discipline.
74 | * **repository or repo:** a collection of documents related to your project, in which you create and save new code or content.
75 |
76 |
77 | **Any credits or attribution:**
78 |
79 | Created by Zannah Marsh, with assistance from Abby Cabunoc Mayes. Comic from XKCD; Up-Goer 5 text editor from splasho.com
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/humans.txt:
--------------------------------------------------------------------------------
1 | All the lovely humans involved in WoW Berlin 2016
2 |
3 | // Team //
4 |
5 | Mozilla Science Lab:
6 |
7 | - Abigail Cabunoc Mayes
8 | - Arliss Collins
9 | - Aurelia Moser
10 | - Zannah Marsh
11 | - Kaitlin Thaney
12 | - Stephanie Wright
13 |
14 | Mozilla Fellows:
15 | - Christie Bahlai
16 | - Richard Smith Unna
17 | - Joey Lee
18 | - Jason Bobe
19 |
20 |
21 | // Participants (and affiliations) //
22 | - Brian Bot / Sage Bionetworks /
23 | - Achintya Rao / UWE, Bristol + CERN
24 | - Fatma Guerfali/Pasteur Institute
25 | - Amel Ghouila/ Institut Pasteur de Tunis
26 | - Bastian Greshake / University of Frankfurt & openSNP
27 | - Oliver Sauter / WorldBrain - Verifying the Internet with Science / Berlin
28 | - Gabriella Azzopardi / University of Malta
29 | - Harun Urhan / FSMVU
30 | - Siddha Ganju / Carnegie Mellon University
31 | - Patricia Herterich/ CERN & Humboldt-Universitat zu Berlin
32 | - Ali Swanson/ Oxford & Zooniverse (www.zooniverse.org & www.snapshotserengeti.org)
33 | - Tom Hardwicke/ Department of Experimental Psychology, UCL
34 | - Anirudha Bose / IIIT Bhubaneswar
35 | - Shubham Gupta/ UPES
36 | - Demitri Muna / Ohio State Univ, Trillian Project
37 | - Igor Babuschkin / University of Manchester
38 | - Richard Smith-Unna / Mozilla Science Lab + Cambridge
39 | - Tim Head / project everware
40 | - Stuart Mumford / The Univeristy of Sheffield (SunPy)
41 | - Anna Krystalli/ University of Sheffield
42 | - Madeleine Bonsma / University of Toronto
43 | - Robert Sullivan / Springer Nature
44 | - Kirstie Whitaker / University of Cambridge
45 | - Anelda van der Walt / Talarify & North-West University
46 | - Jon Tennant / Imperial College London; ScienceOpen
47 | - Harry Smith / Lancaster University
48 | - Christopher Kittel / Institute for System Sciences, Uni Graz
49 | - Melissa Romaine / Mozilla, Open Web Fellows program
50 | -Sarah Allen / Mozilla
51 |
52 | // Special Thanks!! //
53 |
54 | - Luke Pacholski + the Mozilla Design team for template design.
55 | - Norma Miller from White Coat Captioning for transcribing the event!
56 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | WOW 2016
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
28 |
29 |
30 |
41 | At our first Working Open Workshop, Mozilla Science Lab staff, Fellows and community will run a set of trainings to help up-and-coming projects prepare for a strong launch on Collaborate and a successful Global Sprint in June 2016. This page will serve as a resource for all session materials.
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
Schedule
51 |
52 |
53 | The schedule can be found in the workshop repository here, the following handouts are ordered according to the scheduled session times.
54 |
55 |
56 |
Presentations
57 |
58 | Each session has a ten-minute presentation. Slides for these presentations are linked below.
59 |
95 | Each session will feature transcriptions from our guest transcriber, Norma Miller. We will publish those transcripts here as they come, stay tuned!
96 |
150 | You can find it here. We'd love for feedback on how it could be improved. Stay tuned for the Code of Conduct session at WOW (see above).
151 |
152 |
153 |
154 |
Who can I approach if I have any problems or issues to report that violate our Code of Conduct?
155 |
156 | In coordination with our Code of Conduct, we have two appointed members of our "safety team" responsible for maintaining the ethos of that code throughout the event, and providing help or resources to anyone who might require it. Reach out to the following people if you have questions, issues, or concerns that you wish to express.
157 |
212 | Open Leadership Cohort is a group of participants who have a shared experience and goal - to help further open practice in their work and community. It's what the WOW participants will be inducted into, you can read more about it on this blog.
213 |
214 |
215 |
216 |
Fellows
217 |
218 | The Mozilla Science Lab has a group of awesome fellows in our annual fellowship program, the 2015 fellows are present at WOW, and will be co-running sessions throughout the event.
219 |
43 | This activity is designed to help you identify potential users and contributors,
44 | understand their goals and motivations, help them find a way into your project,
45 | and grow them into strong, committed community members.
46 |
47 |
48 |
49 |
For beginners
50 |
51 |
52 |
53 |
54 |
55 |
Format
56 |
57 | This is a short writing/thinking exercise. Best done with a partner or small group,
58 | but can also be done alone.
59 |
60 |
61 |
62 |
63 |
Target Audience
64 |
65 | Open science project leads and Mozilla Study Group leads seeking to attract and
66 | grow communities of contributors around their projects
67 |
68 |
69 |
70 |
71 |
Materials
72 |
73 |
A timer
74 |
Pen & Paper
75 |
A way to take notes
76 |
77 |
78 |
79 |
80 |
Introduction
81 |
82 |
83 | Your open project needs users and contributors, but how can you find them, get
84 | them involved, and keep them engaged and active in your community? One way is
85 | by creating and using "personas" and "pathways" to help you plan and test how
86 | you'll interact with new contributors.
87 |
88 |
89 |
About Personas
90 |
91 |
92 | “persona” is a tool commonly used in the design world, to help create products
93 | and experiences that work for real world users (aka “user-centered design”).
94 | The persona is an imaginary user, based on real-world observations and
95 | understandings of actual potential or current users. The persona becomes
96 | real to the designer, and is used as a tool to test features and experiences
97 | (for example, a designer might ask “Would our user persona, Rodrigo, who is an
98 | avid photographer and technophile but also an introvert who’s protective of
99 | his private information, like feature x of our social media platform?”).
100 |
101 |
102 |
103 | Personas may be composites of several real-world users. The power of the
104 | persona is in its specificity; a good persona feels real, and helps a designer
105 | (or project lead) put their own perspectives aside and empathize with the needs
106 | and motivations of users.
107 |
108 |
109 |
110 |
111 |
Sample Persona
112 |
113 |
114 |
115 | Rashid is a PhD student in astronomy at a university in Southern England.
116 | He’s outgoing and a snappy dresser, favoring skinny jeans and colorful
117 | cardigans. He lives in on-campus housing and after a long day at the lab
118 | he usually rushes home to see his wife and infant son.
119 |
120 |
121 | Rashid took an intro Java programming course long ago,
122 | as an undergrad, but his research now demands Python skills. Because of the competitive nature of his lab, he’s reluctant to ask colleagues for help.
123 | He follows Mozilla Science Labs on Twitter, has some exposure to and interest to Open
124 | Science, but is hesitant to share his data for fear of being “scooped” on an important discovery.
125 |
126 |
127 |
128 |
129 |
About Pathways
130 |
131 |
132 | Once we have a persona, we can imagine how they might interact with our project.
133 | Let's imagine that this process has a few phases.
134 |
135 |
136 |
137 |
Discovery - How they first hear about the project or group.
138 |
First Contact - How they first engage with the project or group, that intial interaction.
139 |
Participation - How they first participate or contribute.
140 |
Sustained Participation - How their contribution or involvement can continue.
141 |
Networked Participation - How they may network within the community.
142 |
Leadership - How they may take on some additional responsibility on the project, or begin to lead.
143 |
144 |
145 |
146 | If we've constructed a good persona, we can clearly see a progression of steps. Example (using Rashid)
147 |
148 |
149 |
150 |
Sample Pathway
151 |
152 |
153 |
154 |
155 |
Discovery - Sees poster advertising study group around campus.
156 |
First Contact - Attends a meeting of the group, and is encouraged to return in a follow up email.
157 |
Participation - Asks and answers questions during the help session.
158 |
Sustained Participation - Attends several "hackathons" sessions throughout the semester.
159 |
Networked Participation - Invites some of his colleagues from his lab to a session.
160 |
Leadership - Agrees to present an intro session on Java, and creates a learning resource
161 | to contribute to the group's repo.
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 | As you create your pathway, ask yourself, what needs to be in place to move your persona
171 | along this pathway? What are the potential pitfalls for your persona, in terms of skills,
172 | time, motivations? Once you have a sense of this story, you might list solutions to any
173 | challenges. Here are examples:
174 |
175 |
176 |
177 |
Publicize group meetings via posters around campus as well as on twitter and via email blasts.
178 |
Collect emails of new group attendees for follow up messages.
179 |
Offer an online intro to GitHub for those who join mid-semester and missed the first sessions.
180 |
Schedule meetings for daytimes and early evenings to avoid conflicts with family schedules.
181 |
182 |
183 |
Steps to Complete
184 |
185 |
186 |
187 |
188 |
Brainstorm
189 |
190 | In groups of two, read through the following questions. Take notes! Each person
191 | should answer the question in caps in the time provided. Use a timer to keep
192 | time for each person.
193 |
194 |
195 |
196 |
197 |
Who is the person you most need in your community or on your project?
198 |
199 |
200 | Think of skills and attributes, but also give them identifying details.
201 |
202 |
203 |
204 |
205 |
What are that person's motivations and needs?
206 |
207 |
208 | Think of what might draw them to your project, what is the value for them?
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
Write
217 |
218 |
219 | Create a short description of your persona. See above "Rashid" for an example.
220 |
221 |
222 |
223 |
224 |
225 |
Plan a Pathway
226 |
227 |
228 | Using the structure above, describe a pathway for your persona. What are the steps
229 | through this project? What could be stumbling blocks for user?
230 |
231 |
232 |
233 |
234 |
235 |
List your Solutions
236 |
237 |
238 | For each potential stumbling block or barrier your user might encounter, list a
239 | solution that you'll work into your design of your group or project.
240 |
241 |
242 |
243 |
244 |
Glossary
245 |
246 |
247 |
Persona
248 |
249 | A fictional user, based on real-world observations of actual or potential users. Personas are used
250 | to test and shape the design of a product or experience, so that the final design responsive
251 | and relevant to user needs.
252 |
253 |
254 |
255 |
256 |
Follow-up Resources & Materials
257 |
258 |
259 | You may find it useful to review this handout on the creation of your CONTRIBUTING.md
260 | file in light of your new understanding of your users.
261 |
262 |
263 | You may also want to revise your project description to better appeal to your users, using this handout.
264 |
265 |
266 |
267 |
276 |
277 |
278 |
279 |
280 |
--------------------------------------------------------------------------------
/roadmap.md:
--------------------------------------------------------------------------------
1 | ##WOW Roadmap
2 |
3 | ####Goal
4 | To create materials our first Working Open Workshop, for delivery at the event in early February 2016 in Berlin. Materials include talks, handouts/tear sheets, work session formats, and activities per our schedule for the workshop.
5 |
6 | ####Timeline:
7 | Milestones are week by week in the run-up to the Workshop.
8 |
9 | ####Week ending January 15
10 |
11 | - [x] Create Repo, Readme and Roadmap
12 | - [x] Create workshop schedule
13 | - [x] Review Pre-workshop Survey Responses
14 | - [x] Check in with Design Team on visual resources for WOW
15 | - [x] Assign issues
16 | - [ ] Compile drafts (work in progress, notes, whatever you have) of [short talk outline](https://github.com/mozillascience/learning/blob/master/talk-guidelines.md) (see issues for each):
17 |
18 | **(WOW Day 1)**
19 |
20 | * Roadmapping
21 | * Crafting a Readme
22 | * Contributor Guidelines
23 | * Github for New Leads and Contributors
24 | * More Github
25 |
26 | **(WOW Day 2)**
27 |
28 | * User personas
29 | * Codes of Conduct
30 | * Events and Sprints
31 | * Data Reuse Plans
32 |
33 | ####Week Ending January 22
34 | - [ ] Holiday! MLK Day in USA
35 | - [ ] Review Drafts of Talks (above)
36 | - [ ] Revise Talks
37 | - [ ] Design visual format for talk assets/slides
38 | - [ ] Draft [tearsheets/handouts for talks](https://github.com/mozillascience/learning/blob/master/resource-template.md)
39 | - [ ] Create plan for curriculum work during Fellows Workweek
40 | - [ ] Plan format for Kits
41 |
42 | ####Week ending January 29
43 | - [ ] Revise tearsheets/handouts
44 | - [ ] Create visuals for talks/slides
45 | - [ ] Review all materials
46 | - [ ] Build kits
47 |
48 | ####Week ending February 6
49 | - [ ] Catch up
50 | - [ ] Testing and revision with Fellows
51 | - [ ] Some production with Fellows
52 | - [ ] Run the workshop!
53 |
--------------------------------------------------------------------------------
/roadmapping/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Intro to Roadmapping
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
30 |
31 |
32 |
42 | This activity is designed to help you write a Roadmap for your open source project or Mozilla Science study group.
43 |
44 |
45 |
46 |
For beginners
47 |
48 |
49 |
50 |
51 |
52 |
Format
53 |
54 | This is a short writing/thinking exercise. Best done with a partner or small group,
55 | but can also be done alone.
56 |
57 |
58 |
59 |
60 |
Target Audience
61 |
62 | Open science project leads and Mozilla Study Group leads seeking to attract and
63 | grow communities of contributors around their projects
64 |
65 |
66 |
67 |
68 |
Materials
69 |
70 |
Computer
71 |
Your favourite browser
72 |
GitHub account
73 |
Open source project on GitHub
74 |
75 |
76 |
77 |
78 |
Introduction
79 |
80 |
81 | When you're starting on an open source project, it's important to record what your community (this might just be you at the beginning) decides to work on! A roadmap organizes the tasks that nees to be done on a project around milestones. This helps potential contributors understand the current status of your poject and where it's going next.
82 |
83 |
84 |
85 | A roadmap can also express your vision for the project. Make sure you clearly state why you are implementing certain things to get people excited about joining.
86 |
87 |
88 |
89 | This can be as simple as a collection of issues in your issue tracker, or a detailed timeline complete with milestones. It's up to you to choose what works best for your community! At the Mozilla Science Lab, we break our Roadmaps into three sections:
90 |
91 |
92 |
93 |
94 |
Roadmap Structure
95 |
If your roadmap is more than a list of issues, we recommend three sections to welcome new contributors.
96 |
97 |
98 |
99 | 1. Project Mission & Summary (optional) - Welcome and orient visitors to your project. Users may have been linked directly to the Roadmap, it's important to help them understand where they are.
100 |
101 |
102 | 2. How to Get Involved (optional) - New contributors might want to jump in right away! This points them to parts of the project they can immediately work on.
103 |
104 |
105 | 3. Timeline - The star of the roadmap!
106 | This section organizes tasks needed to complete your project around milestones, mapping out what you're working on now and where it's going next. This can be as simple as a list of issues in your issue tracker.
107 |
124 | Use this space to orient and welcome new visitors. Start with the project name along with your mission statement or a clear summary of what you are doing. If you've already written a README, you can adapt the summary and add a shorter version here.
125 |
126 |
127 |
128 | For more information on writing a project mission statement or summary, see the Writing a README Exercise.
129 |
130 |
131 |
132 |
133 |
134 |
135 |
Write "How to Get Involved"
136 |
137 |
138 | New contributors might want to jump in right away! This points them to parts of the project they can immediately work on.
139 |
140 |
141 |
142 |
143 |
144 |
Pick Milestones
145 |
146 |
147 | Depending on your project, milestones can vary from development goals to events. Here are some milestones you can use:
148 |
149 |
150 |
151 |
Project Status Goals
152 |
Are you working to implement your MVP (minimum viable product) or a specific feature? Your milestones can be completing a feature or a release.
153 |
examples: Get your project on Collaborate, build an MVP
154 |
155 |
156 |
Dates
157 |
If you have deadlines or a set time to work on this project, use this as a milestone!
158 |
159 |
160 |
Events
161 |
If you'll be sprinting or demoing your project at an event, it's helpful to know what you'll need to complete before and during the event.
162 |
examples: Mozilla Science Lab Global Sprint prep work, MozFest sprint tasks
163 |
164 |
165 |
Short, Medium & Long Term
166 |
When working with volunteers, it can be difficult to set hard deadlines. When unsure, you can use short, medium and long term milestones.
167 |
168 |
Short term - things you are working on now
169 | Medium term - things contributors can start working on that is not currently being worked on
170 | Long term - you can describe where your project is going here
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
List Tasks to Complete for Each Milestone
179 |
180 |
Create an issue for each task. Take time to describe the task along with why you are doing this task.
181 | This will strengthen the vision for your project and help others get involved.
182 |
Tips for issues: Include as much context and help as possible! Add links, mention specific people involved
183 | by their username (i.e. @acabunoc). Articulate the problem or idea along with solutions and next steps.
184 |
Link to these issues in your Roadmap under each milestone. Congrats! You now have a Roadmap with tasks.
185 |
186 |
187 |
188 |
Glossary
189 |
190 |
191 |
Roadmap
192 |
193 | A document outlining the schedule of work to be done on a project.
194 |
195 |
196 |
197 |
Milestone
198 |
199 | An event or state marking a specific stage in development on the project.
200 |
40 | This activity is designed to help you identify potential users and contributors,
41 | understand their goals and motivations, help them find a way into your project,
42 | and grow them into strong, committed community members.
43 |
44 |
45 |
46 |
For beginners
47 |
48 |
49 |
50 |
51 |
52 |
Format
53 |
54 | This is a short writing/thinking exercise. Best done with a partner or small group,
55 | but can also be done alone.
56 |
57 |
58 |
59 |
60 |
Target Audience
61 |
62 | Open science project leads and Mozilla Study Group leads seeking to attract and
63 | grow communities of contributors around their projects
64 |
65 |
66 |
67 |
68 |
Materials
69 |
70 |
A timer
71 |
Pen & Paper
72 |
A way to take notes
73 |
74 |
75 |
76 |
77 |
Introduction
78 |
79 |
80 | Your open project needs users and contributors, but how can you find them,
81 | get them involved, and keep them engaged and active in your community?
82 | One way is by creating and using "personas" and "pathways" to help you.
83 |
84 |
85 |
86 | A “persona” is a tool commonly used in the design world, to help create products
87 | and experiences that work for real world users (aka “user-centered design”).
88 | The persona is an imaginary user, based on real-world observations and understandings
89 | of actual potential or current users. The persona becomes real to the designer,
90 | and is used as a tool to test ideas and experiences (for example, a designer
91 | might ask “Would our user persona, Rodrigo, who is an avid photographer and
92 | technophile but also an introvert who’s protective of his private information,
93 | like feature x of our social media platform?”).
94 |
95 |
96 |
97 | Personas may be composites of several real-world users. The power of the
98 | persona is in its specificity; a good persona feels real, and helps a designer
99 | (or project lead) put their own perspectives aside and empathize with the needs
100 | and motivations of users.
101 |
102 |
103 |
104 |
105 |
Sample Persona
106 |
107 |
108 |
109 | Rashid is a PhD student in astronomy at a university in Southern England.
110 | He’s outgoing and a snappy dresser, favoring skinny jeans and colorful cardigans.
111 | He lives in on-campus housing and after a long day at the lab he usually rushes home
112 | to see his wife and infant son.
113 |
114 |
115 | Rashid took an intro Java programming course long ago,
116 | as an undergrad, but his research now demands Python skills. He attended a two-day
117 | Software Carpentry workshop at his institution.
118 |
119 |
120 |
121 |
122 |
About Pathways
123 |
124 |
125 | Once we have a persona, we can imagine how they might interact with our project.
126 | Let's imagine that this process has a few phases.
127 |
128 |
129 |
130 |
Discovery - How they first hear about the project or group.
131 |
First Contact - How they first engage with the project or group, that intial interaction.
132 |
Participation - How they first participate or contribute.
133 |
Sustained Participation - How their contribution or involvement can continue.
134 |
Networked Participation - How they may network within the community.
135 |
Leadership - How they may take on some additional responsibility on the project, or begin to lead.
136 |
137 |
138 |
139 | As you create your pathway, ask yourself, what needs to be in place to move Rashid along this pathway?
140 | What are the potential pitfalls for Rashid-- in terms of his skills, his time, his motivations?
141 | Once you have a sense of this story, you might list solutions to any challenges.
142 | Here are a few examples…
143 |
144 |
145 |
146 |
Publicize group meetings via posters around campus as well as on twitter and via email blasts.
147 |
Collect emails of new group attendees for follow up messages.
148 |
Offer an online intro to GitHub for those who join mid-semester and missed the first sessions.
149 |
Schedule meetings for daytimes and early evenings to avoid conflicts with family schedules.
150 |
151 |
152 |
Steps to Complete
153 |
154 |
155 |
156 |
157 |
Brainstorm
158 |
159 | In groups of two, read through the following questions. Take notes! Each person
160 | should answer the question in caps in the time provided. Use a timer to keep
161 | time for each person.
162 |
163 |
164 |
165 |
166 |
Who is the person you most need in your community or on your project?
167 |
168 |
169 | Create a persona for this user. Think of the skill set or attributes you want,
170 | but ALSO give them a name, age, a place to live, life circumstances (single,
171 | married? family? student? mid-career?), what they like and don’t like, etc.
172 | This may seem superfluous, but the more real the persona feels to you, the
173 | more useful they’ll be. Have fun with this!
174 |
175 |
176 |
177 |
178 |
What are that person's motivations and needs?
179 |
180 |
181 | What’s likely to get your persona engaged and excited? What are their personal
182 | goals? Why might they be drawn to your project? What might be the value for
183 | them — what can they get out of it?
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
Write
192 |
193 |
194 | Create a short description of your persona. See above "Rashid" for an example.
195 |
196 |
197 |
198 |
199 |
200 |
Plan a Pathway
201 |
202 |
203 | Using the structure above, describe a pathway for your persona. What are the steps through
204 | this project? What could stumbling blocks for user? What skills, info, or resources are
205 | missing that they”ll need to better engage with the project? What kinds of things might
206 | drive them away from your project?
207 |
208 |
209 |
210 |
211 |
212 |
List your Solutions
213 |
214 | For each potential stumbling block or difficulty your user might encoutner, list a solution
215 | that you'll work into your design of your grop or project.
216 |
217 |
218 |
219 |
220 |
Glossary
221 |
222 |
223 |
First Term
224 |
225 | A fictional user, based on real-world observations of actual or potential users. personas are used
226 | to test and shape the design of a product or experience, so that the final design responsive
227 | and relevant to user needs.
228 |
229 |
230 |
231 |
Another Term
232 |
233 | A fictional user, based on real-world observations of actual or potential users. personas are used
234 | to test and shape the design of a product or experience, so that the final design responsive
235 | and relevant to user needs.
236 |
237 |
238 |
239 |
240 |
Follow-up Resources & Materials
241 |
242 |
243 | You may find it useful to review this handout on the the creation of your Contributing.md
244 | file in light of your new understanding of your users.
245 |
246 |
247 | You may also want to revise your proejct description to better appeal to your users, using this handout.
248 |
249 |
250 |
251 |
260 |
261 |
262 |
263 |
--------------------------------------------------------------------------------
/wow-schedule.md:
--------------------------------------------------------------------------------
1 | ##WOW SCHEDULE
2 |
3 | ###DAY 1: FRIDAY
4 |
5 | ####Arrivals & Breakfast
6 | *8:30am - 9:30am* (Breakfast served at 9:00am)
7 |
8 | ####Welcome & Intros
9 | *9:15am - 9:35am* - Short intros: name, affliation, project, interest (30 sec each!)
10 |
11 | *9:35am - 9:40am* - Introducing the Open Leaders Cohort Program
12 |
13 | *9:40 - 10:00am* - Diversity & Inclusion Exercise
14 |
15 | **Break** (25 mins)
16 |
17 | ####How to Open Your Project
18 | *10:15am - 12:30pm*
19 |
20 | **Short Talks** (10 mins each - 30 mins total)
21 |
22 | * Readme and project communication (Zannah)
23 | * Roadmapping (Abby)
24 | * Contributor Guidelines (Aurelia)
25 |
26 | **Break** (15 mins)
27 |
28 | **Work Session** (1 hour 45 mins-ish)
29 |
30 | * small groups of 3 to 4
31 | * facilitator-led work zones for Roadmapping, Readme, Contributor Guidelines
32 | * participants move from zone to zone to work on deliverables, for as long as needed; check-in at 30 min mark
33 | * facilitators provide one-on-one feedback and guidance
34 | * cross-group work is welcome, for feedback and discussion
35 |
36 | **Feedback/reflections** (20 mins)
37 |
38 | ####Lunch
39 | *12:30pm - 2:30pm*
40 |
41 | ####Tools for Collaboration
42 | *2:30pm - 5:30pm*
43 |
44 | #####GitHub for New Project Leads and Contributors (Abby, Zannah, Joey)
45 | **Short Talk with Demo** (20-30 mins)
46 |
47 | * intro to version control, model, uses,
48 | * putting our checklist and new docs in github
49 | * basics on branches, forks, merges, pull requests
50 | * polite collaboration
51 |
52 | **Break** (25 mins)
53 |
54 | **Work session/small groups** (1 hour 45)
55 |
56 | **Feedback/reflections** (20 mins)
57 |
58 |
59 | ### DAY 2: SATURDAY
60 |
61 | ####Arrivals & Breakfast:
62 | *9:00am - 9:30am*
63 |
64 |
65 | ####Community Building and Managment
66 | *9:30am - 12:30pm*
67 | **Short Talks** (10 mins each - 30 mins total)
68 |
69 | * Code of Conduct (Kaitlin)
70 | * Event Planning (Madeleine + Arliss)
71 | * Personas and Pathways (Zannah)
72 |
73 | **Break** (25 mins)
74 |
75 | **Work session/small groups** (1 hour 45 mins)
76 |
77 | ####Lunch
78 | *12:30pm - 1:30pm*
79 |
80 | ####Open Data & Data Reuse Plans
81 | *1:30pm - 2:45pm*
82 |
83 | **Short talk** (10-15 mins)
84 |
85 | * Open Data and Data Reuse Plans (Steph & Christie)
86 |
87 | **Work session** (45 mins)
88 |
89 | **Wrap up** (10 mins)
90 |
91 | ####Closing
92 | *2:45 - 3:00*
93 |
94 |
95 |
--------------------------------------------------------------------------------
/writing_readme/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Open Project Communication
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
30 |
31 |
32 |
42 | Create a useful and welcoming readme file for your open project.
43 |
44 |
45 |
46 |
For beginners
47 |
48 |
49 |
50 |
51 |
52 |
Format
53 |
54 | This exercise works well as an in-person or online exercise. You can work alone, or in a group.
55 |
56 |
57 |
58 |
59 |
Target Audience
60 |
61 | Project leads
62 |
63 |
64 |
65 |
66 |
Materials
67 |
68 |
A computer and an internet connection.
69 |
An open project you want to tell people about.
70 |
71 |
72 |
73 |
74 |
Introduction
75 |
76 |
77 | When you open your project, you may have a specific audience in mind (for example, software developers or other researchers in your field)... but you can reach a much broader community! Many people outside of your field-- designers, technical writers, citizen scientists-- may be interested in your project and have valuable contributions to offer! Clearly communicating information about your project in simple language is an excellent way to grow and diversify your community.
78 |
79 |
The readme file is one of the first things you add to your project repository. It introduces your project idea and goals. Along with the contributing file, the roadmap, and your Code of Conduct, the readme file helps welcome, orient, and encourage newcomers to participate.
80 |
81 |
The following steps are designed to help you create an effective readme file. First, you'll use a tool called Open Canvas to define and organize key information about your project. Then you'll write a readme file and test it for clarity, using an online text editor that encourages the use of simple language.
82 |
83 |
Steps to Complete
84 |
85 |
86 |
87 |
88 |
Create an Open Canvas for your project
89 |
90 | Open Canvas is adapted from Lean Canvas, a one-page format used for describing a start-up business project. Open Canvas helps you clarify the problem you aim to solve, the solution you propose, and what is especially valuable about your open project. It also helps you define your users and contributors, measurements of success, and any resources you'll need.
91 |
92 |
93 |
Here is an example of an Open Canvas grid filled in for the Mozilla Science Lab's Paper Badger Project:
102 | Using the information you gathered in the Open Canvas exercise, write your readme file. Be sure to:
103 |
104 |
Say hello! Welcome people to the project.
105 |
Show what you're doing, for who, and why.
106 |
Explain what makes your project special, useful, exciting!
107 |
Show how to get started using or contribution to the project
108 |
State what resources and contributions you're looking for
109 |
Point to other key resources, such as a contributing.md file and a roadmap.
110 |
111 |
112 |
113 |
114 |
Remove Jargon!
115 |
116 | Copy your new project description (what you're doing, for who, and why) and drop it into the Up-Goer 5 text editor. Try to rewrite the description using only allowed words. This is a great way to identify technical language that will confuse newcomers. For reference, here's an example of a rocket ship diagram communciated in common language.
117 |
118 |
In your final readme text, don't restrict yourself to only the most common words--if you do, your project description may become overly simplified and limited. Use what you've learned from this exercise to keep your readme as jargon-free as possible. If you use jargon, be sure to define those words.
119 |
120 |
121 |
122 |
Re-write
123 |
124 | Re-write your entire readme in clear language and define all terms. Share your new readme in your project repository.
125 |
126 |
127 |
128 |
Glossary
129 |
130 |
131 |
Readme file
132 |
133 | a document that introduces an open project to the public and any potential contributors.
134 |
135 |
136 |
137 |
138 |
jargon
139 |
140 | a type of language, especially vocabulary, that is particular to a certian trade or discipline, and is not understood by anyone outside that discipline.
141 |
142 |
143 |
144 |
145 |
repository or repo
146 |
147 | a collection of documents related to your project, in which you create and save new code or content.
148 |