GitHub – Terms of Service Overview

githubterms-of-service

GitHub website says it is "free to use for public and open source projects". Do the projects need to be public and open source, or just public or open source?

By "open source" I mean FOSS.

Best Answer

GitHub website says it is "free to use for public and open source projects". Do the projects need to be public and open source, or just public or open source?

I interpret "public" to mean that on GitHub you can create a public repository (a repository that is publicly readable) and upload content that you created (or other content that you have the right to upload according to that content's license). The content does not need to be source code. You can upload plain text files and other kinds of files, and people have used GitHub to do collaborative writing and collaborative editing of other things that are not source code (although GitHub is not always the best way to collaboratively edit those other things).

I interpret "open source" to mean source code that is publicly readable. So, in this interpretation, "public and open source projects" means publicly readable repositories that contain source code and/or other content.

Exactly what people are legally allowed to do with the source code and/or other content in your public repository on GitHub, besides read it or fork-and-read it, depends on how the source code and/or other content is licensed. It is possible to upload unlicensed content that you created, but Derek Jones argued in a blog post titled "The Truth About the Risks of Unlicensed Software" (8 February 2017) that uploading unlicensed source code is not a good idea. As Derek said, "The only rights granted to the public by putting code on GitHub are the rights to look at it and fork the repository to look at it in their own account. That grant comes from GitHub's Terms of Service, and still doesn't mean that anyone can actually do anything with the code." Derek recommended that you should choose a license for all content that you upload to GitHub. The Choose a License project, hosted on GitHub, makes it easy to choose a license for the most common situations.