Welcome to the Creatures Wiki! Log in and join the community.

GitHub

From Creatures Wiki
Revision as of 23:01, 3 December 2021 by ScoobyGambit (talk | contribs) (→‎GitHub Enterprise: cleanup)
Jump to navigation Jump to search
GitHub logo 2013.svg

GitHub, Inc. is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git, plus its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, continuous integration and wikis for every project.[1] Headquartered in California, it has been a subsidiary of Microsoft since 2018.[2]

It is commonly used to host open-source projects.[3] As of November 2021, GitHub reports having over 73 million developers[4] and more than 200 million repositories[5] (including at least 28 million public repositories).[6] It is the largest source code host as of November 2021.[7]

History

GitHub.com

Development of the GitHub.com platform began on October 19, 2007.[8][9][10] The site was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, P. J. Hyett and Scott Chacon after it had been made available for a few months prior as a beta release.[11] GitHub has an annual keynote called GitHub Universe.[12]

In early July 2020, the GitHub Archive Program was established, to archive its open source code in perpetuity.[13]

Services

Projects on GitHub.com can be accessed and managed using the standard Git command-line interface; all standard Git commands work with it. GitHub.com also allows users to browse public repositories on the site. Multiple desktop clients and Git plugins are also available. The site provides social networking-like functions such as feeds, followers, wikis (using wiki software called Gollum) and a social network graph to display how developers work on their versions ("forks") of a repository and what fork (and branch within that fork) is newest.

Anyone can browse and download public repositories but only registered users can contribute content to repositories. With a registered user account, users are able to have discussions, manage repositories, submit contributions to others' repositories, and review changes to code. GitHub.com began offering unlimited private repositories at no cost in January 2019 (limited to three contributors per project). Previously, only public repositories were free.[14][15][16] On April 14, 2020, GitHub made "all of the core GitHub features" free for everyone, including "private repositories with unlimited collaborators."[17]

The fundamental software that underpins GitHub is Git itself, written by Linus Torvalds, creator of Linux. The additional software that provides the GitHub user interface was written using Ruby on Rails and Erlang by GitHub, Inc. developers Wanstrath,[18] Hyett, and Preston-Werner.

Scope

The main purpose of GitHub.com is to facilitate the version control and issue tracking aspects of software development. Labels, milestones, responsibility assignment, and a search engine are available for issue tracking. For version control, Git (and by extension GitHub.com) allows pull requests to propose changes to the source code. Users with the ability to review the proposed changes can see a diff of the requested changes and approve them. In Git terminology, this action is called "committing" and one instance of it is a "commit." A history of all commits is kept and can be viewed at a later time.

In addition, GitHub supports the following formats and features:

  • Documentation,[19] including automatically rendered README files in a variety of Markdown-like file formats
  • Wikis[20]
  • GitHub Actions,[21] which allows building continuous integration and continuous deployment pipelines for testing, releasing and deploying software without the use of third-party websites/platforms
  • Graphs: pulse, contributors, commits, code frequency, punch card, network, members
  • Integrations Directory[22]
  • Email notifications[23]
  • Discussions[24]
  • Option to subscribe someone to notifications by @ mentioning them.[25]
  • Emojis[26]
  • Nested task-lists within files
  • Visualization of geospatial data
  • 3D render files that can be previewed using a new integrated STL file viewer that displays the files on a "3D canvas."[27] The viewer is powered by WebGL and Three.js.
  • Photoshop's native PSD format can be previewed and compared to previous versions of the same file.
  • PDF document viewer
  • Security Alerts of known Common Vulnerabilities and Exposures in different packages

GitHub's Terms of Service do not require public software projects hosted on GitHub to meet the Open Source Definition. The terms of service state, "By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories."[28]

GitHub Pages

GitHub Pages is a static web hosting service offered by GitHub since 2008 to GitHub users for hosting user blogs, project documentation,[29][30] or even whole books created as a page.[31]

All GitHub Pages content is stored in a Git repository, either as files served to visitors verbatim or in Markdown format. GitHub is seamlessly integrated with Jekyll static web site and blog generator and GitHub continuous integration pipelines. Each time the content source is updated, Jekyll regenerates the website and automatically serves it via GitHub Pages infrastructure.[32]

As with the rest of GitHub, it includes both free and paid tiers of service, instead of being supported by web advertising. Web sites generated through this service are hosted either as subdomains of the github.io domain, or as custom domains bought through a third-party domain name registrar.[33] When custom domain is set on a GitHub Pages repo a Let's Encrypt certificate for it is generated automatically. Once the certificate has been generated Enforce HTTPS can be set for the repository's website to transparently redirect all HTTP requests to HTTPS.[34][35]

Gist

GitHub also operates a pastebin-style site called Gist,[11] which is for code snippets, as opposed to GitHub proper, which is for larger projects.Template:Citation needed Tom Preston-Werner débuted the feature at a Ruby conference in 2008.[36]

