<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Github</title><link>https://jwheel.org/tags/github/</link><description>Homepage of Justin Wheeler, an Open Source contributor and Free Software advocate from Georgia, USA.</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Justin Wheeler</managingEditor><lastBuildDate>Mon, 12 Oct 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/tags/github/index.xml" rel="self" type="application/rss+xml"/><item><title>Hacktoberfest 2020 with TeleIRC</title><link>https://jwheel.org/blog/2020/10/hacktoberfest-2020-with-teleirc/</link><pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/10/hacktoberfest-2020-with-teleirc/</guid><description><![CDATA[<p>October is here! If you contribute to Open Source projects, you might know that October is the month of Hacktoberfest. <a href="https://hacktoberfest.digitalocean.com/">DigitalOcean teams up</a> with different partners each year to send a t-shirt (or plant a tree on your behalf) for anyone who makes four GitHub Pull Requests in October. And guess what? TeleIRC is a participating project for you to get your Hacktoberfest t-shirt or tree!</p>
<p>This post identifies specific tasks the TeleIRC team identified as &ldquo;good first issues&rdquo; for Hacktoberfest hackers. They are in order of least difficult to most difficult. Golang developers especially are encouraged to participate!</p>

<h2 id="why-work-on-teleirc-for-hacktoberfest">Why work on TeleIRC for Hacktoberfest?&nbsp;<a class="hanchor" href="#why-work-on-teleirc-for-hacktoberfest" aria-label="Anchor link for: Why work on TeleIRC for Hacktoberfest?">🔗</a></h2>
<p>Before sharing how you can contribute for Hacktoberfest, what about <em>why</em> you should contribute?</p>
<p>TeleIRC originally launched in 2016. Since then, we have <a href="https://jwfblog.wpenginepowered.com/tag/teleirc/">built up a community of users</a> around the world. TeleIRC is also used in other larger Open Source projects like the Fedora Project and LibreOffice! Of course, it is still used in the Rochester Institute of Technology community where it was first developed.</p>
<p>Working on TeleIRC means you can contribute to a project that is actually used in the real world. Hundreds of user communities, some even the size of thousands of people, use TeleIRC. Your improvements and changes will help the many downstream users of our project. (P.S. – See the full list of <a href="https://docs.teleirc.com/en/latest/about/who-uses-teleirc/">who uses TeleIRC</a> in our docs!)</p>
<p>With that out of the way… let&rsquo;s talk about what there is to do!</p>

<h2 id="1-large-messages-go-to-a-pastebin">#1: Large messages go to a pastebin&nbsp;<a class="hanchor" href="#1-large-messages-go-to-a-pastebin" aria-label="Anchor link for: #1: Large messages go to a pastebin">🔗</a></h2>
<p>This corresponds to <a href="https://github.com/RITlug/teleirc/issues/56">RITlug/teleirc#56</a>.</p>
<ul>
<li><strong>Goal</strong>: When a Telegram user writes a single line that exceeds the maximum number of characters for an IRC message (512 characters, per <a href="https://www.rfc-editor.org/rfc/rfc1459.html#section-2.3">RFC 1459, section 2.3</a>), send the string to a pastebin service.</li>
<li><strong>Success criteria</strong>: Any line greater than 512 characters is sent to a pastebin-like service.</li>
<li><strong>What we think</strong>: Note the difference between &ldquo;lines&rdquo; and &ldquo;messages&rdquo;. Telegram users can add line breaks to messages. TeleIRC should respect those line breaks as new IRC messages. So, only a single line that exceeds the maximum should go to a pastebin-like service.</li>
</ul>

<h2 id="2-telegram-poll-handler">#2: Telegram Poll handler&nbsp;<a class="hanchor" href="#2-telegram-poll-handler" aria-label="Anchor link for: #2: Telegram Poll handler">🔗</a></h2>
<p>This corresponds to <a href="https://github.com/RITlug/teleirc/issues/267">RITlug/teleirc#267</a>.</p>
<ul>
<li><strong>Goal</strong>: Send text representations of Telegram Polls to IRC. Currently, Polls are ignored by TeleIRC and do not appear in any way on IRC.</li>
<li><strong>Success criteria</strong>: If a Telegram user sends a Poll to a group, a text representation should appear in IRC.</li>
<li><strong>What we think</strong>: IRC users will not be able to participate in Polls. This is a platform limitation. However, IRC users should get some context about what a Poll includes, e.g. what the question is and what answer choices are available.</li>
</ul>

<h2 id="3-support-more-encoding-types-eg-cp1251">#3: Support more encoding types (e.g. CP1251)&nbsp;<a class="hanchor" href="#3-support-more-encoding-types-eg-cp1251" aria-label="Anchor link for: #3: Support more encoding types (e.g. CP1251)">🔗</a></h2>
<p>This corresponds to <a href="https://github.com/RITlug/teleirc/issues/332">RITlug/teleirc#332</a>.</p>
<ul>
<li><strong>Goal</strong>: Support more string encoding types than UTF-8.</li>
<li><strong>Success criteria</strong>: If a Telegram user writes a message in Cyrillic script, it should appear in Cyrillic script on IRC (if the server supports it, e.g. CP1251).</li>
<li><strong>What we think</strong>: This is one of the toughest issues we have and requires knowledge about string encoding methods. The current core developers are native English speakers and we do not use other languages that have non-Latin script. The GitHub issue has more info, but it will need additional research or knowledge about string encoding.</li>
</ul>

<h2 id="need-hacktoberfest-help-come-talk-to-us">Need Hacktoberfest help? Come talk to us!&nbsp;<a class="hanchor" href="#need-hacktoberfest-help-come-talk-to-us" aria-label="Anchor link for: Need Hacktoberfest help? Come talk to us!">🔗</a></h2>
<p><strong>Want to work on any of these?</strong> Add a new comment to the GitHub Issue and let us know you are interested in working on it.</p>
<p><strong>Have questions about the project or getting started?</strong> Come talk with the TeleIRC team! Of course, you can find us both on IRC (<code>#rit-lug-teleirc</code> on Freenode IRC) and Telegram (<a href="https://t.me/teleirc">@teleirc</a>).</p>
<p>Additionally, the TeleIRC team meets virtually <strong>every Sunday at 11:00 U.S. EDT / 15:00 UTC</strong>. Ask us for a calendar invite in our team chat if you would like one!</p>]]></description></item><item><title>CHAOSScon EU 2020: play by play</title><link>https://jwheel.org/blog/2020/02/chaosscon-eu-2020-play-by-play/</link><pubDate>Tue, 25 Feb 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/02/chaosscon-eu-2020-play-by-play/</guid><description><![CDATA[<p>CHAOSScon EU 2020 took place on Friday, 31 January, 2020 in Brussels, Belgium (the day after <a href="https://jwfblog.wpenginepowered.com/2020/02/sustain-oss-2020-quick-rewind/">Sustain OSS 2020</a>):</p>
<blockquote>
<p>Learn about open source project health metrics and tools used by open source projects, communities, and engineering teams to track and analyze their community work. This conference will provide a venue for discussing open source project health, CHAOSS updates, use cases, and hands-on workshops for developers, community managers, project managers, and anyone interested in measuring open source project health. We will also share insights from the CHAOSS working groups on Diversity and Inclusion, Evolution, Risk, Value, and Common Metrics.</p>
<p><a href="https://web.archive.org/web/20200219170041/https://chaoss.community/chaosscon-2020-eu/">chaoss.community/chaosscon-2020-eu/</a></p>
</blockquote>
<p>This is my second time attending CHAOSScon. I attended on behalf of <a href="https://fossrit.github.io/librecorps/">RIT LibreCorps</a> to represent our engagement with the <a href="https://www.unicef.org/innovation/">UNICEF Office of Innovation</a> and the <a href="https://unicefinnovationfund.org/">Innovation Fund</a>. For CHAOSScon EU 2020, I arrived hoping to learn more about effective metric collection strategies for open source communities and also get a deeper understanding of the technology behind <a href="https://chaoss.github.io/grimoirelab/">GrimoireLab</a>.</p>

