Designing and Enforcing Codes of Conduct
It's 2019 and the issue by now seems to be mostly settled: Codes of Conduct, as it turns out, are an important tool for any community to promote inclusion and protect their members from harassment that would otherwise distract them or push them away.
But what's the actual experience of designing one, and more importantly, enforcing one?
I was an admin on lgbtq.technology, a community Slack for LGBTQ+ members of the tech industry, for over two years. It had a couple of thousand members, with several hundred active across scores of channels. It was (and still is!) a vibrant community that brought together fairly wide representation of individuals.
In this article, I'll go over the story of how community management evolved in this particular community. Along the way, I'll share various hard-earned lessons myself and the rest of the admin team there learned about how to effectively manage a diverse …
10 lessons I learned from maintaining an open source community for 4 years
My open source story begins in 2014. I was living in NYC and benefiting heavily from going to free tech meetups like Hacker Hours, where strangers would come together to cowork and help one another out with programming questions. As a recent college grad who didn't have a hugely collaborative learning experience on campus, finding that knowledge sharing culture in the learn-to-code movement at the time was a lot of fun.
The only problem with meetups was that they could be distracting. Instead of finishing the MOOC courses I'd signed up for, I'd get pulled into side conversations about tutorial recommendations and general chatter.
The "running partners for code" idea
That summer, while participating in a program "to launch a side project" taught by Gary Chou from Orbital, I accidentally discovered that the act of screensharing with a study partner on Google Hangouts was a brilliant way to …
Beep Boop: 6 Bots To Better Your Open Source Project
The second law of thermodynamics states that entropy always increases over time. To put it another way, chaos overtakes order little by little. Open source software projects are no exception. The longer a project grows and survives, the more issues and unmerged pull requests it will accumulate. Unresolved problems from the past make it hard to keep up with new contributions.
Bots to the rescue. Automation can help welcome new contributors and let them know what to expect. Outsourcing this labor to robots eases the burden on maintainers, freeing up time for more important tasks. Such as reviewing all those Hacktoberfest pull requests that are pouring in.
In this post, I’ll show you 6 ways to improve your open source project with Probot. The improvements fall into two broad categories: warmly welcoming new contributors, and communicating project norms or expectations.
Probot is a Node.js framework for building …
Aligning with Intention in Open Source
In this post, I’ll discuss my approach to prioritizing work in open source software projects. I’ve found that aligning my work with the unique intent of the project has helped me feel more satisfied with the impact of my open source contributions. I’ll share some questions to help you get started on developing your understanding of an open source project’s intent and include some examples of how to put them into practice.
Every open source software project is different. Not only in their tech stack, but also in their intent. Sometimes I focus so much on widely used projects (like React) that I forget about the wide range of intents available to an open source project. As I’ve been getting more involved as a maintainer on p5.js this year, I’ve had to think a lot about what makes p5.js unique.
p5.js is unique in that it:
- is a …
Ahoy Hacktoberfest 2019!
It's October 1, 2019 and that means Hacktoberfest 2019 has officially started! Over the next month, people from around the world are taking time to contribute to open-source projects. The world of open source has become such an elementary part of the software we all write day-to-day and the things we create! It allows us to share and collaborate with each other. At Twilio we believe in the power of developers and are excited to take part in Hacktoberfest in various ways both online and in-person.
Here are a few things you'll want to keep an eye on if you are as excited about Hacktoberfest as we are!
Learn how to create your first open-source contribution
Creating your first contribution to the world of open source can be intimidating. We get it. It wasn't any different for us. But we wanted to see if we can make it a bit …
Learn How to Contribute to Open Source
Contributing to an open-source project can often be intimidating. Especially if it is your first contribution. At one point we've all been there. But contributing to open source can also be fun and rewarding once you get through it. We decided to try and help you with your first steps into the world of open source and hopefully make it less intimidating and more fun!
As a result we are launching today two new projects! The Open Pixel Art project and a brand new Twilio Quest mission focused on taking you step-by-step through your quest into the world of open source.
Open Pixel Art - A Collaborative Art Project
One problem doing your first contribution to open source is finding the right project to get started. While there are some great projects that welcome new contributors, we wanted to create something that makes it easy to identify what to contribute. …
Start a new Twilio Functions project the easy way
If you're building a Twilio project you will inevitably need to run some code in response to an incoming webhook request. One of the easiest ways to do this is with Twilio Functions, our serverless platform for running Node.js. Recently my colleague Dominik released the
twilio-runpackage that makes it easier to develop, test and debug Twilio Functions locally.
I wanted to make it even easier to get started with a Twilio Functions project, so I built a project generator called
Let's take a look at how you can easily start and develop a Twilio Functions project using
There are a few ways you can use
create-twilio-function. The easiest is if you have
npmversion 6 or higher. You can check this out on the command line with:
$ npm --version 6.9.0
If you don't have an up to …
Locally developing and debugging Twilio Functions
Twilio is all about HTTP endpoints & webhooks. From responding to incoming SMS, to controlling the flow of a voice call to blocking unwanted chat messages with an
onMessageSendwebhook, chances are that you'll end up writing an HTTP endpoint for the Twilio product you're interacting with. Twilio Functions allow you to write and host those endpoints directly in the Twilio cloud while relying on the power of Node.js.
What if you want to develop these functions with your IDE or editor of choice and run them locally? What if something goes wrong and you want to use your debugger to dive deeper into it? For this reason I built
twilio-run, a command-line tool that allows you to run your Twilio Functions in your local environment.
Let's dive into how it works, and how it can help your development flow with Twilio.
Re-Introducing the Hackpack v4: Twilio's Open Source Hardware Badge
This year’s Hackpack was our most advanced yet. Sporting a joystick, 7 buttons, a touchscreen, a massive battery, and Linux on a Raspberry Pi Zero W, we hoped to craft the perfect badge for both our conference and your next handheld computing project.
We also designed it with a special goal in mind: to release under an open hardware license. That’s why today we’re proud to announce the hardware collateral and assembly instructions are available under the Solderpad 2.0 license.
Building Twilio’s Hardware Badge
Keeping Track of GitHub Pull Requests with Python and Twilio SMS
If you're working on an urgent project in GitHub with other developers, it's handy to get immediate notifications by SMS. However, there is no SMS option out of the box! So I said, “Enough is enough; I'll start my own notification system!”
In this tutorial, I'll walk you through the steps of building out the beginnings of a notification system for GitHub pull requests. More specifically, we will use the GitHub and Twilio APIs in Python to send texts notifying you when a new pull request has been submitted.
First, we have to set our environment up. This guide was written in Python 3.6. If you haven't already, download Python and Pip. Next we will install
virtualenvto create and activate your virtual environment by entering the followings command in your command-line:
pip3 install virtualenv==15.1.0 python3 -m venv ghpull cd ghpull source …
We're standing on the shoulders of giants. Software isn’t — and shouldn’t be — a zero-sum game. Collaboration binds communities together. Open Source helps all of us build more powerful services, faster than ever before.
At Twilio, we're always on the lookout for ways we can help keep that innovation going and pay it forward. Learn what we’ve been up to, and how you can contribute.
Code of Conduct
Your safety and comfort are important to us. Codes of Conduct let everyone know what’s expected, so we can do a better job of interacting with one another. All contributions to and interactions with Twilio's open-source projects have to adhere to our Code of Conduct.
You can report violations at firstname.lastname@example.org.
We believe that a Code of Conduct is important to create welcoming open-source communities. If you want to learn more about adding a Code of Conduct to your projects check out the Open Source Guides or the Covenant Code of Conduct.
Whatever your skill level might be, we have a variety of projects you can contribute to. Coding isn’t required, either. We love documentation improvements and bug reports. Here are a few projects you might want to check out:
Guardrail is a code generation tool, capable of reading from OpenAPI/Swagger specification files and generating Scala source code, primarily targeting the akka-http and http4s web frameworks, using circe for JSON encoding/decoding.
Our Node.js & oclif powered Twilio CLI to interact with Twilio directly from the command-line.
Flex Plugin Builder
A collection of tools to locally develop, debug, and deploy Twilio Functions.
Developer Experience (DX) Automator
This tool is intended to help make managing multiple Github repositories much easier for DX, DevRel, and Open Source Engineering teams.
Twilio VS Code Extension
With the fourth version of our Hackpack we decided to build an open-source hackable badge powered by the Raspberry PI Zero. You can find both the hardware specs as well as the firmware on our GitHub for you to build your own or modify our existing ones.
Podcast: Some Coding Required
Some Coding Required is a podcast about all things open source. Hosted by Twilio SendGrid’s Senior Developer Experience Engineer, Elmer Thomas. Episodes will share answers to questions from the open source community, industry news, efficiency-focused hacks and apps, deep dives on open source topics, and more.
Contributing to Open Source for the First Time
Entering the world of Open Source and contributing to a project for the first time can be intimidating. In order to help you get comfortable with your first contribution, we created a mission in our Twilio Quest system that will guide you through it.