Gist builds on the traditional simple concept of a pastebin by adding version control for code snippets, easy forking, and TLS encryption for private pastes. Because each "gist" has its own Git repository, multiple code snippets can be contained in a single paste and they can be pushed and pulled using Git.Template:Citation needed

Unregistered users were able to upload Gists until February 18, 2018, when uploading gists became available only to logged-in users, reportedly to mitigate spamming.[37]

Gists' URLs use hexadecimal IDs, and edits to gists are recorded in a revision history, which can show the text difference of thirty revisions per page with an option between a "split" and "unified" view. Like repositories, Gists can be forked and "starred", i.e. publicly bookmarked. The count of revisions, stars, and forks is indicated on the gist page.[38]

Education program

GitHub launched a new program called the GitHub Student Developer Pack to give students free access to popular development tools and services. GitHub partnered with Bitnami, Crowdflower, DigitalOcean, DNSimple, HackHands, Namecheap, Orchestrate, Screenhero, SendGrid, Stripe, Travis CI and Unreal Engine to launch the program.[39]

In 2016 GitHub announced the launch of the GitHub Campus Experts program[40] to train and encourage students to grow technology communities at their universities. The Campus Experts program is open to university students of 18 years and older across the world.[41] GitHub Campus Experts are one of the primary ways that GitHub funds student-oriented events and communities, Campus Experts are given access to training, funding, and additional resources to run events and grow their communities. To become a Campus Expert applicants must complete an online training course consisting of multiple modules designed to grow community leadership skills.

GitHub Marketplace service

GitHub also provides some software as a service ("SaaS") integrations for adding extra features to projects. Those services include:

  • Waffle.io: Project management for software teams. Automatically see pull requests, automated builds, reviews, and deployments across all of your repositories in GitHub.
  • Rollbar: Integrate with GitHub to provide real time debugging tools and full-stack exception reporting. It is compatible with all popular code languages, such as JavaScript, Python, .NET, Ruby, PHP, Node.js, Android, iOS, Go, Java, and C#.
  • Codebeat: For automated code analysis specialized in web and mobile developers. The supported languages for this software are: Elixir, Go, Java, Swift, JavaScript, Python, Ruby, Kotlin, Objective-C, and TypeScript.
  • Travis CI: To provide confidence for your apps while doing test and ship. Also gives full control over the build environment, to adapt it to the code. Supported languages: Go, Java, JavaScript, Objective-C, Python, PHP, Ruby, and Swift.
  • GitLocalize: Developed for teams that are translating their content from one point to another. GitLocalize automatically syncs with your repository so you can keep your workflow on GitHub. It also keeps you updated on what needs to be translated.

GitHub Sponsors

GitHub Sponsors allows users to make monthly money donations to projects hosted on GitHub.[42] The public beta was announced on May 23, 2019, and the project accepts wait list registrations. The Verge said that GitHub Sponsors "works exactly like Patreon" because "developers can offer various funding tiers that come with different perks, and they'll receive recurring payments from supporters who want to access them and encourage their work" except with "zero fees to use the program." Furthermore, GitHub offer incentives for early adopters during the first year: it pledges to cover payment processing costs, and match sponsorship payments up to $5,000 per developer. Furthermore, users still can use other similar services like Patreon and Open Collective and link to their own websites.[43][44]

GitHub Archive Program

In July 2020, GitHub stored a February archive of the site[13] in an abandoned mountain mine in Svalbard, Norway, part of the Arctic World Archive and not far from the Svalbard Global Seed Vault. The archive contained the code of all active public repositories, as well as that of dormant, but significant public repositories. The 21TB of data was stored on piqlFilm archival film reels as matrix (2D) barcode (Boxing barcode), and is expected to last 500–1,000 years.[45][46][47][48]

The GitHub Archive Program is also working with partners on Project Silica, in an attempt to store all public repositories for 10,000 years. It aims to write archives into the molecular structure of quartz glass platters, using a high-precision laser that pulses a quadrillion (1,000,000,000,000,000) times per second.[48]

GitHub in use in the Creatures Community

Arguably, the first Creatures-related repository was openc2e, created by CCDevNet in May 2008.[49] The GIMP Plugin source code was placed on GitHub some time after 2008, when it was updated.[50]

c2ephp was created as a GitHub repository by Telyn in 2010.[51]

Pilla uses GitHub for her projects, including the Other Lone Shee Ark, CAev, the Fixup Metaroom project for CCSF 2017, the Betaship, Pilla's Improved Favplaces, the Elevator vendor, Heatlamp, Import Picker, Game Controller, small tools, the updated metaroom map, and the Banshee Ark.