<h2 id="sessions-play-by-play">Sessions: Play-by-play&nbsp;<a class="hanchor" href="#sessions-play-by-play" aria-label="Anchor link for: Sessions: Play-by-play">🔗</a></h2>
<p>Event reports take many forms. My form is an expanded version of my session notes along with key takeaways. Said another way, my event report is biased towards what is interesting to me. You can also skim the headings to find what interests you.</p>
<p>Also, I live-tweeted several sessions of CHAOSScon EU 2020, so some sections include tweet excerpts with pictures.</p>

<h3 id="ethics-what-you-know--what-you-dont-know">Ethics: What You Know &amp; What You Don&rsquo;t Know&nbsp;<a class="hanchor" href="#ethics-what-you-know--what-you-dont-know" aria-label="Anchor link for: Ethics: What You Know &amp; What You Don&rsquo;t Know">🔗</a></h3>
<blockquote>
<p>Metrics give us a lot of insight into what&rsquo;s going on with our projects &ndash; but only if we have enough context. The catch is that personal biases and pre-conceptions are extremely hard to filter for so no one person can see everything. Those gaps means that even the most well-meaning of us could end up doing more harm than good. In this talk, I&rsquo;ll share a few examples of the ways human brains make assumptions, some of our typical blind spots and how incomplete data can cause harm when deployed without any checks. For folks who collect, analyze and ultimately make mission critical decisions with metrics, the challenge is to constantly maintain a bit of healthy skepticism of what the numbers seem to be telling us.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-deb-nicholson">Deb Nicholson</a></p>
</blockquote>
<p>Deb&rsquo;s session was a great opener to a day focused on metrics and automated reporting. Her talk underscored unconscious bias and the ways poorly-designed metrics fail us. We should take an active approach to questioning our perspectives and take suggestions with grace.</p>
<p>During Q&amp;A, my colleague <a href="https://nolski.rocks/">Mike</a> asked for advice on pushing back on management when they ask for bad metrics. Deb suggested a clever strategy to respond in these situations:</p>
<ol>
<li>Provide the metric asked for</li>
<li>Provide a metric that contradicts what was asked for</li>
<li>Provide the metric they should have asked for</li>
</ol>

<h3 id="heat-light-and-love-telling-twitters-open-source-program-offices-story">Heat, Light, and Love: Telling Twitter&rsquo;s Open Source Program Office&rsquo;s Story&nbsp;<a class="hanchor" href="#heat-light-and-love-telling-twitters-open-source-program-offices-story" aria-label="Anchor link for: Heat, Light, and Love: Telling Twitter&rsquo;s Open Source Program Office&rsquo;s Story">🔗</a></h3>
<blockquote>
<p>Making it simple to trust, ship, and grow open source at Twitter demanded visibility into contribution trends that were not readily available. Twitter&rsquo;s open source program office and the Augur project collaborated with CHAOSS using student interns from Google&rsquo;s Summer of Code, Twitter&rsquo;s intern program and the University of Missouri. First, this talk describes Twitter&rsquo;s engaging interface design and its fit to the needs of Open Source stakeholders within Twitter, but also outside the open source program office. Second, we describe how an open API and data collection tool, Augur, evolved in close collaboration with Twitter.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-sean-goggins">Sean Goggins</a> &amp; <a href="https://chaoss.community/chaosscon-2020-eu/#user-content-remy-decausemaker">Remy DeCausemaker</a></p>
</blockquote>
<p>This one inspired me. It represented a dream of mine for many open source communities. Sean and Remy presented on three years of building an <a href="https://twitter.github.io/year-in-review">automated metrics visualization site</a> with <a href="https://chaoss.github.io/grimoirelab/">GrimoireLab</a> and <a href="https://github.com/chaoss/augur">Augur</a>. The visualization was powerful to communicate the value of open source engagement, participation, and investment to internal and external stakeholders.</p>
<p>The work was based on a philosophy familiar to me from working with Remy years ago in the Fedora Project community:</p>
<p>
<figure>
  <img src="/blog/2020/02/Screenshot_2020-02-21-Twitter-Open-Source.png" alt="From CHAOSScon EU 2020: Twitter&rsquo;s open source philosophy: heat, light, and love" loading="lazy">
  <figcaption>Twitter’s open source philosophy: heat, light, and love</figcaption>
</figure>
</p>
<p>If we are speaking in metaphors, one way to extend Remy&rsquo;s &ldquo;light&rdquo; metaphor is tying in a theatrical concept: <strong>stage lights and backstage lights</strong>.</p>
<p>Stage lights are the metrics and insights to present out to the world. They are front and center! These insights validate your mission to an external audience.</p>
<p>Backstage lights are for an internal audience. These metrics and insights illuminate the inside of an organization and build understanding of who and what is there. These are useful to validate work and efforts to funders, or perhaps your CFO.</p>
<p>This talk served as inspiration for something I hope to explore later in 2020.</p>

<h3 id="measuring-culture">Measuring Culture&nbsp;<a class="hanchor" href="#measuring-culture" aria-label="Anchor link for: Measuring Culture">🔗</a></h3>
<blockquote>
<p>They say you can’t be certain of anything unless it can be measured – so what about culture? We know it exists and can be passed on to others, so there must be a way to measure it. Using Apache Kibble we attempt to look for cultural indicators at the Apache Software Foundation, set a cultural benchmark then match real Apache projects against it. In theory we would expect a perfect match but as the results show, culture isn’t that simple.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-sharan-foga">Sharan Foga</a></p>
</blockquote>

<blockquote>
<p>Sharan introduced five factors to measure culture: <strong>bus factor, contributor experience, contributor retention, sentiment analysis, and key phrase extraction</strong>.</p>
</blockquote>
<p>Sharan defined culture as what we believe <em>and</em> what we do. So, she introduced five indicators for open source communities to measure culture. These came from learnings at the <a href="https://apache.org/foundation/">Apache Software Foundation</a>&rsquo;s <a href="https://kibble.apache.org/">Kibble project</a>:</p>
<ul>
<li><strong>Pony (&ldquo;bus&rdquo;) factor</strong>:
<ul>
<li>&ldquo;Committership&rdquo;</li>
<li>Authorship</li>
<li>Meta factor (# of organizations involved)</li>
</ul>
</li>
<li><strong>Contributor experience / contributor retention</strong>:
<ul>
<li>People who (re)joined</li>
<li>People who quit (why?)</li>
<li>People retained</li>
<li>Active contributors</li>
<li>Cross the above over time (e.g. # of months/years involved)</li>
</ul>
</li>
<li><strong>Mood, or sentiment analysis</strong>: Look for these moods…
<ul>
<li>Trust</li>
<li>Surprise</li>
<li>Neutrality</li>
<li>Sadness</li>
<li>Positivity</li>
<li>Anger</li>
<li>Negativity</li>
<li>Joy</li>
<li>Anticipation</li>
<li>Disgust</li>
<li>Fear</li>
</ul>
</li>
<li><strong>Key phrase analysis</strong>: Understand community jargon (e.g. if &ldquo;+1&rdquo; is used to indicate agreement)</li>
</ul>
<p>I had two key takeaways. First, <strong>nothing matches completely</strong>, so don&rsquo;t over-rely on one factor or metric. Second, <strong>identify <em>your</em> baseline indicators and iterate</strong> on those. For the above indicators, maybe these are specific to Apache projects. Maybe they apply to your projects too… or maybe they don&rsquo;t!</p>

<h3 id="meet-cauldron-your-saas-software-development-analytics-solution">Meet Cauldron! Your SaaS Software Development Analytics solution&nbsp;<a class="hanchor" href="#meet-cauldron-your-saas-software-development-analytics-solution" aria-label="Anchor link for: Meet Cauldron! Your SaaS Software Development Analytics solution">🔗</a></h3>
<blockquote>
<p>Cauldron is a brand-new free <strong>open source SaaS</strong> able to analyze software development community and processes. It relies on <a href="https://chaoss.github.io/grimoirelab">CHAOSS GrimoireLab</a> to collect and process data from different tools used in software development such as git, GitLab, GitHub and/or social platforms like Meetup, and <a href="https://opendistro.github.io/for-elasticsearch/"><strong>Open Distro for ElasticSearch</strong></a> to store and to display the project data. The talk shows how Cauldron can be easily put into action to analyze the software projects that matter to the attendees, and to get some CHAOSS metrics about them.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-jose-manrique-lopez-de-la-fuente">Jose Manrique Lopez de la Fuente</a></p>
</blockquote>

<p>I had no written notes other than &ldquo;wow!&rdquo;</p>
<p><em>Finally</em>, Bitergia built a hosted GrimoireLab service, called <a href="https://cauldron.io/"><strong>Cauldron</strong></a>. Cauldron takes the pain out of hosting your own GrimoireLab infrastructure. It is in early alpha and does not support all the data sources available in GrimoireLab yet, but it is promising.</p>
<p>In the <a href="https://fossrit.github.io/about/">FOSS@MAGIC community</a>, we want GrimoireLab to understand our open source community at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, home of the <a href="https://www.rit.edu/study/free-and-open-source-software-and-free-culture-minor">first academic minor</a> in free/open source. But as I go deeper, I realize GrimoireLab is very complex. Since my contract with RIT ends in a month, I want to leave something sustainable for my successors. Cauldron seems like a valid option.</p>
<p>I have some homework to do!</p>

<h3 id="language-barriers-for-open-source-contributors">Language barriers for open source contributors&nbsp;<a class="hanchor" href="#language-barriers-for-open-source-contributors" aria-label="Anchor link for: Language barriers for open source contributors">🔗</a></h3>
<blockquote>
<p>While open source development is common across the world, projects from countries outside North America and Europe, such as China, have difficulties attracting international contributors. One major reason for this is language differences. The presentation provides an overview of the diversity of non-native English speakers in different open source ecosystems. Furthermore, we will provide results about whether or not those contributors face a language barrier when contributing to open source projects. The presentation concludes with a discussion on how we can create metrics to assess the spoken language diversity in open source communities and how to include those people in the community more easily.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-isabella-vieira-ferreira">Isabella Vieira Ferreira</a></p>
</blockquote>


<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Fascinating work from <a href="https://twitter.com/isaferreira_57?ref_src=twsrc%5Etfw">@isaferreira_57</a> on language barrier in <a href="https://twitter.com/hashtag/opensource?src=hash&amp;ref_src=twsrc%5Etfw">#opensource</a>. <a href="https://twitter.com/hashtag/choasscon?src=hash&amp;ref_src=twsrc%5Etfw">#choasscon</a><br><br>Contributing + participating in a project operating in a language (technical too!) that&#39;s not one&#39;s first always require more effort– a useful reminder to be kind and empathetic 💖💖 <a href="https://t.co/3cJ6qWWSsH">https://t.co/3cJ6qWWSsH</a></p>&mdash; Emmy Tsang (@emmy_ft) <a href="https://twitter.com/emmy_ft/status/1223240475395678208?ref_src=twsrc%5Etfw">January 31, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>Isabella&rsquo;s talk was insightful and challenged my unconscious bias. An interesting insight from two case studies was translators did not transition over time to software development contributions.</p>
<p>I believe a bias exists in open source projects with active localization communities. I have seen project leaders invest in localization efforts as one way to bring new people into a community. While it does bring new people in, there is a subtle implication that &ldquo;bringing new people in&rdquo; means bringing software contributions. That&rsquo;s not always the case. Instead, the value of translation work needs to be quantified beyond just software contributions.</p>
<p>This is especially true for supporting grassroots advocacy communities. Localization may not build your developer community, but it can support stronger local communities in regions where English is not the first language.</p>

<h3 id="metrics-are-more-than-the-sum-of-their-parts">Metrics are more than the sum of their parts&nbsp;<a class="hanchor" href="#metrics-are-more-than-the-sum-of-their-parts" aria-label="Anchor link for: Metrics are more than the sum of their parts">🔗</a></h3>
<blockquote>
<p>We are in a state of Community building that maps success to metrics like lines of code and GitHub stars. I would like us to explore where these metrics fall short on capturing the most significant value of a community, and how we can use other metrics to show the much larger impact Community organizations like Developer Relations (DevRel) can have on a business. This improved process begins with mapping value to business need, pairing it with a community need, and back to the business opportunities. There will be practical advice on how to pitch and position Community, whether you’re a Community Manager, Developer Advocate, or other Developer Relations professional.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-matt-broberg">Matt Broberg</a></p>
</blockquote>


<p>Matt&rsquo;s CHAOSScon EU 2020 session pitched strategy on communicating the value of developer relations to our organizations. He covered a lot of material and left me many thoughts to reflect on. I look forward to seeing the video recording of this talk to reflect further on integrating his ideas into my day-to-day. The themes of Matt&rsquo;s talk struck a chord with me for challenging advocacy work ahead for me in 2020.</p>

<h3 id="emerging-tech-open-source-scoring-system-etoss">Emerging Tech Open-Source Scoring System (ETOSS)&nbsp;<a class="hanchor" href="#emerging-tech-open-source-scoring-system-etoss" aria-label="Anchor link for: Emerging Tech Open-Source Scoring System (ETOSS)">🔗</a></h3>
<blockquote>
<p>This is a framework used by the UNICEF Innovation Fund, to evaluate and track the strategic position and growth potential of the early stage startups in its portfolio. The focus is on startups building open source frontier tech: Blockchain, Data Science, Artificial Intelligence and Extended Reality. It classifies the startups into four quadrants, based on two dimensions: the software developed (technology), and the financial sustainability of the project (business sustainability).</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-cecilia-chapiro">Cecilia Chapiro</a> &amp; <a href="https://chaoss.community/chaosscon-2020-eu/#user-content-justin-w-flory">Justin Wheeler</a></p>
</blockquote>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">.@jflory7: The UNICEF tech KPIs are quite similar to <a href="https://twitter.com/CHAOSSproj?ref_src=twsrc%5Etfw">@CHAOSSproj</a> metrics - there are also business sustainability metric to measure, placing organisations / tech projects on a sustainable and tech scale... <a href="https://twitter.com/hashtag/CHAOSScon?src=hash&amp;ref_src=twsrc%5Etfw">#CHAOSScon</a> <a href="https://t.co/e3M440FMS4">pic.twitter.com/e3M440FMS4</a></p>&mdash; yo yehudi stays away from humans! 🏳️‍🌈 (@yoyehudi) <a href="https://twitter.com/yoyehudi/status/1223246459602194433?ref_src=twsrc%5Etfw">January 31, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Interested in getting involved? Contact details for @jflory7 and <a href="https://twitter.com/ceciliachapiro?ref_src=twsrc%5Etfw">@ceciliachapiro</a> here! <a href="https://twitter.com/hashtag/CHAOSScon?src=hash&amp;ref_src=twsrc%5Etfw">#CHAOSScon</a> <a href="https://t.co/jMsfiCK9Rg">pic.twitter.com/jMsfiCK9Rg</a></p>&mdash; yo yehudi stays away from humans! 🏳️‍🌈 (@yoyehudi) <a href="https://twitter.com/yoyehudi/status/1223246907163758599?ref_src=twsrc%5Etfw">January 31, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">@jflory7 thanks for the great talk, great to hear <a href="https://twitter.com/UNICEFinnovate?ref_src=twsrc%5Etfw">@UNICEFinnovate</a> is actively funding OSS for the greater-good! <a href="https://twitter.com/hashtag/CHAOSScon?src=hash&amp;ref_src=twsrc%5Etfw">#CHAOSScon</a> <a href="https://t.co/g81koSI4Ov">pic.twitter.com/g81koSI4Ov</a></p>&mdash; Farbod Saraf (@farbodsaraf) <a href="https://twitter.com/farbodsaraf/status/1223247589317009409?ref_src=twsrc%5Etfw">January 31, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/opensource?src=hash&amp;ref_src=twsrc%5Etfw">#opensource</a> rubric mentioned by @jflory7 at <a href="https://twitter.com/hashtag/CHAOSScon?src=hash&amp;ref_src=twsrc%5Etfw">#CHAOSScon</a> <a href="https://t.co/U2pIZsgrMz">https://t.co/U2pIZsgrMz</a><br><br>It helped me evaluate the last proposal we received at <a href="https://twitter.com/eLifeInnovation?ref_src=twsrc%5Etfw">@eLifeInnovation</a> 🙌🙌</p>&mdash; Emmy Tsang (@emmy_ft) <a href="https://twitter.com/emmy_ft/status/1223249000058540032?ref_src=twsrc%5Etfw">January 31, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>Hey, it&rsquo;s me!</p>
<p>My colleague <strong><a href="https://twitter.com/ceciliachapiro">Cecilia Chapiro</a></strong> proposed a session for CHAOSScon EU 2020 on how the <a href="https://unicefinnovationfund.org/">UNICEF Innovation Fund</a> evaluates the health and success of funded open source projects. However, due to travel complications, she was unable to attend. I presented her slides and work on her behalf at CHAOSScon EU 2020.</p>
<p>Many people were excited, if not also surprised, to hear that UNICEF funds humanitarian open source. In Cecilia&rsquo;s evaluation framework, there are two key areas: <strong>business sustainability indicators</strong> and <strong>technology indicators</strong>. There were good questions about how UNICEF measures on business sustainability. I hope to further explore GrimoireLab/Cauldron to better automate how we measure sustainability with industry-standard tools from the open source ecosystem.</p>
<p>I also gave a shout-out to <a href="https://fossrit.github.io/librecorps/">RIT LibreCorps</a> and the <a href="https://opensource.com/article/19/12/humanitarian-startups-open-source">resources we maintain</a> to help UNICEF and the Innovation Fund cohorts build and support sustainable open source projects.</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/t2Lyv6G_fvU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>


<h3 id="open-and-reproducible-research-with-community-driven-research-software-metrics">Open and Reproducible Research with Community-driven Research Software Metrics&nbsp;<a class="hanchor" href="#open-and-reproducible-research-with-community-driven-research-software-metrics" aria-label="Anchor link for: Open and Reproducible Research with Community-driven Research Software Metrics">🔗</a></h3>
<blockquote>
<p>What do artificial neural networks, images of the black hole, and SETI@home all have in common? They all trace their roots to research software. In this session, we hope to explore metrics and best practices for evaluating open research software. Research software engineers are evaluated largely based on the numbers of publications and citations. However, metrics based on the number of publications encourage re-creating ‘new’ things or re-implementations instead of reuse, and there are huge variations in existing practices to cite software, meaning software isn&rsquo;t always cited or citations aren’t always captured. Better metrics that reflect the health of research software is crucial to avoid gamification, incentivizing research software engineers to follow best software development practices by recognizing and rewarding their effort appropriately, and ultimately advancing open science and improving the reproducibility of research.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-yo-yehudi">Yo Yehudi</a></p>
</blockquote>

<p>Yo teamed up with <a href="https://twitter.com/emmy_ft">Emmy Tsang</a> and <a href="https://twitter.com/matkuzak">Mateusz Kuzak</a> to deliver this session. I appreciated the audience participation in the second half, which was a creative idea for a session later in the day. It helped revive the conference energy!</p>
<p>Yo and the team captured <a href="https://discourse.sustainoss.org/t/blog-post-that-mentions-sustain-summit-academic-session/286">excellent notes from their time across Brussels</a>, so look there for a deeper dive if this is interesting to you.</p>

<h3 id="diversity--inclusion-badging-program">Diversity &amp; Inclusion Badging Program&nbsp;<a class="hanchor" href="#diversity--inclusion-badging-program" aria-label="Anchor link for: Diversity &amp; Inclusion Badging Program">🔗</a></h3>
<blockquote>
<p>Within IT, open source software exhibits some of the worst D&amp;I. The open source survey run by GitHub states that only 3% of contributors to open source software are female (GitHub, 2017). While open source has made strides in some aspects of D&amp;I, such as event inclusivity (Irwin, 2017) and community engagement to support organizational diversity (Alexander, 2019), work remains. The proposed is aimed at contributing to this positive growth through the development of a D&amp;I badging system. In open source, badges are available for community leaders to publicly display, providing a way for projects to signal their attention to such things as community health and software security. We can draw from this badging work to improve D&amp;I in open source. In this talk, I will discuss complexities associated with D&amp;I metrics and propose a D&amp;I badging system that provides open source communities the ability to make diversity and inclusion within open source projects more transparent.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-matt-germonprez">Matt Germonprez</a></p>
</blockquote>

<p>First, I must pay my full respect and gratitude to Matt for digging into this topic. It is hard. It is tricky. Nobody I know of is working on this. So, my feedback comes from a place of love because this is an important topic to me too, and I appreciate Matt&rsquo;s work! <strong>Thank you Matt and the <a href="https://chaoss.community/diversity-and-inclusion/">CHAOSS D&amp;I Working Group</a></strong>.</p>

<h4 id="critique-is-a-badging-system-how-to-do-this"><em>Critique</em>: Is a badging system how to do this?&nbsp;<a class="hanchor" href="#critique-is-a-badging-system-how-to-do-this" aria-label="Anchor link for: Critique: Is a badging system how to do this?">🔗</a></h4>
<p>Matt presented a strategy to incentivize organizations and projects to follow best practices for diversity and inclusion (D&amp;I) through a badging system. Organizations embed a badge on their project website or README when following best practices. This provides an easy way for new contributors to understand if a project community is inclusive and values equality before contributing. Since best practices are defined not by a single organization, there is a way to measure if an organization is living up to their commitment to D&amp;I.</p>
<p>However, a badging system seems like a difficult way to practically measure an organization&rsquo;s commitment to D&amp;I. There is a risk for <strong>manipulating trust of the system</strong> at the expense of open source novices. Novices have the least context and direct experience to see through an unauthentic commitment. Also, <strong>ongoing compliance seems difficult to enforce over time</strong> with a badging system. Maybe initially an organization or project is &ldquo;checked off&rdquo; for D&amp;I best practices. But if project leadership or management changes, community culture can also shift. How do you account for change?</p>
<p>Instead of badges, perhaps a <strong>central, inter-organizational certification body</strong> makes more sense to achieve this goal. A certification body acts as a central authority for validating accountability. They also have an authority to assign (or revoke) public recognition of organizations and projects with authentic, ongoing commitments to diversity and inclusion.</p>
<p>There is potential here, but I don&rsquo;t think gamifying D&amp;I best practices with a badging system is the way. We need a long-term, <em><strong>human</strong></em>-centered process in evaluating D&amp;I. We need to build in human-centered evaluation as a &ldquo;feature&rdquo; to truly hold projects accountable to their commitments.</p>

<h4 id="addendum-events-and-inclusivity"><em>Addendum</em>: Events and inclusivity&nbsp;<a class="hanchor" href="#addendum-events-and-inclusivity" aria-label="Anchor link for: Addendum: Events and inclusivity">🔗</a></h4>
<p>There are a few things I&rsquo;m genuinely proud to have contributed to open source. Most of them aren&rsquo;t code. <strong>International candy swaps</strong> at conferences are one of those things.</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Time for the international candy swap! There are so many things to love about <a href="https://twitter.com/hashtag/DevConf_CZ?src=hash&amp;ref_src=twsrc%5Etfw">#DevConf_CZ</a> but the geographic diversity of attendees might be my favorite part. Thank you for organizing, <a href="https://twitter.com/jonatoni?ref_src=twsrc%5Etfw">@jonatoni</a> &amp; @jflory7! <a href="https://t.co/rU1ETp5aTa">pic.twitter.com/rU1ETp5aTa</a></p>&mdash; Mary Thengvall (she/her); mary-grace.bsky.social (@mary_grace) <a href="https://twitter.com/mary_grace/status/1221075300584448000?ref_src=twsrc%5Etfw">January 25, 2020</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<blockquote>
<p>DevConf CZ 2020 candy swap, mentioned in a <a href="https://jwfblog.wpenginepowered.com/2020/02/devconf-cz-2020-play-by-play/">previous blog post</a></p>
</blockquote>
<p>Candy swaps are fun, informal events hosted during a conference. Attendees bring local candies, sweets, or snacks from their hometowns to the conference. For an hour or so, folks gather together to swap candies. Before sampling the sweets, everyone introduces themselves, where they are from, and anything special about what they brought with them. When everyone introduces themselves and their candies, the floor is open to sample from the collected assortment.</p>
<p>This is a fun and engaging way to get to know other attendees beyond the conference&rsquo;s context. Conferences collect people around a specific context: be it technology, metrics, design, engineering, or something else. But beyond that specific context, we are also people! We have families, we have friends, and we eat food. We have things we miss about home when we travel hundreds or even thousands of miles from home. Events like candy swaps help us connect to other people not just as conference attendees, but as people. You learn something new about each other, and if you&rsquo;re bold, you try something new too.</p>
<p>While it is not a metric in itself, it would be cool to see things like this included as practical examples of how to evaluate &ldquo;family friendliness&rdquo; or inclusivity at events.</p>

<h3 id="true-confessions-the-seven-deadly-sins-of-open-source-communities">True Confessions: The Seven Deadly Sins of Open Source Communities&nbsp;<a class="hanchor" href="#true-confessions-the-seven-deadly-sins-of-open-source-communities" aria-label="Anchor link for: True Confessions: The Seven Deadly Sins of Open Source Communities">🔗</a></h3>
<blockquote>
<p>This talk would take a humorous approach to explaining what really no one should do when managing and measuring open source community best practices, with the primary goal of instilling positive open source development practices to the audience. Such &ldquo;&ldquo;don&rsquo;ts&rdquo;&rdquo; include not documenting anything, establishing no clear paths to success, and not bothering to communicate.</p>
<p><a href="https://chaoss.community/chaosscon-2020-eu/#user-content-brian-proffitt">Brian Proffitt</a></p>
</blockquote>

<p>Brian explained what to avoid in building healthy open source communities. While I was already familiar with most of them, the most interesting &ldquo;sin&rdquo; for me was the last one: &ldquo;<em><strong>not seeing ourselves in others</strong></em>.&rdquo;</p>
<p>Brian offered mitigation strategies and metrics for the first six sins, but he acknowledged &ldquo;not seeing yourself in others&rdquo; is hard to mitigate and measure. However, I think things like candy swaps (explained above) are one possible way to do this. They connect us to others in an authentically human way, beyond the specific context of a conference we traveled for.</p>
<p>This is more challenging when interaction is virtual. Virtual systems often take away communication cues that make us human! I&rsquo;m still thinking on how to mitigate &ldquo;not seeing ourselves in others&rdquo; if interaction is mostly virtual. (For what it is worth, I don&rsquo;t think running open source project meetings in V.R. is the answer either.)</p>

<h2 id="beyond-chaosscon-eu-2020">Beyond CHAOSScon EU 2020&nbsp;<a class="hanchor" href="#beyond-chaosscon-eu-2020" aria-label="Anchor link for: Beyond CHAOSScon EU 2020">🔗</a></h2>
<p>An event report wouldn&rsquo;t be complete without mentioning the hallway track. It was great to see familiar faces and also meet new folks at CHAOSScon EU 2020.</p>
<p>I had a great lunch conversation with <a href="https://fsfe.org/about/albers/albers">Erik Albers</a> from Free Software Foundation Europe. It was cool to meet a facilitator of the <em><a href="https://publiccode.eu/">Public Money? Public Code!</a></em> campaign. Hopefully there are future opportunities to collaborate with <a href="https://fossrit.github.io/librecorps/">RIT LibreCorps</a> and <a href="https://fosdem.org/2020/schedule/event/ethical_ai/">AI freedoms</a>.</p>
<p>As always, face time with <a href="https://nolski.rocks/">Mike Nolan</a> and an OG mentor of mine, <a href="https://twitter.com/Remy_D">Remy DeCausemaker</a>, is appreciated and fulfilling. I wish I could get more of it around the year.</p>

<h2 id="thanks-folx">Thanks folx!&nbsp;<a class="hanchor" href="#thanks-folx" aria-label="Anchor link for: Thanks folx!">🔗</a></h2>
<p>To wrap up this CHAOSScon EU 2020 report, a few thank-yous are in order:</p>
<ul>
<li><strong><a href="https://twitter.com/ceciliachapiro">Cecilia Chapiro</a></strong>: Thanks for putting your work forward to the wider open source community!</li>
<li><strong><a href="https://www.rit.edu/computing/directory/sxjics-stephen-jacobs">Stephen Jacobs</a></strong>: For always being supportive for yet another trip abroad and helping me push my career forward in a number of ways (and footing the bill!)</li>
<li><strong><a href="https://nolski.rocks/">Mike Nolan</a></strong>: My co-conspirator, partner in FOSS, and comrade in arms</li>
</ul>
<p>I hope to continue conversations started here later into 2020 and keep talking with folks doing great things for the ecosystem. Until next time!</p>]]></description></item><item><title>Sphinx docs authors: Meet an opinionated quickstart</title><link>https://jwheel.org/blog/2018/12/meet-an-opinionated-quickstart-for-sphinx-docs-authors/</link><pubDate>Mon, 03 Dec 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/12/meet-an-opinionated-quickstart-for-sphinx-docs-authors/</guid><description><![CDATA[<p>Do you write documentation with the Sphinx <a href="http://www.sphinx-doc.org/en/master/">tool chain</a>? Do you want to encourage more people to write Sphinx documentation in a distributed organization, but worry about maintaining compatible workflows? Introducing <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart">sphinx-docs-opinionated-quickstart</a>, a template repository with an opinionated configuration of ReStructuredText documentation with Travis CI testing and <a href="https://readthedocs.org/">readthedocs.org</a> publishing.</p>
<p>I created this for the <a href="https://ritlug.com/">RIT Linux User&rsquo;s Group</a> (a.k.a. RITlug). RITlug welcomes student-led projects for members to work on together. RITlug executive board members want to better encourage students to share and join projects for collaboration with the community (in the spirit of FOSS). To do this, the executive board members will create and offer both a template website and template documentation tools to introduce students to project development process. Then, students are better able to sustain a more diverse community around their projects.</p>

