Twitter github

Posts Tagged with “opensource”

Launching TODO Group Guides

In my participation with the TODO Group, we recently published a set of open source guides (under CC-BY-SA 4.0) dedicated to help companies build out open source programs:

In the last year or so, we have seen companies like AWS build out an open source program via @AWSOpen and even companies like VMWare hired their first Chief Open Source Officer.

We’ve had many organizations approach TODO Group members asking for advice on how to get started with an open source program and these guides are a reaction to that. It is our hope that these are living guides and evolve with community input over time.

Become a Founding Kubernetes Certified Service Provider

In early September, CNCF will be announcing the founding class of Kubernetes Certified Service Providers (KCSPs). If your company provides professional services to support Kubernetes deployments, please consider signing up to become part of the founding class.

The main benefits of becoming a KCSP are:

  • Placement in a new section at the top of https://kubernetes.io/partners/
  • Monthly meetings with cloud native project leaders, TOC members,
    and representatives from the CNCF Governing Board
  • Access to leads from end users looking for support

Requirements are:

  • Three or more engineers who pass the Certified Kubernetes Administrator (CKA) exam
  • Demonstrable activity in the Kubernetes community including active contribution
  • A business model to support enterprise end users, including putting engineers at a customer site

The CKA exam is about to enter early release beta testing prior to the public release in September. It is an online, proctored, performance-based test that requires solving multiple issues from a command line. It takes 3 to 4 hours to complete, and costs $300, though a discount is available for beta testers to $100.

If your company is interested in becoming a KCSP, please do the following 4 things:

  1. Ensure that your company is listed at https://kubernetes.io/partners/
    and if not (or if the listing should be updated), please do so via the link
    at the top of that page.
  2. Have 3 or more of your Kubernetes experts sign up for the beta test at:
    https://docs.google.com/forms/d/e/1FAIpQLSd9-6nL5L3SzWIddCSPoKeuX_Pdq_KHI8C4mQzcUryP-gu0dQ/viewform
    .Please have them use their company email so we can properly associate
    them. Within a week, we will send beta test dates, a discount coupon code, and instructions to register and schedule.
  3. Register your interest in becoming a KCSP at this form: https://docs.google.com/forms/d/e/1FAIpQLSfai-zlNuvP-q0fz3jw89v3v4m_wYaF7tOBmNY0WoKsZgeQUQ/viewform
  4. If you are not already on it, and want to track progress of the certification program over time, please subscribe to the Kubernetes Certification Working Group list: https://lists.cncf.io/mailman/listinfo/cncf-kubernetescertwg.

Questions or issues? Please email cncf-kcsp-support at lists.cncf.io

Thanks!

2018 Eclipse Simultaneous Release Name: Photon

Hey Eclipse friends, as part of my duties on the Eclipse Planning Council, we have worked with the Eclipse Foundation EMO and wider community to finalize the Oxygen+1 simultaneous release name (see bug 510201 for details): Photon

Thanks to everyone who voted in the community!

Open Container Initiative in 2017

Last year I had the opportunity to help build out/run the Open Container Initiative (OCI) and I wanted to take some time to reflect back on what the OCI community accomplished in 2016 and how far we’ve come in a short time since we were founded a little over a year ago.

The community has been busy! The project saw 3000+ commits from 128 different authors across 36 different organizations. With the addition of the Image Format specification project, we expanded our initial scope from just the runtime specification. Our membership grew to nearly 50 members and we also added new developer tools projects —runtime-tools and image-tools— which serve as repositories for conformance testing tools and have been instrumental in gearing up for the upcoming v1.0 release.

We’ve also recently created a new project within OCI called go-digest (which was donated and migrated from docker/go-digest). This provides a strong hash-identity implementation in Go and services as a common digest package to be used across the container ecosystem.

