Join the Open Source World by Hosting Your Code on GitHub
Name: Github (Visit Github)
Type: Git Repository Host
Best Website For: Hosting Open Source Projects
Reason it's on The Best Sites:
If you code, you already know what Github is. For those of you who don't know, it's a place to host your code. Users can Star and Fork your project. Starring is like liking on Facebook and forking is cloning the project to your own account. There is an endless supply of cool projects to surf through by sorting projects by the amount of stars they have received.
RightsCon—an annual conference on human rights in the digital age—brought together more than 2,000 people from 115 countries last week in Toronto. On the first day of the conference, we joined non-profits, academics, and other tech companies for a session on working together to protect and promote human rights.
Alongside conversations on bias in artificial intelligence (AI) decision-making and cybersecurity capacity-building, we led the discussion on working with our community to develop the policies that govern the use of our site. In the face of public discourse on who should be deciding what speech is legal—and who should be held accountable for these decisions—we provided this example of how a platform can adopt rules through a transparent, democratic process.
At the session, we also highlighted several other ways in which our policy work promotes human rights, like freedom of expression and privacy. Some examples:
To promote freedom of expression, we limit censorship by making sure requestors meet our detailed requirements for takedown requests and by limiting the impact of the takedown when possible. For example, we geo-block content that isn’t illegal in all jurisdictions and, when possible, ask users to remove parts of a repository that contain infringing content, rather than blocking an entire repository. In addition, we promote the right of access to information (related to the right to free expression) and transparency by publishing transparency reports and posting takedown notices in real time in our government-takedowns and DMCA repositories. We also described there (and at another RightsCon session) our work on the global implications of the EU’s copyright proposal on free expression.
In our submission to United Nations Special Rapporteur David Kaye’s upcoming report on content moderation and free expression, we note that our approach is consistent with international human rights law. As many speakers at RightsCon pointed out, those international standards are useful for companies looking for a baseline for evaluation that applies to users globally, without imposing one country’s norms on countless others.
Millions of developers trust us with their data—and protecting their privacy is a top priority for us. We didn’t need to change the way we handle user data to comply with the EU’s General Data Privacy Regulation (GDPR), which recognizes data protection as a fundamental right. We are proudly in compliance with the GDPR ahead of the law’s deadline this Friday.
Anti-slavery and child labor
GitHub’s Statement Against Modern Slavery and Child Labor outlines the steps we take to make sure modern slavery and child labor are not in our business or supply chain. RightsCon participants were interested to hear how companies that aren’t typically associated with these abuses are taking steps to show how they prevent them, including by placing requirements on their suppliers.
Beyond these examples, a human rights perspective runs through much of our work, such as immigration, open source, net neutrality, and cybersecurity. Hopefully, this illustrates how important it is for tech companies to consider the human rights implications of so much of what we do.
Coming off the heels of an invigorating week of learning and collaborating at RightsCon, we look forward to continuing our work to keep the internet free, open, and secure, and to protect human rights.
A fresh release of our Electron-based Desktop app is here! GitHub Desktop 1.2 ships with new features and enhancements that help you stay up-to-date with your coworkers’ changes and keep you in sync with your team.
Now you can compare your branch to any other branch in the repository, like your master or base branch, and merge that work into your current branch—and there’s more to come.
In previous versions of GitHub Desktop, you could either perform actions, like discarding changes, on one file at a time or all files at once. Now you can select multiple files to perform an action on by holding down Shift or Command/Ctrl and clicking on the files you want selected.
GitHub Desktop is open source. Thanks to our community, we’ve merged 26 contributions from 18 different contributors. Since launching 1.1 in February, we’ve fixed bugs, improved existing features, and extended GitHub Desktop. In fact, our multi-file select feature started as a pull request from our community :heart:. We’d love to have you join us and contribute to future versions of Desktop.
Check out our release notes to learn more.
One year ago, we released GitHub Marketplace—a new way to promote, share, and sell the developer tools you built on GitHub. Our goal was to create a single destination for our community to discover the apps and services they need without setting up multiple accounts or payment methods. We launched with 14 select integrators. Today, Marketplace serves more than 100,000 users and offers almost 50 tools. Many of you look to GitHub Marketplace as a place to start to building a business, and we’re making it easier for you to do that with each new feature.
Year in review
Growing our ecosystem
From Travis CI to BackHub and Microsoft, exciting new partners are coming to GitHub Marketplace all the time. To make building apps simpler and help businesses grow, we’ve added features like analytics, product placement, and account support. We’ve also improved our onboarding processes and tools, reducing the time to get listed from two months to two weeks.
As a result, Marketplace apps can gain traction fast. For example, Dependabot saw a 10x increase in signups the month they listed their app.
“We built our business on GitHub because it sits at the heart of developers’ workflows—and that’s where we think project management, or any developer tool, should live, too. It’s great to see that GitHub supports its ecosystem partners the same way it does developers in general, with lots of freedom to move work forward. We’re glad to be a key partner in bringing project management close to the code, and we’re excited to see how GitHub will invest in its ecosystem and Marketplace in the months and years to come.” — Matt Butler, ZenHub
Building an integrated product
The Marketplace API is coming out of preview, and over the last year, we’ve worked to bring functionality that was built natively into GitHub Marketplace to other areas of the GitHub platform. For example, you can now add GitHub Marketplace apps directly to a repository as you create it.
New features for integrators
If you want to get listed and currently don’t offer a paid product, you can now list your app on Marketplace as a completely free service available to more than 30 million developers on our platform. Free apps make GitHub even more flexible and provide developers with more ways to build on their workflows.
Whether you’re a team of one or 1,000 developers, knowing how people use your software can help you create a better user experience. We’ve made it easier to get insight into your app’s performance with new data views and visualizations that show you how many people visited your Marketplace landing page, track the impact of your marketing campaigns, and more.
After seeing a queue of promising apps waiting to join Marketplace, we’ve taken steps to simplify the process. Now partners can quickly get their app onboard and learn everything they need to know to get set up.
“We’re proud to be part of GitHub Marketplace and believe it’s a critical avenue for growth and success for all products in the developer ecosystem space. There is no better platform than GitHub for growth, collaboration, and brand equity. As GitHub continues to concentrate on its ecosystem and GitHub Marketplace, we look forward to enhancing our partnership.” — Josh Kalderimis, Travis CI
With the launch of free trials, developers can try your app free for 14 days to make sure they’re choosing the right tool for their team. Over half of the listings in Marketplace support free trials–and we found that supporting a free trial can increase your revenue by 43 percent. In addition, apps that offer free trials now account for more than 60 percent of our revenue on Marketplace.
Your ultimate productivity pair is getting even better. The GitHub and Slack app has a few new features to help you turn conversations into next steps. Take action on pull requests, issues, and more right from your Slack channels to start moving work forward, faster.
Slack conversations often lead to decisions and actionable takeaways. Now it’s easier to start on next steps from Slack with slash commands for common GitHub actions, using
/github [action] [resource]. These commands let you:
- Close an issue or pull request with
/github close [issue link]
- Reopen an issue or pull request with
/github reopen [pull request link]
- Open a new issue with
/github open [owner/repo]
To use these new slash commands, a GitHub organization owner or repository admin will have to accept updated permissions in the GitHub and Slack app. This request can be viewed in the Applications tab in an account’s settings, or in email notifications sent to relevant users.
Previews for private links
Preview content by sharing links from private GitHub repositories. Invite the GitHub integration to the relevant Slack channel using the command
/invite @github. When you post a link, you’ll be prompted to verify that a specific private link should be previewed.
Open source, open platform
This app was built open source using publicly-available APIs, so you can build your own integration just like it. Visit the GitHub and Slack integration repository to contribute code, submit feature requests or bug reports, and learn more about how the app works under the hood.
Install the GitHub and Slack app to connect your GitHub repositories to your Slack channels. With these improvements to GitHub and Slack, working together has never been easier.
Ludum Dare is a game development competition, where developers from around the world are challenged to spend a weekend creating games based on a theme. Despite Ludum Dare 41’s challenging theme—to combine two incompatible genres—over 3,000 creations were submitted by the community.
From real-time arcade games, to visual novel games and point-and-click games, to rhythm-based platformer games, there’s something for everyone. Here are a few entries that caught our attention.
Rythm is Lava
Rythm is Lava mixes not two, but four genres: RPG, puzzle, platformer, and rhythm. Control two characters as you solve puzzles in this great little PICO-8 game from @egordorichev.
Controls: X - restart the level · C / Z - toggle speed run info · ↑ ← → - move
Dungeon Scrawl from @lakrsv is a rogue-like typing-tutor game where you explore a dungeon while battling enemies and searching for treasure!
OUTLAW MAYOR PANIC!
Outrun the law in 3D and build your city in @01010111’s OUTLAW MAYOR PANIC!
Controls: 🎮 or ↑ ↓ ← → - move · X - place building.
Crescendo from @Nate954 is a rhythm-based platforming game about infiltrating a building and collecting mysterious orbs. Your goal? To avoid drawing attention to yourself by timing your movement to the music.
Controls: W A S D, or ↑ ↓ ← → - move
Crux Swarm by @markopolojorgensen is a Metroidvania-inspired tower defense game. Activate and defend cores to gain abilities and the chance to escape.
Controls: W A S D or ↑ ↓ ← → - move · mouse - aim · mouse left click - fire
Lost Without You
Lost Without You is a turn-based action puzzler from @jackrugile (you may remember seeing some of his incredible games built in less than 13kB). Navigate through a mysterious dark labyrinth and help two friends find one another before they run out of light.
Controls: W A S D or ↑ ↓ ← → - move
Build defenses, dodge enemies, and more in Plasimajita by @quantumrain.
Drive around the race track in Wreckless Rally in this Bejewelled-inspired entry from @DaanVanYperen, @Flaterectomy, @meatmachine1001, @MisterOizo and @troop.
Controls: W A S D - move · E - drop cars · C - drift
YOU LEFT ME.
YOU LEFT ME. is dark and surreal visual novel/point-and-click game about loneliness and loss from @zephyo.
Jeff From Accounting
Jeff From Accounting by @Almax27 is an unpunctuated game about typing what you shoot and shooting what you type. Buckle up; things are about to get wordy!
Controls: W A S D or ↑ ↓ ← → - move · SHIFT - sprint · LEFT CLICK - fire · RIGHT CLICK - reload
Think Before Escape
Think Before Escape is a realtime-turn-based platformer created by @acoto87.
Controls:← → - move · SPACE - jump.
C://TEXTRIS.EXE is a text-based puzzle adventure by @kinggryan. Despite the name, it also works on macOS.
Controls: A S D or ↓ ← → - move · > - rotate left · / - rotate right
Controls: Type in Assembly Language. No biggy.
Survive wave after wave of enemy spaceships in @SMILEY4’s Neon Space turn-based shooter.
Controls: W A S D or ↑ ↓ ← → - move · F - fire gun · G - drop / detonate bomb · H - fire laser.
STEREOtype from @thquinn is a rhythm-based typing game. It’s not easy!
Take control of your life in @z2367570158’s Life Jumper–a text adventure 3D platform game.
Controls: 🎮 or W A S D - move · SPACE - jump
RPG Shop from @lawrence-laz is a shop simulator and adventure game.
Controls: Mouse - aim or interact · SPACE - proceed · X - cancel or say no.
Sheet Music Editor Shoot’Em Up
As the name suggests, @hypp’s Sheet Music Editor Shoot’Em Up is a shoot ‘em up game played on sheet music. If you don’t C-sharp when the aliens attack you’ll B-flat.
Controls: ↑ - jump ↓ - release · ← - move left · → - move right · X - change note length · O - fire
Karaoke Ninja by @gastricsparrow may be one of the only stealth games where you have to make noise to win. Talk, sing, scream, make whatever noise you can to make platforms appear that the ninja can use to progress.
Controls: W A D or ↑ ← → - move · 🎤 - create platforms.
Invitris is like Space Invaders meets Tetris. Incredible job for your first Ludum Dare, @mavlac!
Controls: ← → - move left and right · ↑ ↓ - rotate armed brick · SPACE - fire brick cannon
If you’re looking for an opportunity to build your first game and join an amazing community, sign up for the upcoming Ludum Dare 42 on August 10th-13th. Don’t just take our word for it though! Watch a documentary about Ludum Dare on YouTube.
From fake news to copyright infringement, content moderation—and who should do what to address it—is all over the news and policymaking arenas. Although we are a platform that hosts primarily code uploaded by developers, many of those discussions are relevant to GitHub.
Earlier this year, United Nations Special Rapporteur on the right to freedom of opinion and expression, David Kaye, visited GitHub’s headquarters to discuss how content moderation on our platform affects free expression. His visit was part of his research for a report he will present to the United Nations Human Rights Council for its adoption in June. To gather views from governments, companies, and others, Special Rapporteur Kaye issued a call for written submissions with questions on topics ranging from how companies handle takedown requests to what role automation plays (and should play) in content moderation.
In GitHub’s response to the Special Rapporteur’s questions:
We walk through our processes for handling takedown requests (government takedowns and copyright infringement notices under the Digital Millennium Copyright Act (DMCA)) and we describe how we work to reduce abuse on our platform without unnecessarily chilling speech. For instance, we geo-block content if it’s not illegal globally and we consider the right of fair use in handling DMCA takedown notices.
We highlight how we promote transparency, for example by involving our community in the development of the policies that govern use of our platform and by posting takedown notices in public repos in real time. We explain that users can appeal removal of content and that we’ll provide reasons for our decision.
We note that our approach is consistent with international human rights law—specifically Articles 19 and 20 of the International Covenant on Civil and Political Rights, which establish the right to free expression and prohibition of propaganda and hate speech. We also explain that we designed our Community Guidelines to protect the interests of marginalized groups and encourage users to respect each other.
Finally, we explain that we open source our site policies (we’re GitHub, after all!) and hope that our approach gets recognized as a best practice that other platforms adopt.
Contributing to Special Rapponteur Kaye’s report is one way we’re working to define and build on best practices for platform moderation. We also directly participate in the discourse about content moderation, for example at last week’s Conference Moderation Summit and this week at RightsCon. In addition, we continue to advocate for approaches to content moderation that promote transparency and free expression while limiting abuse.
We thank the Special Rapporteur for his thoughtful attention to this timely issue and we look forward to reading his report!
今回公開されたChecks APIを使用することで継続的インテグレーション(CI)、lint、受け入れテストのための高度なツールの構築が可能となり、よりアジャイルな開発を実現します。現時点ではGitHub REST APIに対応していますが、近日中にGraphQLへの対応を予定しています。
ビルドステータスはPull Requestにある「 Checks 」タブから確認できます。ステータスの詳細はPull Requestの該当コードの横に表示されるため、失敗となった理由を即座に特定、対処できるようになりました。
これまでの数週間、複数のパートナー企業と協業してChecks API機能の調整を行ってきました。以下では、すでにChecks APIパブリックベータと連携できること確認済みのアプリを紹介したいと思います。
Microsoft Visual Studio App CenterやOutlookとの連携
マイクロソフトは、昨年最多のコミュニティ参加者数を記録したVisual Studio Codeや昨年最も急成長を遂げた言語の1つであるTypeScriptなど、GitHub上に多数のオープンソースプロジェクトをホストしているだけでなく、AzureのMobile CIサービスを始めとするAzureのDevOpsサービスとGitHubのインテグレーションにおいても協業しています。Checks APIのリリースにより、App Centerを利用しているユーザーに対し、GitHub上でモバイルプロジェクトが検知されるとMobile CIをセットアップするよう通知できるようになりました。
また、今後はAdaptive Cardsを利用しGitHubとMicrosoft Outlookも統合する予定です。これにより、Outlookの受信ボックスから直接Issueへコメントしたり、Pull Requestをマージできるようになります。
クラウドサービスとして提供するCIサービスにおいて世界トップレベルのプロバイダであるTravis CIは、7年以上にわたりオープンソースおよびプライベートプロジェクトのビルドとテストを支援しています。同社は先日GitHub Appsの対応を済ませ、プロジェクトのブランチおよびPull Requestのビルド結果をチーム内で共有するツールとして、Checks APIを採用しました。これにより、ビルドのステージ、ジョブおよびそれらの結果、そして各々に関連付けられている設定も含め、プロジェクトの運用の全体像をGitHubから直接把握できます。また、Checks APIのUIからビルドを再実行することも可能です。
Do you ever ask yourself, “What is GitHub” or wish you had an opportunity to learn the basics of Git? If you’ve always wanted to use GitHub, but haven’t quite been able to get up to speed, this beginner-friendly webcast is for you.
Join GitHub Trainers Briana Swift and Cynthia Rich for some useful tips about how to get work done on GitHub. We’ll also provide an overview of the GitHub Flow and share ways to get the most out of our platform, right from the start.
The webcast will take place on May 29 at 10:00 am CET and again on May 29th at 9:00 am PT. We hope to see you there!
At GitHub, we believe that maintaining transparency is an essential part of our commitment to our users. For the past three years we’ve published transparency reports to better inform the public about GitHub’s disclosure of user information and removal of content.
GitHub promotes transparency by:
- Directly engaging our users in developing our policies
- Explaining our reasons for making different policy decisions
- Notifying users when we need to restrict content, with our reasons
- Allowing users to appeal removal of their content
- Publicly posting takedown requests (requests to remove content) in real time in a public repository
We hope our transparency report will interest GitHub users and contribute to broader discourse on platform governance. If you’re unfamiliar with GitHub terminology, please refer to the GitHub Glossary.
In this report, we fill you in on 2017 stats for:
- Requests to disclose user information
- Court orders
- Search warrants
- National security orders
- Requests to remove or block user content
- Government takedown requests
- Takedown notices for alleged copyright infringement under the U.S. Digital Millennium Copyright Act (DMCA)
New in 2017 are:
- Cross-border data requests
- Accounts and projects affected by government takedown requests
Requests to disclose user information
GitHub’s Guidelines for Legal Requests of User Data explain how we handle legally authorized requests, including law enforcement requests, subpoenas, court orders, search warrants, and national security orders.
A subpoena (a written order to compel someone to testify on a particular subject) does not require review by a judge or magistrate. By contrast, a search warrant or court order does require judicial review.
As we note in our guidelines:
- We only release information to third-parties when the appropriate legal requirements have been satisfied
- We require a subpoena to disclose certain kinds of user information, like a name, an email address, or an IP address associated with an account
- We require a court order or search warrant for all other kinds of user information, like user access logs or the contents of a private repository
- We will notify affected users about any requests for their account information, unless prohibited from doing so by law or court order
In 2017, GitHub received 51 legal requests to disclose user information, including 42 subpoenas (30 criminal and 12 civil), three court orders, and six search warrants. These include every request we received for user information, regardless of whether we disclosed information or not. Not all of these came from law enforcement; one came from a U.S. government agency, and 12 came from civil litigants requesting information about another party. We also received two cross-border data requests, as described in the next section. Of the 51 requests received, we produced information 43 times.
Cross-border data requests
Governments outside the U.S. can make cross-border data requests for user information through the U.S. Department of Justice via a mutual legal assistance treaty (MLAT) or similar form of cooperation. Of the 51 requests for legal information described above, GitHub received two requests (one court order and one search warrant) from the U.S. Department of Justice on behalf of non-U.S. government agencies through the MLAT process.
Note legislative developments could lead to increased cross-border data requests and a need for more oversight.
Non-disclosure orders (gag orders)
In many cases, legal requests are accompanied by a court order that prevents us from notifying users about the request due to a non-disclosure order, commonly referred to as a gag order. In 2017, of the 43 requests for which we produced information, we did so without being able to notify users 35 times. This represents a considerable increase from last year and continues a rising trend, up from 27 non-disclosure orders in 2016, seven in 2015, and four in 2014.
We did not disclose user information in response to every request we received. In some cases, the request was not specific enough, and the requesting party withdrew the request after we asked for some clarification. In other cases, we received very broad requests, and we were able to limit the scope of the information we provided.
National security orders
We are very limited in what we can say about national security letters and Foreign Intelligence Surveillance Act (FISA) orders. The U.S. Department of Justice has issued guidelines that only allow us to report information about these types of requests in ranges of 250, starting with zero. As the chart below shows, in 2017, we received 0-249 notices in 2017, affecting 0-249 accounts.
Requests to remove or block user content (takedowns)
Below, we describe two main categories of requests we receive to remove or block user content: government takedown requests and DMCA takedown notices.
From time to time, GitHub receives requests from governments to remove content that they judge to be unlawful in their local jurisdiction (government takedown requests). When we block content at the request of a government, we post the official request that led to the block in a publicly accessible repository. Regarding our process, when we receive a request, we confirm whether:
- The request came from an official government agency
- An official sent an actual notice identifying the content
- An official specified the source of illegality in that country
If we believe the answer is yes to all three, we block the content in the narrowest way we see possible. For instance, we would restrict the removal only to the jurisdictions where the content is illegal. We then post the notice in our government takedowns repository, creating a public record where people can see that a government asked GitHub to take down content.
In 2017, GitHub received eight requests—all from Russia—resulting in eight projects being taken down or blocked (all or part of six repositories, one gist, and one website taken down).
Most content removal requests we receive are submitted under the DMCA, which provides a method by which copyright holders may request GitHub to take down content they believe is infringing. The user who posted the content can then send a counter notice to reinstate content when the alleged infringer states that the takedown was erroneous. Each time we receive a complete DMCA takedown notice, we redact any personal information and post it to a public DMCA repository.
Our DMCA Takedown Policy explains more about the DMCA process, as well as the differences between takedown notices and counter notices. It also sets out the requirements for complete requests, which include that the person submitting the notice take into account fair use.
Takedown notices received and processed
In 2017, GitHub received and processed 1,380 DMCA complete takedown notices and 55 complete counter notices or retractions, for a total of 1,435. In the case of takedown notices, this is the number of separate notices where we took down content or asked our users to remove content.
The notices, counter notices, retractions, and reversals we processed look like this (by month):
Incomplete DMCA takedown notices received
From time to time, we receive incomplete or insufficient notices regarding copyright infringement. Because these notices don’t result in us taking down content, we don’t currently keep track of how many incomplete notices we receive, or how often our users are able to work out their issues without sending a takedown notice.
Projects affected by DMCA takedown requests
Often, a single takedown notice can encompass more than one project. So, we looked at the total number of projects, such as repositories, gists, and Pages sites, that we had taken down due to DMCA takedown requests in 2017. The projects we took down, and the projects that remained down after we processed retractions and counter notices, looked like this (by month):
Based on DMCA data we’ve compiled over the last few years, we’ve seen an increase in DMCA notices received. This isn’t surprising given that the GitHub community also continues to grow over time. When we overlay the number of DMCA notices with the approximate number of registered users over the same period of time, we can see that the growth in DMCA notices correlates with the growth of the community.
Transparency reports by internet platforms have served to shine a light on censorship and surveillance. The very first of the genre, Google’s 2010 Report, stated “greater transparency will lead to less censorship.” In 2018, platforms are under far greater pressure to censor than they were then, and transparency reports have potential to instead show how willing platforms are to cooperate with censors. More thorough transparency can mitigate this risk—particuarly if platforms, users, advocates, academics, and others interested in free speech, privacy, law enforcement, and more use the data to engage in shared conversations that acknowledge common goals.
As the beginning of this report reflects, GitHub sees transparency reports as necessary, but not sufficient, for good governance. We look forward to continuing to engage in discussions with those stakeholders, including our users, as we strive to promote transparency on our platform.
We hope you enjoyed this year’s report and encourage you to let us know if you have suggestions for additions to future reports.
Patchwork, our hands-on Git and GitHub workshop, is headed to Phoenix this month! This event is open to beginners who want to learn and advanced Git users who want to mentor. We’ll have stickers for everyone and something extra for the mentors, so we hope to see you there. Special thanks to Girls In Tech for partnering with us.
GitHubbers and community mentors will be on hand to walk attendees through their choice of learning modules, including:
- Introduction to GitHub
- Communicating using Markdown
- GitHub Pages
- Managing merge conflicts
- Moving your project to GitHub
No coding experience needed
Patchwork is a self-directed, hands-on workshop for learning Git and GitHub. The atmosphere is casual and informal—it’s not an event full of presented tutorials and copious note-taking. You will be able to work at your own pace with the help of a community mentor nearby in case you run into any trouble.
Mentors: if you’ve ever had a pull request merged, now is your chance to share the love and help someone else create magic. :sparkles:
For: Beginners to Git and GitHub and mentors\ When? May 19, 2018, 11-4pm\ Where? SAP Tempe, 1101 W Washington St #401, Tempe, AZ 85281\ RSVP:
- Want to learn Git and GitHub? RSVP as an attendee
- Want to help guide future open source maintainers and contributors? RSVP as a mentor
If you do not yet have a GitHub account, sign up at https://github.com before you attend the event. It’s fast, easy, and of course, free.
We will provide food and refreshments. If you have any food allergies, please let us know during registration.