<h2 id="start-writing-restructuredtext-already">&ldquo;Start writing ReStructuredText already!&rdquo;&nbsp;<a class="hanchor" href="#start-writing-restructuredtext-already" aria-label="Anchor link for: &ldquo;Start writing ReStructuredText already!&rdquo;">🔗</a></h2>
<p>The philosophy with this small project is: &ldquo;<em>Start writing ReStructuredText already!</em>&rdquo; I use Sphinx with ReadTheDocs as a deployment option across <a href="https://jwfblog.wpenginepowered.com/2018/02/unicef-internship/">different organizations</a>. I want a common base to later customize for a specific project&rsquo;s needs.</p>
<p>The whole point of this project is to save time kicking off a new project&rsquo;s recently-established documentation effort.</p>

<h2 id="sphinx-travis-ci-testing-configuration-included">Sphinx Travis CI testing configuration included&nbsp;<a class="hanchor" href="#sphinx-travis-ci-testing-configuration-included" aria-label="Anchor link for: Sphinx Travis CI testing configuration included">🔗</a></h2>
<p>Complex documentation tool chains need simple validation of successful builds. This avoids long periods where documentation may not build and the public docs are out of date. It also better engages core contributors to monitor and take care of their documentation.</p>
<p>A Travis CI <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/blob/master/.travis.yml">configuration</a> is included. Fork this repository and enable the repo on <a href="https://travis-ci.org/">travis-ci.org</a> to start running builds.</p>