In terms of early adoption, we have seen Docker support the OCI technology in its container runtime (libcontainer) and contribute it to the OCI project (as runc). Additionally, Docker has committed to adopting OCI technology in its latest containerd announcement. The Cloud Foundry community has been an early consumer of OCI by embedding runc via Garden as the cornerstone of its container runtime technology. The Kubernetes project is incubating a new Container Runtime Interface (CRI) that adopts OCI components via implementations like CRI-O and rklet. The rkt community is adopting OCI technology already and is planning to leverage the reference OCI container runtime runc in 2017. The Apache Mesos community is currently building out support for the OCI image specification.

Speaking of the v1.0 release, we are getting close to launch! The milestone release of the OCI Runtime and Image Format Specifications version 1.0 will hopefully be available this first quarter of 2017 or shortly the following quarter, drawing the industry that much closer to standardization and true portability. To that end, we’ll be launching an official OCI Certification program once the v1.0 release is out. With OCI certification, folks can be confident that their OCI-certified solutions meet a high set of criteria that deliver agile, interoperable solutions.

We’ll be looking into the possibility of adding more projects in the coming year, and we hope to showcase even more demonstrations of the specs in action under different scenarios. We’ll be onsite at several industry events, so please be on the lookout and check out events page for details.

There is still much work to be done!  The success of our community depends on a wide array of contributions from all across the industry; the door is always open, so please come join us in shaping the future of container technology! In particular, if you’re interested in contributing to the technology, we recommend joining the OCI developer community which is open to everyone. If you’re building products on OCI technology, we recommend joining as a member and participating in the upcoming certification program.

Note: This was cross-posted to the OCI community blog.

Improved GitHub Code Review Tools

The default GitHub code review experience has always been lacking for me, especially when it comes to code review enforcement. I definitely admit to my bias of being a Gerrit code review fan but at least GitHub is moving in the right direction with recent code review improvements earlier this year.

On the bright side, GitHub has a fairly open API and there’s been a great ecosystem of tools that have popped up that help deal with some of the shortcomings in my opinion. Even more so after GitHub opened up the commit status API, it’s definitely enabled some interesting workflows.

PullApprove

One interesting code review workflow involves enforcing that changes must be reviewed by certain team members (which is a fairly common code review practice). In my opinion, the best tool that I’ve come across that handle this scenario is PullApprove. All you need is a simple metadata file that formalizes your requirements, and you’re good to go, here’s an example of what we use in the OCI project:

approve_by_comment: true
approve_regex: '^(Approved|lgtm|LGTM|:shipit:|:star:|:\+1:|:ship:)'
reject_regex: ^Rejected
reset_on_push: true
signed_off_by:
required: true
reviewers:
teams:
- image-spec-maintainers
name: default
required: 2

The important pieces here are the approve/reject regexes which dictate what terms will be used to approve and reject changes:

As a bonus, the “signed_off_by” setting can be used to enforce DCO which is to make sure your commits are properly signed off for DCO purposes.

LGTM

I also want to give an honorable mention to LGTM which is a simple pull request approval system that is open source but not as configurable as PullApprove IMHO.

Reviewable.io

For any large scale and high velocity projects on GitHub, managing what you need to review can be a daunting task. I’ve personally found Reviewable.io as an interesting tool that helps address the problem of managing the context of what you looked last and what’s on your queue.

Anyways, hope this helps and happy code reviewing! If you’re interested in more integrated GitHub code review tools, I highly recommend checking out the GitHub integration directory.

Cloud Native Computing Foundation and Kubernetes

Over the past few months I’ve been helping form an infrastructure focused open source foundation (from scratch) and acting as its interim Executive Director. I’m thrilled to announce that the Cloud Native Computing Foundation (CNCF) has accepted its first project, Kubernetes:

There’s a ton of work to do still around developing and evolving development processes, but I’m happy to have our first project which will collaborate with us to establish and evolve these processes (along with the other projects that get accepted).

In the end, it’s really been an adventure in setting up this new open source foundation and I definitely need to write a blog post on some of the lessons learned so far about the experience. I’m really looking forward to see the CNCF become a cloud native commons home for many projects, move the cloud native computing paradigm forward and define what it means to be an open source foundation in the modern GitHub era.

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 opensource.com 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 issuehub.io 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: