Hacktoberfest 2017: The results are in

Hacktoberfest logo

Another Hacktoberfest has come and gone, and we couldn't be more proud of your contributions. With over 200,000 merged pull requests in almost 65,000 repositories, you made this our biggest Hacktoberfest yet. You worked hard, and with those special edition shirts—you looked good doing it. Congratulations!

Happy Hacktoberfesters showing their new T-shirts

From Berlin to Bangalore, almost 32,000 people worked on Hacktoberfest projects in more than 100 community-organized Hacktoberfest events.

Hacktoberfest events all over the world

Thank you

Thanks to all of the open source maintainers who prepared and merged issues for participants. You kept the projects flowing, and you were a big part of this event's success.

Hacktoberfest Tweets

We also want to thank our friends at DigitalOcean for their support of the open source community, and for sponsoring this year's Hacktoberfest. This event wouldn't be possible without you.

What's next

You don’t have to wait until Hacktoberfest 2018 to work on your next open source project!

Searching for something to work on? Check out our redesigned Explore or "help wanted" projects.

Looking for your Hacktoberfest shirt? If you registered and completed four pull requests but haven't received an email about your shirt, reach out to hacktoberfest@digitalocean.com.

Use any theme with GitHub Pages

Just over a year ago Jekyll, the open source project that powers GitHub Pages, introduced shared themes. Since then, you've been able to use about a dozen themes to change the look and feel of your GitHub Pages site.

Starting today, you can use any of the hundreds of community-curated themes on GitHub.com. To build your site with any public, GitHub-hosted theme, add the following to your site's _config.yml file:

remote_theme: owner/name

Replacing owner and name with the repository's owner and name.

And if you're interested in making your Jekyll theme available to other users, simply follow the instructions for creating a Gem-based theme, and ensure the repository is public.

For more information, see the Jekyll theme documentation or get in touch.

Give the gift of code this holiday season with 24 Pull Requests

24 Pull Requests Logo

24 Pull Requests is an annual community-organized event encouraging developers to give back to open source projects over the holiday season. Be part of this year's giving by submitting 24 pull requests between December 1 and December 24.

Last year, almost 3,000 developers gave the gift of code to over 6,000 different open source projects. And now, with the 24 Pull Requests web app, you can get information about the event, find projects that need your help, and even visualize your contributions in a calendar.

Peter Dave Hello's 24 Pull Requests calendar

Whether it's fixing a bug or adding documentation, there are plenty of projects that could use your help! To give back, just sign in with your GitHub account on the 24 Pull Requests site and they'll help you track your contributions.

Give the gift of code

Hubot has landed in the GitHub Shop

We welcome our robot overlords—or at least ones that fit conveniently on human-sized desks! Hubot, your friendly robot sidekick, is now in the GitHub Shop and ready to help you deploy into the future. Hubot may be made of metal (or vinyl in figurine form), but this six-inch robot is here to warm up the workspaces of developers everywhere this holiday season. And with the start of our Cyber Sale, you can get yours for less.

Find a Hubot for your home

Hubot

Get 30% off all GitHub gear

This year, we’re extending our Cyber Sale to make sure you’ve got plenty of time to save on hoodies, stickers, and robots. Just use code GHSALE2017 at checkout to get 30% off your order, and free shipping on orders over $75, November 24-29.

Shop the Sale

Hubot

Introducing team discussions

Working together on software is so much more than writing code. Processes like planning, analysis, design, user research, documentation, and general project decision-making all play a part in the build process. Now there's a new way to talk through projects with your team.

Demo of team discussions

Give every conversation a home (and a URL)

Team discussions provide your team and organization members a place to share information with each other. Gone are the days of having your issues cluttered with discussions or your pull requests flooded with lengthy conversations that aren’t related to your code changes. Team discussions give those conversations a home and a URL on GitHub, so they can be shared easily across the platform or saved to reference later.

Start discussions from your dashboard

To get started with team discussions, navigate to your dashboard while logged in and choose a team from the new "Your teams" section on the right sidebar. Then click on your team to go to the discussion view. From there you can start a new discussion or join in on an existing one.

Chat with your team in public or private

All organization members can see your discussion posts by default. Mark your post as private if you have something more sensitive to share. Only direct team members will have access to the private post and its replies.

Screenshot of a private post

Building on top of the nested teams functionality, notifications cascade from parent to children teams making it even easier to share important information throughout your organization.

Screenshot of team discussions

Get updates on conversations you care about

Having trouble staying in the know about what other teams within your organization are working on? Watch a team that you're not a member of to stay up to date on their public discussion activity. If you’re worried about getting too many notifications, that's okay, too! You can always subscribe or unsubscribe to individual posts or decide to un-watch an entire team if the flow of information is too much.

Screenshot of team discussions view

Support for team discussions in the GitHub API v3 and v4 and GitHub Enterprise is coming soon—and stay tuned for even more features, and functionality. Our goal is to provide you with a place to organize your thoughts, discuss ideas, and work through your team's toughest problems on GitHub.

To learn more, check out the documentation!

Introducing security alerts on GitHub

Last month, we made it easier for you to keep track of the projects your code depends on with the dependency graph, currently supported in Javascript and Ruby. Today, for the over 75 percent of GitHub projects that have dependencies, we’re helping you do more than see those important projects. With your dependency graph enabled, we’ll now notify you when we detect a vulnerability in one of your dependencies and suggest known fixes from the GitHub community.

Security Alerts & Suggested Fix

How to start using security alerts

Whether your projects are private or public, security alerts get vital vulnerability information to the right people on your team.

Enable your dependency graph

Public repositories will automatically have your dependency graph and security alerts enabled. For private repositories, you’ll need to opt in to security alerts in your repository settings or by allowing access in the Dependency graph section of your repository’s Insights tab.

Set notification preferences

When your dependency graph is enabled, admins will receive security alerts by default. Admins can also add teams or individuals as recipients for security alerts in the dependency graph settings.

Respond to alerts

When we notify you about a potential vulnerability, we’ll highlight any dependencies that we recommend updating. If a known safe version exists, we’ll select one using machine learning and publicly available data, and include it in our suggestion.

Vulnerability coverage

Vulnerabilities that have CVE IDs (publicly disclosed vulnerabilities from the National Vulnerability Database) will be included in security alerts. However, not all vulnerabilities have CVE IDs—even many publicly disclosed vulnerabilities don't have them. We'll continue to get better at identifying vulnerabilities as our security data grows. For more help managing security issues, check out our security partners in the GitHub Marketplace.

This is the next step in using the world’s largest collection of open source data to help you keep code safer and do your best work. The dependency graph and security alerts currently support Javascript and Ruby—with Python support coming in 2018.

Learn more about security alerts

Life as a GitHub Intern: the Making of GitHub Field Day

Wilhelm Klopp is a student at University College London (UCL), a Campus Expert, and creator of Simple Poll—one of the most popular Slack integrations. He spent the summer of 2017 as a Developer Relations Intern on the GitHub Education team. In this post Wilhelm shares his work on GitHub Field Day over nine weeks at GitHub HQ in San Francisco.

Solving a problem for my own community

At UCL, our student community is vibrant and engaged, but after a few years, I noticed that we lacked a system for “knowledge transfer”, including a way for older leaders to train new students before they graduate. There are a few great resources out there to help solve this problem. Campus Experts, for example, is an online training community to enrich the technical community on your campus.

Personally, I was interested in developing an in-person event for student tech leaders—and GitHub Education was interested, too. For my internship, I proposed to start with a prototype event at GitHub HQ in San Francisco, and grow it to wider scale from there.

The event, later called “GitHub Field Day,” would bring together tech student leaders to learn from each others successes and mistakes, figure out what works and what doesn’t in community development, and get to know each other. Field Day would be an event where students create an agenda of their pain points and success stories. After a day of learning from each other, they could go back to their own schools and apply the lessons learned.

Interns working at GitHub HQ

Support and mentorship, the GitHub way

The first week as a GitHub intern is big—kind of like moving to new city and starting a full-time job. You move into a flat in San Francisco, meet your co-workers, and get to know the team you’ll be spending time with over the summer. The Developer Relations interns also got to join the Education team for a “mini-summit”: a twice-annual team meeting where we discuss priorities and timelines, while getting a sense of how the team works together.

Something that not very many people know about GitHub is that over 60 percent of its employees work remotely. Although all interns are based in San Francisco, we worked remotely with our GitHub team members—sometimes across multiple time zones. This can be challenging at first as you learn to use a plethora of communication tools to their fullest.

For example, if your teammate lives in Scotland and you’re in San Francisco, you might get a few Slack messages outside of working hours—or even wake up to reminders about 4 am meetings.

Intern class with hoodies
Interns have on-boarding cohort, just like GitHubbers do–and complete with swag. Here’s the whole internship class in our navy GitHub Intern hoodies.

Launching the first Field Day

Fellow interns @jasonetco and @kim-codes and I worked quickly to gear up for a successful launch, which meant we needed branding, an announcement, and a landing page for the event. Together, we managed to get it all up and running in just five days. The morning of the event, we also put together banners, name tags, and enough food to feed dozens of students.

The hard work paid off: We received hundreds of applications from students who wanted to improve their communities, and on Field Day we had a packed house. When 50 students began to walk through the door, I knew we were onto something great—everyone was excited and had a lot to talk about.

One topic was learning design for coding beginners, particularly relevant to student-run events and hackathons. Another common pain point was how to develop a group identity, and make new members of a school's tech community feel like they belong. Students also wanted to be able to connect their campus community with other schools, something they could accomplish through the relationships they built on Field Day. We even had a surprise visit from GitHub’s Senior Vice President of Technology, @jasoncwarner who did an impromptu Q&A.

I’m happy to share that Field Day lives on: all the work going into the branding, outreach, design and reflection has now shipped to 10 scheduled events around the world.

See if Field Day is visiting a city near you

Wil and Kim intern in San Francisco

Postscript shoutout: thanks @kim-codes!

Thanks to my awesome intern cohort and especially @kim-codes—my partner-intern in crime in brainstorming, ideation, and execution.

We're just wrapping up application season for our 2018 internships. If you'd like learn more or get updates on recruiting for our 2019 intern cohort, visit internships.github.com.

Mapping crises for the American Red Cross and the UN with GitHub

How many students can help solve urgent problems within weeks of writing their first lines of code?

In Taichi Furuhashi's “Introduction to Spatial Information Systems I” at Aoyama Gakuin University in Japan, students collaborate with organizations like the American Red Cross, the World Bank, the United Nations and the Japan International Cooperation Agency.

For Furuhashi, President of CrisisMappers Japan, student engagement and active learning are his primary design principles. The relatively new program helps students work together to make new tools that solve big problems.

Furuhashi’s courses have been dedicated to alleviating disasters, and his students work on different aspects of providing accurate and up-to-the-minute data to aid in relief to NGOs and industry partners.

Design principles behind School of Global Studies and Collaboration
Design principles behind the School of Global Studies and Collaboration.

From OpenStreetMap to GitHub Gist

In July of 2017 the Asakura City region of Japan was hit with heavy rains and flooding. Whole sections of southern Japan were impassible, and residents urgently needed resources like water and food.

Organizations like the Red Cross used the Humanitarian OpenStreetMap Team’s tasking manager (called HOT for short) to post requests for analysis of affected regions.

Landslides and Flood mapping in Asakura City
Students in Taichi's class accept a request for mapping help from the Humanitarian Open Street Map tasking manager (a.k.a. HOT).

Photos of the affected regions come in via probe drone, satellite, or panoramic camera. Students draw polygons on maps that match up with these photos to show affected regions, like mudslides, downed forests, or collapsed bridges. Then they export the GeoJSON data to a GitHub Gist file (like this one) and send the analysis back to organizations the Red Cross via HOT.

Asakura-shi Sugawa area(https://gist.github.com/mapconcierge/6a579e7052cdba3d5e314989608bda4f)

This map captures the heavy rain caused by Typhoon No. 3 on June 30, 2007. It’s based on images taken by helicopter by the Ministry of Land, Infrastructure and Transport. The polygons and lines indicate potentially impassable roads due to mudslide and the general reach of the flood.

The contributions that students make—their polygons and data analysis—can help authorities decide where to send resources and find flood and landslide victims. By helping local crises, the work of the class is always relevant and urgent.

GitHub 101 in Japanese

As the Director of OpenStreetMap Foundation Japan, Furuhashi involves students directly in the open source communities he’s a part of. This means mastering the GitHub flow, using GitHub Pages to make portfolio sites, and participating in open source communities.

He produced a slide deck to help onboard students to the world of GitHub and introduce them to the world of open source. The slides are, naturally, under an open license: CC BY-SA 4.0.

GitHub and Spatial Information


GitHubを活用した、赤十字と国連のためのクライシスマッピング

一体何人の学生が、初めてコードを書いてから数週間で、現実の緊急課題に自分の技術的な能力を活かせるでしょうか?
青山学院大学相模原キャンパス古橋大地教授の「空間情報システム入門I」講座では、学生が赤十字、世界銀行、国連、国際協力機構(JICA)などの組織と協力して、災害救助活動を支えています。
クライシスマッパーズ・ジャパン理事長の古橋氏にとって、講座の主な設計理念は学生の積極的な参加と学習です。この比較的新しい講座で、学生は大きな問題を解決する新しいツールを協力して作成できるよう学んでいます。
古橋氏のコースは災害による被害の軽減を目的としており、NGOや産業パートナーが安心して活動できるよう、学生は正確かつ最新のデータ提供にさまざまな側面から取り組んでいます。
地球社会共生学部の設計理念とコラボレーション
地球社会共生学部の設計理念とコラボレーション

OpenStreetMapからGitHub Gistへ

2017年7月、福岡県朝倉市地域は豪雨と洪水に見舞われました。この地域の住民は孤立し、水や食料といった物資が大至急必要でした。
赤十字などの組織はHumanitarian OpenStreetMap TeamのTasking Manager (略称HOT)を活用し、被災地域の分析リクエストを投稿しました。
朝倉市周辺発災後土石流・洪水エリアマッピング(https://tasks.hotosm.org/project/3306)
古橋氏のクラスの学生は、Humanitarian OpenStreetMap Tasking Manager (略称HOT)からのマッピングサポートリクエストに応じました。

探査ドローン、衛星、パノラマカメラなどから被災地域の写真が届くと、学生はそれを基に、土砂崩れ、倒木、崩落した橋など、被災地域の状況を示す多角形を地図上に描きました。その後、GeoJSONデータをGitHub Gistファイル()にエクスポートし、分析結果をHOT経由で赤十字に返しました。

朝倉市須川地区(https://gist.github.com/mapconcierge/6a579e7052cdba3d5e314989608bda4f)
この地図は、2017年6月30日の台風3号による豪雨の状況を示したもので、国土交通省のヘリコプターから撮影された画像を基に作成されています。多角形と線は、土砂崩れや洪水により寸断されている可能性がある道路を示します。

学生が作成した多角形とデータ分析は、支援団体による支援物資の送り先や、洪水と土砂崩れによる被災者の捜索範囲の決定に貢献しました。危機的状況にある地域を支援することで、学生は常に現実的で急を要する問題に取り組んでいます。

日本語版GitHub 101

オープンストリートマップ・ファウンデーション・ジャパンの理事として、古橋氏は自身が参加するオープンソースコミュニティに学生を直接かかわらせています。つまり、学生はGitHub Flowをマスターし、GitHub Pagesを使ってポートフォリオサイトを作成して、オープンソースコミュニティに参加しているということです。
古橋氏はスライドデッキを作成して、オープンソースの世界を紹介し、学生がGitHubの世界に入りやすくしています。これらのスライドは、当然オープンライセンス(CC BY-SA 4.0)です。

GitHubと空間情報(https://speakerdeck.com/mapconcierge/20170713-qing-xue-kong-jian-qing-bao-sisutemuru-men-i-githubtokong-jian-qing-bao)

Introducing Teletype for Atom: Code collaboratively in real time

Work together in real time with Atom Teletype

Writing code with other developers can be a great way to onboard teammates, get to know how your peers think, and learn new skills. Unfortunately, writing code together can be difficult to coordinate.

Now social coding is easier than ever with Teletype for Atom—a new way to dive right into code with remote collaborators. Work together in real time with your own configurations in your own programming environment on any file you can open in Atom.

Today we’re releasing the Teletype package in beta, but there’s so much more to come. Visit teletype.atom.io to start coding together in Atom today.

Get started

Seamless collaboration with Teletype

Collaborate seamlessly

Talk through a review without latency. With Teletype, you can invite one or more of your teammates to jump right into the code. Everyone gets a cursor, and everyone can type at the same time.

Bring your own configurations

Share your code without giving up your configurations. Sharing is at the keystroke-level rather than at the pixel-level, so you can collaborate with your own key bindings, packages, and themes.

Connect peer-to-peer

All data flows over encrypted peer-to-peer connections. Our servers never see your files or edits, which maximizes your privacy and minimizes latency between you and your collaborators, regardless of your proximity to our data centers.

Build on Teletype

Best of all, Teletype is free and open source. As we continue along our roadmap and take Teletype beyond beta, we hope to see community contributors build on and extend it to other editors.

Today’s beta release is just the beginning of social coding with Atom. Our list of improvements includes support for voice communication and editor-agnostic collaboration. To learn more about Teletype and find out where it’s headed next, check out our post on the Atom Blog.

Build on your workflow with four new Marketplace apps

blog-header

Today we’re welcoming four new apps to GitHub Marketplace that'll help you out with code review, deployment, and localization for your projects.

Code Review
SideCI is a code review assistant that analyzes pull requests automatically and uncovers issues like coding standard violations, potential security issues, and anti-pattern instances. Review code more efficiently, deliver products with confidence, and help your team accomplish more.

Continuous Integration
Streamline deployment to Kubernetes and manage your entire container lifecycle with Codefresh—CI/CD for containers that helps agile teams write better code faster with rapid feedback and testing cycles. Instantly spin up any code change, feature branch, and Docker image as part of a composition and share it with the entire team.

Localization
POEditor is a collaborative translation platform and localization management tool. It offers a common space for product and localization managers, developers, and translators to efficiently work together on making multilingual software.

Dependency management
MyGet provides hosted NuGet, npm, Bower, Maven, PHP Composer, and VSIX feeds for individual developers, open source projects, and corporate development teams. Create artifact feeds for developers or clients with our own artifacts and third party packages. Packages can come from your build server or an upstream package source. You can also use MyGet to build, test, and transform your source code into a compiled NuGet, npm, or PHP Composer package right from your GitHub repository.

We can’t wait to see what you do with these new apps! See how they can help your team work better or discover even more tools in GitHub Marketplace and integrate them into your workflow in minutes.

Archiving repositories

Just because a repository isn't actively developed anymore and you don't want to accept additional contributions doesn't mean you want to delete it. Now archive repositories on GitHub to make them read-only.

archived repository banner

Archiving a repository makes it read-only to everyone (including repository owners). This includes editing the repository, issues, pull requests, labels, milestones, projects, wiki, releases, commits, tags, branches, reactions and comments. No one can create new issues, pull requests, or comments on an archived repository, but you can still fork archived repositories—allowing development to continue elsewhere for archived open source projects.

To archive a repository, go to your Repository Settings Page and click Archive this repository.

archive repository button

Before archiving your repository, make sure you've changed its settings and consider closing all open issues and pull requests. You should also update your README and description to make it clear to visitors that it's no longer possible to contribute.

If you change your mind and want to unarchive your repository, click Unarchive this repository in the same place. Please note that most archived repository settings are hidden and you'll have to unarchive the repository to change them.

archived labelled repository

To learn more, check out the documentation on archiving repositories. Happy archiving!

GitHub welcomes all CI tools

GitHub and all CI tools

Continuous Integration (CI) tools help you stick to your team's quality standards by running tests every time you push a new commit and reporting the results to a pull request. Combined with continuous delivery (CD) tools, you can also test your code on multiple configurations, run additional performance tests, and automate every step until production.

There are several CI and CD tools that integrate with GitHub, some of which you can install in a few clicks from GitHub Marketplace. With so many options, you can pick the best tool for the job—even if it's not the one that comes pre-integrated with your system.

The tools that will work best for you depends on many factors, including:

  • Programming language and application architecture
  • Operating system and browsers you plan to support
  • Your team's experience and skills
  • Scaling capabilities and plans for growth
  • Geographic distribution of dependent systems and the people who use them
  • Packaging and delivery goals

Of course, it isn't possible to optimize your CI tool for all of these scenarios. The people who build them have to choose which use cases to serve best—and when to prioritize complexity over simplicity. For example, if you like to test small applications written in a particular programming language for one platform, you won't need the complexity of a tool that tests embedded software controllers on dozens of platforms with a broad mix of programming languages and frameworks.

If you need a little inspiration for which CI tool might work best, take a look at popular GitHub projects. Many show the status of their integrated CI/CD tools as badges in their README.md. We've also analyzed the use of CI tools across more than 50 million repositories in the GitHub community, and found a lot of variety. The following diagram shows the relative percentage of the top 10 CI tools used with GitHub.com, based on the most used commit status contexts used within our pull requests.

Our analysis also showed that many teams use more than one CI tool in their projects, allowing them to emphasize what each tool does best.

Top 10 CI systems used with GitHub.com based on most used commit status contexts

If you'd like to check them out, here are the top 10 tools teams use:

It's tempting to just pick the default, pre-integrated tool without taking the time to research and choose the best one for the job, but there are plenty of excellent choices built for your specific use cases. And if you change your mind later, no problem. When you choose the best tool for a specific situation, you're guaranteeing tailored performance and the freedom of interchangability when it no longer fits.

Ready to see how CI tools can fit into your workflow?

Browse GitHub Marketplace

New in the Shop: Reflective Hoodie

Temperatures are dropping, and so is this reflective new hoodie. Layer up, grab a hot beverage, and cozy up into fall while reflecting on all the commits you've made this year.

Shop now

Hoodies

Hoodie close up

Search repositories by license

Now you can look for repositories by their license. Search for a specific license using a query such as license:mit or license:gpl-3.0 or find repositories licensed under a particular license family—Creative Commons, for example—with a query such as license:cc. We've added a new license filter on the Advanced Search page to help you craft the right query.

License picker, advanced search page

With this update, you'll also see repository licenses in even more places around GitHub: organization and user profiles, the new Discover Repositories tab, and in search results.

License info in search results

We hope having license information more readily available will help you find projects you'd like to contribute to, as well as useful projects that fit your licensing requirements. To learn more, check out the documentation on searching repositories by license.

And the theme for Game Off 2017 is…

GitHub Game off 2017

Game Off—our fifth annual game jam celebrating open source is officially underway. The theme for this year’s jam is throwback.

Let your imagination run wild and interpret that in any way you like, but here are a few possible interpretations for inspiration:

noun

  • a reversion to an earlier ancestral characteristic
  • a person or thing having the characteristics of a former time
  • a nostalgia for something in the past (fashion, movies, literature, games, technology)
  • something retro—a blast from the past
  • something passé—no longer fashionable or popular,
  • throwing something back—as in a ball or reply

How to participate

  1. Create a game based on the theme over the next month.
  2. Sign up for a free GitHub account if you don't already have one.
  3. Join the Game Off on itch.io. If you don’t already have an itch.io account, log in with your GitHub account.
  4. Create a new repository to store the source code and any assets you’re able to share for your entry and push your changes before December 1 13:37 PDT.
  5. Submit your game through itch.io.

You can participate by yourself or as a team. Multiple submissions are fine. And of course, the use of open source software is encouraged.

Voting

This year, voting will open shortly after the jam ends and is open to everyone who’s submitted a game.There’ll be plenty of time to play and vote on the entries.

As always, we'll highlight some of our favorites games on the GitHub Blog, and the world will get to enjoy (and maybe even contribute to or learn from) your creations.

It’s dangerous to go alone

If you're new to Git, GitHub, or version control…

If you're new to itch.io or game development…

The itch.io community feature is enabled for this jam—that’s a great place to ask questions specific to the Game Off, share tips, etc.

And don’t be shy—share your progress! The official Twitter hashtag for the Game Off is #GitHubGameOff.