<h2 id="add-a-star-on-github">Add a star on GitHub&nbsp;<a class="hanchor" href="#add-a-star-on-github" aria-label="Anchor link for: Add a star on GitHub">🔗</a></h2>
<p>Does this sound helpful? Check it out and <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/stargazers">add a star</a> at <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart">justwheel/sphinx-docs-opinionated-quickstart</a>. The project is licensed under the <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/blob/master/LICENSE.txt">BSD 3-Clause License</a>; feel free to fork it and form your own opinions too.</p>
<hr>
<p><em><a href="https://unsplash.com/photos/q7TGPrFIlIg">Photo</a> by</em> <a href="https://unsplash.com/photos/q7TGPrFIlIg?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"><em>Jānis Skribāns</em></a> <em>on</em> <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"><em>Unsplash</em></a><em>.</em></p>]]></description></item><item><title>Keep your open source project organized with GitHub project boards</title><link>https://jwheel.org/blog/2018/06/github-project-boards/</link><pubDate>Tue, 05 Jun 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/06/github-project-boards/</guid><description><![CDATA[<p><a href="https://opensource.com/article/18/4/keep-your-project-organized-git-repo"><em>This article was originally published on Opensource.com.</em></a></p>
<hr>
<p>Managing an open source project is challenging work. The challenge grows as a project grows. Eventually, a project may need to meet different requirements and span across multiple repositories. These problems aren&rsquo;t technical, but are important to solve to scale a technical project. <a href="https://en.wikipedia.org/wiki/Business_process_management">Business process management</a> methodologies such as agile and <a href="https://en.wikipedia.org/wiki/Kanban_%5C%28development%5C%29">kanban</a> bring a method to the madness. Developers and managers can make realistic decisions for estimating deadlines and team bandwidth with organized development focus.</p>
<p>At the <a href="http://unicefstories.org/about/">UNICEF Office of Innovation</a>, we use GitHub projects boards to organize development on the MagicBox project. <a href="http://unicefstories.org/magicbox/">MagicBox</a> is a full-stack application to serve and visualize data for decision-making in humanitarian crises and emergencies. The project spans multiple GitHub repositories and works with multiple developers. With GitHub project boards, we organized our work across multiple repositories to better understand development focus and team bandwidth.</p>
<p>Here&rsquo;s three tips from the UNICEF Office of Innovation on how to organize your open source GitHub projects with the built-in project boards on GitHub.</p>