Zzzzoot maintains several GitHub repositories for his Creatures projects, including the Bendy plant and Puff plant released for CCSF 2017, a repository of helpful scripts for Docking Station, the Children of Capillata metarooms, a Blender script for turning models into Creatures sprites, and Storyteller.

Geat Masta used GitHub extensively for his later projects, including LibFreetures, C16scaler, MapEditor2 and Kreatures.

Ham5ter uses GitHub for projects such as the CAOS Class Library, CAOS Console, Prayer and Albian Warp.

Malkin uses GitHub for some of her more recent projects, such as the Mushroom Forest metaroom.

Sgeo has used GitHub for Revive Creature.

See also

References

  1. https://web.archive.org/web/20200919130235/https://techcrunch.com/2012/07/09/github-pours-energies-into-enterprise-raises-100-million-from-power-vc-andreesen-horowitz/
  2. Cite error: Invalid <ref> tag; no text was provided for refs named techcrunch
  3. https://web.archive.org/web/20150629152927/http://www.wired.com/2015/06/problem-putting-worlds-code-github/
  4. https://github.com/search?q=type:user&type=Users
  5. https://github.com/search
  6. https://github.com/search?q=is:public
  7. https://www.win.tue.nl/~aserebre/msr14georgios.pdf
  8. https://blogs.esri.com/esri/arcgis/2014/02/10/github-ceo-and-co-founder-chris-wanstrath-keynoting-esris-devsummit/
  9. https://github.com/blog/185-github-turns-one
  10. https://www.slideshare.net/err/inside-github/28-2007_octoberThe_rst_commit_was
  11. 11.0 11.1 https://www.sitepoint.com/github-gist-is-pastie-on-steroids/
  12. https://www.githubuniverse.com
  13. 13.0 13.1 https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/
  14. http://fortune.com/2019/01/07/microsoft-github-free-code-projects-small-teams-repositories/
  15. https://www.cnet.com/news/github-is-giving-free-users-unlimited-private-repositories/
  16. https://www.businessinsider.com/github-adds-free-private-repositories-2019-1
  17. https://github.blog/2020-04-14-github-is-now-free-for-teams/
  18. https://web.archive.org/web/20130305051939/http://doeswhat.com/2012/03/06/interview-with-chris-wanstrath-github/
  19. https://docs.github.com/en
  20. https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis
  21. https://github.com/features/actions
  22. https://github.com/integrations
  23. https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository
  24. https://docs.github.com/en/discussions
  25. https://github.com/blog/821
  26. https://help.github.com/categories/writing-on-github/
  27. https://makezine.com/2013/04/09/github-now-supports-stl-file-viewing/
  28. https://help.github.com/articles/github-terms-of-service/
  29. Template:Cite book
  30. Template:Cite book
  31. Template:Cite book
  32. {{#invoke:citation/CS1|citation |CitationClass=web }}
  33. Template:Cite book
  34. All GitHub Pages sites, including sites that are correctly configured with a custom domain, support HTTPS and HTTPS enforcement.{{#invoke:citation/CS1|citation |CitationClass=web }}
  35. Custom domains on GitHub Pages gain support for HTTPS.{{#invoke:citation/CS1|citation |CitationClass=web }}
  36. Template:Cite conference
  37. {{#invoke:citation/CS1|citation |CitationClass=web }}
  38. {{#invoke:citation/CS1|citation |CitationClass=web }}
  39. Template:Cite news
  40. {{#invoke:citation/CS1|citation |CitationClass=web }}
  41. {{#invoke:citation/CS1|citation |CitationClass=web }}
  42. https://github.com/sponsors
  43. https://www.theverge.com/2019/5/23/18637344/github-sponsors-patreon-style-crowdfunding-open-source
  44. https://github.blog/2019-05-23-announcing-github-sponsors-a-new-way-to-contribute-to-open-source/
  45. https://gizmodo.com/github-has-stored-its-code-in-an-arctic-vault-it-hopes-1844420340
  46. https://www.msn.com/en-us/news/technology/github-the-worlds-largest-open-source-software-site-just-had-mounds-of-data-stored-in-the-permafrost-chamber-of-an-old-coal-mine-deep-in-an-arctic-mountain-for-1000-years/ar-BB16U75c
  47. https://www.vice.com/en_ca/article/m7jpab/21-terabytes-of-open-source-code-is-now-stored-in-an-arctic-vault
  48. 48.0 48.1 https://www.abc.net.au/news/2020-08-13/github-code-vault-in-artic-svalbard-safeguards-against-calamity/12517948
  49. https://github.com/ccdevnet?tab=overview&from=2008-12-01&to=2008-12-31
  50. https://github.com/ligfx/gimp-creatures-sprites#readme
  51. https://github.com/telyn?tab=overview&from=2010-03-01&to=2010-03-31

Due to technical limitations, the complete revision history of this page can be found at wp:GitHub, excluding edits newer than this page's first edit.