Twitter github

Posts Tagged with “opensource”

CFP: MesosCon 2016

MesosCon is happening again and I’m happy to be involved with the Program Committee. MesosCon 2016 will be in Denver on June 1st-2nd:

The CFP is open until March 9th and the schedule will be announced on April 4th!


Students: Getting Involved with Open Source

Note: This is also cross-posted as an article 

As a student, getting involved in open source is a great way to improve your programming skills. From my experience, it can even help kickstart your career. But where do you begin? And how do you get involved?

I started my open source journey during my high school days when I had a lot more free time on my hands (and lived on IRC). It was through that experience that I learned how to contribute to open source through communication media like IRC and Usenet. Open source has grown since those olden days, and there are now more formal ways to get involved with open source as a student.

Programs for university students

Google Summer of Code

Google Summer of Code (GSOC) is a global program that offers students stipends to write code for open source projects. Student participants get paired with open source project mentors to create software. On top of getting paid, they build connections within the open source community. From my experience, these connections could lead to future employment opportunities.

There are over 100 open source organizations that take part in GSOC, from the Apache Software Foundation to Mozilla and more. I find it to be one of the best programs out there for students to get started in open source. If you’re interested in participating in GSOC, the 2016 application window opens March 14.

Outreachy (formerly known as Outreach Program for Women)

Outreachy takes people from groups underrepresented in free and open source software and guides them through their first contribution. The program provides a supportive community for beginning to contribute and offers focused internship opportunities twice a year with a number of free software organizations. Applications for the 2016 program will open February 9 and close March 22.

Rails Summer of Code

Rails Girls Summer of Code is a global fellowship program aimed at bringing more diversity into open source. Successful female applicants are paid a monthly stipend (July-September) to work on open source projects of their choice. The 2015 program was a roaring success, with 16 teams participating.

Facebook Open Academy

The Facebook Open Academy (FOA) program promotes collaboration between universities and open source organizations. FOA is similar in spirit to GSOC, but students end up participating by taking a normal university course. The course begins with a kickoff event in which all parties come together for an intensive weekend of learning and hacking. After the kickoff, students return to their home universities and continue work in virtual teams. The mentors continue to support the teams during the rest of the project. The course instructors at each university meet with student teams at regular intervals to review progress. Some instructors overlay a lecture series to provide further learning opportunities to students. At the end of the program, students receive a grade.

University Clubs and Programs

One thing to look out for if you’re at university is to see if there are any associated open source clubs. For example, Oregon State University (OSU) has the OSU Open Source Club and even an OSU Open Source Lab; other universities may have similar clubs to help you get involved with open source. Some universities are even formalizing minors around open source, for example, in 2014, RIT launched the first minor degree in open source software.

Programs for pre-university students

Google Code-in

For the younger crowd, Google Code-in is an annual programming competition that allows students aged 13-17 to complete tasks specified by various open source organizations. These open source organizations range from Drupal to KDE and even the Wikimedia Foundation. Over the past five years, 2,233 students from 87 countries have completed 12,495 open source tasks through the competition.

Students who complete one task earn a certificate, and students who complete three tasks earn an extra T-shirt. At the end of the competition, each organization will choose two students as the grand prize award winners and they will visit Google HQ.

This year’s Google Code-in competition is already underway and ends January 25.

Conferences and travel scholarships

Attending an open source related conference is a great way to get involved with an open source project and community. There is usually a beginner track at conferences to help first-time contributors. You also have the opportunity to network with committers and community members.

On the downside, as a student, finances are most likely tight. On the bright side, there are conferences offering travel grants for students and underrepresented groups. PyCon, for example, has a financial assistance program, and StrangeLoop has opportunity grants. For women, the Grace Hopper Conference offers scholarship grants you can apply for every year. If you’re into Linux, every LinuxCon has deeply discounted tickets for students and a diversity scholarship program.

These are just a few of my favorite conferences that offer travel assistance or scholarships. For a more thorough list see the OpenHatch wiki.

Finding mentors and beginner issues

Another way to get involved in open source is to find a great mentor. In certain large open source organizations, there are formal mentoring programs you can take part in. For example, the Fedora project has a list of mentors offering help depending on your interests. Mozilla has a great website on how to contribute and find mentors to get involved. Furthermore, Mozilla has a great volunteer site for those who want to contribute design or translation skills if you’re not a programmer.

There are also some open source projects that mark issues as beginner-friendly. To find them, I highly recommend visiting the OpenHatch issues page or Up For Grabs site, or search for beginner issues on GitHub. As a bonus, feel free to check out the 24 Pull Requests initiative, which provides a listing of projects you can contribute to at the end of each year during the holidays.

Pay it forward

It’s important to remember that we were all students at one time and everyone starts their open source journey somewhere. If you’re reading this as a student, I hope you find these resources useful to get started (please note there are more programs out there than I listed). If you’re reading this as an experienced open source developer, remember to pay it forward, we owe it to the future generation of open source developers to spend time mentoring them and lowering the barriers to contribution.

Thoughts on running an open source program (via @TODOGroup)

I recently posted on the @TODOGroup blog on why we run an open source program at Twitter:

Outside of just my experience, it’s been great to see other companies participating in this effort so you can hear from them too on running open source programs:

There should be more blog posts from us in the future about this topic, on top of us discussing other issues pertinent to companies working with open source communities.

Anyways, I hope you learned something new from these posts and if you’re a fan of company open source programs, please consider pushing your company or others to establish an official open source program or office. We all should give back as it’s in our best interest.

FoundationDB and Open Source Foundations

Just like any other day, I saw a funny tweet across my timeline this morning:

Not sure if you heard the news, but FoundationDB was a company with a decent amount of open source projects around a NoSQL database. They recently were bought by a much larger company and decided to close down the project, including removing the source and binaries from distribution channels.

I don’t want to sound like a broken record, but open source foundations are really useful. As a consumer, it helps you ensure that there is an independent governance structure in place along with fair ownership of the code (usually the foundation). This means that code won’t disappear overnight since an independent entity owns it, along with the broader community. From a producer point of view, you can build diversity in ownership and committers which will help you in the long run in building a sustainable open source community.

Oh well, c’est la vie.

Quick update and nice set of genuine tweets from the CouchDB folks who saw the benefits of having the code exist at an open source foundation:

Linux Kernel’s Code of Conflict

The Linux Kernel recently has come up with an aptly named “Code of Conflict” to deal with some of the criticism inside that community:

There’s also an interview from the Linux Foundation Executive Director, Jim Zemlin about this topic:

While not perfect in my opinion, it is the step in the right direction to ensure a well behaving community. While most people will be excellent to each other, there will also be outliers. Also, it’s important to set expectations within a open source community and really just set the ground rules.

Finally as a prediction (and hope), I expect to see more open source communities, foundations and even companies start implementing these code of conduct style guidelines this year.

FYI: Open Source Initiative (@OpenSourceOrg)

If you aren’t aware of the Open Source Initiative (OSI), you should be. They are fantastic not-for-profit organization responsible for the Open Source Definition (which everyone should read once in their lives), they maintain a a list of compliant license definitions on top of promoting open source across the world.

They are also membership driven organization, which is supported by individuals and affiliates. As far as I know, they are the only organization that brings together a variety of open source individuals/institutions to cross-promote ways to work together improve the adoption of open source software:


They are also in the last month of their membership drive, so if you’re interested in supporting their cause, I highly recommend you consider joining as a member:

Also more selfishly, the OSI currently has nominations open for the board of director election which I’m partaking in. The current group of nominations include a great group of folks from all over the open source ecosystem and I’d love to have the opportunity to serve, my plans include expanding corporate membership and more.

So please consider supporting the OSI and vote your interests, they really make the greater open source community a better place.

One Week until #MesosCon 2014 (and LinuxCon)

Over the last couple of years I’ve been heavily involved in open source infrastructure technology by way of the Mesos project, which my team and Twitter have helped grow outside its humble beginnings as an academic project. As a result, I’m really looking forward to the first #MesosCon next week (co-located with LinuxCon) which my team at Twitter helped put together in collaboration with the awesome Mesos community and the great folks at the Linux Foundation. It was interesting as we put together the conference in a fairly transparent fashion, but that’s a topic for another blog post.






The schedule looks great and covers a wide variety of infrastructure usage:

The final day we also have a Hackathon where committers and Mesos community members will be available to drive the project forward based on community interest (basically who shows up).

Also, right before #MesosCon there will be a Docker Meetup in Chicago which will have a talk about running Docker containers on Mesos.

Look forward to seeing everyone in Chicago, feel free to reach out to me if you would like to meet up and chat open source over a frosty beverage.

Interview with @OpensourceWay

I’m a bit behind on blogging but last week I gave an interview with about how we scale our infrastructure at Twitter using Mesos, check it out:

Hope you learned something new!

Travis CI

I’ve been slightly enamored with Travis CI as of late…

For those who don’t know what Travis CI is, it’s a hosted continuous integration service for the open source community, still in alpha stages but surprisingly stable from my point of view. It also integrates nicely with your GitHub account so you can easily decide what projects you want to build by logging in using your GitHub credentials. On top of that, the Travis CI code itself is hosted on GitHub for people to contribute to.

Traditionally, open source projects benefited from having continuous integration service if they were hosted part of an open source foundation, however, Travis CI allows any project to take advantage of the service if they support the language:

For example, I recently decided to add Travis CI support to hogan.js, which is one of Twitter’s open source projects, essentially a compiler for the Mustache templating language. You essentially get a nice build status icon that integrates nicely into your GitHub’s projects README:

Adding Travis CI support for the hogan.js Javascript library was fairly trivial, you can take a peak at the commit to figure out how it was done or read the Travis CI documentation. The only tricky part was ensuring that git submodules were properly initialized and phantomJS was launched so QUnit can successfully run. It’s even easier for other languages that Travis CI supports!

In the end, I love what Travis CI is doing for the open source community and how it integrates with GitHub. Continuous integration is something every software project should have and Travis CI makes it really easy to get started. In a future post, I’ll considering comparing Travis CI to some of the other CI options out there (e.g., Hudson/Jenkins), but for now, consider trying out or even sponsoring the service.