<h2 id="bring-development-discussion-to-issues-and-pull-requests">Bring development discussion to issues and pull requests&nbsp;<a class="hanchor" href="#bring-development-discussion-to-issues-and-pull-requests" aria-label="Anchor link for: Bring development discussion to issues and pull requests">🔗</a></h2>
<p>Transparency is a critical part of an open source community. When mapping out new features or milestones for a project, the community needs to see and understand a decision or why a specific direction was chosen. Filing new GitHub issues for features and milestones is an easy way for someone to follow the project direction. GitHub issues and pull requests are the cards (or building blocks) of project boards. To be successful with GitHub project boards, you need to use issues and pull requests.</p>
<p>
<figure>
  <img src="/blog/2018/03/Screenshot-2018-3-13-Fix-similar-code-issue-in-react-app-src-components-WebglLayer-jsx-%c2%b7-Issue-62-%c2%b7-unicef-magicbox-maps.png" alt="GitHub issues for the front-end application of MagicBox, magicbox-maps" loading="lazy">
  <figcaption>GitHub issues for the front-end application of MagicBox, magicbox-maps</figcaption>
</figure>
</p>
<p>The UNICEF MagicBox team uses GitHub issues to track on-going development milestones and other tasks to revisit in the future. The team files new GitHub issues for development goals, feature requests, or bugs. These goals or features may come from external stakeholders or from the community. We use the issues as a place for discussion on those tasks too. This makes it easy to cross-reference in the future and visualize upcoming work on one of our projects.</p>
<p>Once you begin using GitHub issues and pull requests as a way of discussing and using your project, organizing with project boards becomes easier.</p>

<h2 id="set-up-kanban-style-project-boards">Set up kanban-style project boards&nbsp;<a class="hanchor" href="#set-up-kanban-style-project-boards" aria-label="Anchor link for: Set up kanban-style project boards">🔗</a></h2>
<p>GitHub issues and pull requests are the first step. After you begin using them, it may become harder to visualize what work is in progress and what work is yet to begin. <a href="https://help.github.com/articles/about-project-boards/">GitHub&rsquo;s project boards</a> give you a platform to visualize and organize cards into different columns.</p>
<p>There are two types of project boards available:</p>
<ul>
<li><strong>Repository</strong>: Boards for use in a single repository</li>
<li><strong>Organization</strong>: Boards for use in a GitHub organization across multiple repositories (but private to organization members)</li>
</ul>
<p>The choice you make depends on the structure and size of your projects. For the UNICEF MagicBox team, we use boards for development and documentation at the organization level, and then repository-specific boards for focused work (like our <a href="https://github.com/unicef/magicbox/projects/3?fullscreen=true">community management board</a>).</p>

<h4 id="creating-your-first-board">Creating your first board&nbsp;<a class="hanchor" href="#creating-your-first-board" aria-label="Anchor link for: Creating your first board">🔗</a></h4>
<p>Project boards are found on your GitHub organization page or on a specific repository. You will see the <em>Projects</em> tab in the same row as <em>Issues</em> and <em>Pull requests</em>. From the page, you&rsquo;ll see a green button to create a new project.</p>
<p>There, you can set a name and description for the project. You can also choose from templates to set up basic columns and sorting for your board. As of writing, the only options are for <a href="https://en.wikipedia.org/wiki/Kanban_%5C%28development%5C%29">kanban-style boards</a>.</p>
<p>
<figure>
  <img src="/blog/2018/03/Screenshot-2018-3-13-unicef-magicbox-maps.png" alt="Create a new GitHub project board for your open source project" loading="lazy">
  <figcaption>Create a new project board</figcaption>
</figure>
</p>
<p>After creating the project board, you can make adjustments to the project board as needed. You can create new columns, <a href="https://help.github.com/articles/about-automation-for-project-boards/">set up automation</a>, and add pre-existing GitHub issues and pull requests to the project board.</p>
<p>Now, you may notice new options for the metadata in each GitHub issue and pull request. Inside of an issue or PR, you can add it to a project board. If you use automation, it will automatically enter a column you configured.</p>

<h2 id="build-them-into-your-workflow">Build them into your workflow&nbsp;<a class="hanchor" href="#build-them-into-your-workflow" aria-label="Anchor link for: Build them into your workflow">🔗</a></h2>
<p>After you set up a project board and populate them with issues and pull requests, you need to integrate them into your workflow. Project boards are effective only when actively used. With the UNICEF MagicBox team, we use the project boards as a way to track our progress as a team, update external stakeholders on development, and estimate team bandwidth for reaching our milestones.</p>
<p>If you are an open source project and community, consider using the project boards for development-focused meetings. Additionally, it helps to remind yourself and other core contributors to spend five minutes each day updating progress as needed. If you&rsquo;re at a company using GitHub to do open source work, consider using project boards as a way to update other team members and encourage participation inside of GitHub issues and pull requests.</p>
<p>Once you begin using the project board, yours may look like this!</p>
<p>
<figure>
  <img src="/blog/2018/03/Screenshot-2018-3-13-Build-software-better-together.png" alt="Development progress board for all UNICEF MagicBox repositories in organization-wide GitHub project boards" loading="lazy">
  <figcaption>Development progress board for all UNICEF MagicBox repositories in an organization-wide GitHub project board</figcaption>
</figure>
</p>

<h2 id="open-alternatives">Open alternatives&nbsp;<a class="hanchor" href="#open-alternatives" aria-label="Anchor link for: Open alternatives">🔗</a></h2>
<p>GitHub project boards require your project to be on GitHub to take advantage of this functionality. However, there are other open source alternatives available. You can use tools to replicate the same workflow explained above. <a href="https://about.gitlab.com/features/issueboard/">GitLab Issue Boards</a> and <a href="https://taiga.io/">Taiga</a> are good alternatives that offer similar functionality.</p>

<h2 id="go-forth-and-organize">Go forth and organize!&nbsp;<a class="hanchor" href="#go-forth-and-organize" aria-label="Anchor link for: Go forth and organize!">🔗</a></h2>
<p>Now, you can bring a method to the madness for organizing your open source project. These three tips for using GitHub project boards encourage transparency in your open source project and make it easier to track progress and milestones in the open.</p>
<p>Do you use GitHub project boards for your open source project? Have any tips for success that aren&rsquo;t mentioned in the article? Leave a comment below to share how you make sense of your open source projects.</p>]]></description></item><item><title>How to set up GitHub organizations for clubs</title><link>https://jwheel.org/blog/2016/10/set-up-github-organizations-clubs/</link><pubDate>Mon, 17 Oct 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/10/set-up-github-organizations-clubs/</guid><description><![CDATA[<p>For many universities and colleges, there are many technical clubs that students can join. Some clubs focus on programming or using programming for collaborative projects. For anything involving code, clubs usually turn to GitHub. GitHub has become the standard for open source project hosting by thousands of projects in the world. GitHub organizations are the tool GitHub provides to allow someone to create a team of people for working on projects. Organizations can have many repositories and smaller teams inside of them. When getting started with GitHub, there is a method to the madness, and there are ways you can have an ordered organization instead of keeping it messy. Here&rsquo;s how you do it.</p>

<h2 id="teams-for-purpose-teams-for-tracking">Teams for purpose, teams for tracking&nbsp;<a class="hanchor" href="#teams-for-purpose-teams-for-tracking" aria-label="Anchor link for: Teams for purpose, teams for tracking">🔗</a></h2>
<p>Team structure and designation are some of the most important ways to use organizations effectively. Since GitHub <a href="https://github.com/blog/2020-improved-organization-permissions">revamped teams</a>, they are an effective way to categorize members and to assign privileges. You can decide who can create repositories, who can push code to what repositories, or who has admin rights on projects.</p>
<p>You should create teams that have a purpose and will work with real repositories. For example, if your club has various committees, you should create a team for each committee. Then, you can give each committee privileges to their own repositories and leave it to them to manage. Being smart with what teams you create is important. Teams with a purpose should exist to carry out certain tasks within the organization. Equip them with the means to do so.</p>
<p>It&rsquo;s also helpful to create teams for tracking. In a university setting, students will graduate in a certain year and then they&rsquo;ll be gone. For university clubs using GitHub organizations, create teams for every graduating class, staff and faculty, and alumni (e.g. &ldquo;Class of 2019, Class of 2020, University staff, Graduated members, etc.). While it may seem trivial with a few people in the beginning, it is useful as the organization grows. If someone wonders why someone is part of a repository or if they are still participating in the club or organization, it is easy to see whether the student is still on campus or whether they are a graduated alumnus or alumna.</p>

<h2 id="use-organization-for-on-boarding">Use organization for on-boarding&nbsp;<a class="hanchor" href="#use-organization-for-on-boarding" aria-label="Anchor link for: Use organization for on-boarding">🔗</a></h2>
<p>Organizations are a powerful tool for bringing new people into your club or group. The moment someone receives an email inviting them to be a member of the GitHub organization, it holds a certain weight. &ldquo;<em>Wow, I&rsquo;m officially a part of this thing!</em>&rdquo; It&rsquo;s a great way to create an inclusive environment and enable new contributors to feel like they are a part of the team.</p>
<p>Having a team for newcomers or new recruits is helpful to have in place beforehand. The group doesn&rsquo;t have any real permissions in the organization, but it is a temporary holding ground for new members while they figure out their position in the club. But this way, they get to be included in the member list and show off your organization&rsquo;s logo in their profile if they choose.</p>

<h2 id="publicize-your-membership-on-github">Publicize your membership on GitHub&nbsp;<a class="hanchor" href="#publicize-your-membership-on-github" aria-label="Anchor link for: Publicize your membership on GitHub">🔗</a></h2>
<p>If someone is in your organization, make sure you encourage them to show it off! By default, GitHub sets the team member visibility to private. Unless a member of the organization sets themselves as public, they won&rsquo;t appear as a part of the organization to visitors.</p>
<p>
<figure>
  <img src="https://i.jwf.io/u/6631b7d25bbbdfa9033a2d922912fddd.png" alt="Publicize a GitHub membership" loading="lazy">
  <figcaption>\&#34;People\&#34; page of an organization - this is where you publicize a GitHub membership</figcaption>
</figure>
</p>
<p>Publicizing your membership is an underestimated step in bringing new contributors in. It&rsquo;s even helpful for older members too. By publicizing memberships, you are giving faces and real people to characterize your organization. If someone finds your organization in a search or in a link, it looks better to have rows of people associated with the group. The alternative of a team with what looks like no members implies your club is inactive. It can also make your club look smaller than it is. Additionally, individual team members also get to show off your organization on their individual profiles. This is helpful for anyone visiting their profile for activities or programming experience. For university students, this is helpful for applying for co-ops or internships.</p>
<p>To make a membership visible, the organization member has to go to the &ldquo;People&rdquo; page of the organization. On the page, next to their name, there is an option for &ldquo;Public&rdquo; or &ldquo;Private&rdquo; in a drop-down menu. Change it to &ldquo;Public&rdquo;.</p>

<h2 id="consider-repository-for-tasks">Consider repository for tasks&nbsp;<a class="hanchor" href="#consider-repository-for-tasks" aria-label="Anchor link for: Consider repository for tasks">🔗</a></h2>
<p>
<figure>
  <img src="https://camo.githubusercontent.com/4a034f0e6a4db65dc0d7779e1752256572174182/68747470733a2f2f692e696d6775722e636f6d2f77566b327771302e6a7067" alt="The FOSS@MAGIC " loading="lazy">
  <figcaption>The FOSS@MAGIC (<a href="http://foss.rit.edu/" class="bare">http://foss.rit.edu/</a>) family dinner, organized with an issue tracker</figcaption>
</figure>
</p>
<p>While not essential, a repository for real-life tasks or issues in a club can be a helpful planning tool. It also makes it easy for people to see what the club or group is working on. This promotes the idea of transparent and open leadership. You can use labels to tag issues for specific types of work or committees. Milestones are useful for deadlines or goals the group is working towards. The new <em>Projects</em> feature may also be useful in a repository for real-life task management.</p>
<p>For an example of a repository like this, you can see the <a href="https://github.com/FOSSRIT/fossbox-tasks/issues">FOSSRIT/fossbox-tasks</a> repository on GitHub. We even <a href="https://github.com/FOSSRIT/fossbox-tasks/issues/16">planned a dinner</a> on GitHub!</p>

<h2 id="go-forth-and-conquer">Go forth and conquer!&nbsp;<a class="hanchor" href="#go-forth-and-conquer" aria-label="Anchor link for: Go forth and conquer!">🔗</a></h2>
<p>Congratulations! You now have some basic knowledge and ideas on how to effectively use GitHub organizations for a club or small team. While this guide is not completely thorough, it helps give some starting points to consider when you&rsquo;re setting up your organization for the first time. It&rsquo;s also never too late to make changes later, if your organization is already formed.</p>
<p>If you have questions, comments, or feedback, I&rsquo;d love to hear about it! Feel free to leave a comment below.</p>]]></description></item></channel></rss>