GitHub Copilot
Introduction
According to GitHub, “GitHub Copilot is an AI pair programmer that helps you write code faster and with less work. It draws context from comments and code to suggest individual lines and whole functions instantly. GitHub Copilot is powered by OpenAI Codex, a generative pretrained language model created by OpenAI. It is available as an extension for Visual Studio Code, Visual Studio, Neovim, and the JetBrains suite of integrated development environments (IDEs).”
This is a great introduction description of what Copilot is. It is meant to be an AI partner helping develop coding in many languages. It is not supposed to replace the developer but be a second pair of eyes, helping suggest and proofread the developer’s work.
Brief history
- June 29, 2021: GitHub announced the beta version of Copilot, an AI-powered code completion tool developed in collaboration with OpenAI.
- July 5, 2021: The Copilot beta was made available to a limited number of testers, who were given access to the tool through a Visual Studio Code extension.
- July 9, 2021: GitHub temporarily suspended access to Copilot following concerns about copyright infringement, as some code generated by Copilot appeared to be plagiarized.
- July 15, 2021: GitHub re-enabled access to Copilot and introduced a new feature that allows users to report potential copyright issues.
- September 7, 2021: GitHub launched a Copilot integration for Visual Studio Code, allowing users to access Copilot directly from within the code editor.
- June 21, 2022: Github Copilot is generally available to all developers.
- March 22, 2023: GitHub Copilot X is announced.
Main features
- AI-powered code completion
- Multi-language support
- Natural language support
- Integration with multiple IDEs
- Learning and improving from code written by developers
- Code review assistance
- Copilot can be trained on the specific user’s codebase and style, improving its suggestions’ accuracy and being more personalized to the user’s need.
- Copilot can suggest entire functions, classes, and methods based on context.
- Copilot can offer variable names and type annotations.
- It is also able to suggest unit tests and examples of code.
Pricing
Github costs $10 a month or $100 a year for personal use and $19 per month per user for business users. It has a free 30-day trial to test its features.
Privacy
Privacy is rightfully a concern for many potential users. Copilot for individuals does collect user engagement from users. This includes “user edit actions like completions accepted and dismissed, and error and general usage data to identify metrics like latency and features engagement. This information may include personal data, such as pseudonymous identifiers.”
They may also collect code snippets based on user telemetry settings. Code snippets include “source code that you are editing, related files and other files open in the same IDE or editor, URLs of repositories and files path.”
Copilot for business is more restricted. They still collect user engagement data, and code snippets are discarded right after returning suggestions.
Market Comparison
Tabnine is the biggest challenger to GitHub Copilot. Unlike Copilot, they have a free tier limited to “short code completions for simple projects.” This seems limited, and to upgrade to get access to the more advanced features, one has to pay $12 a month. Similar to Copilot, they have a free 14-day trial. Unlike Copilot, they are based on OpenAI GPT2. This is, for some users, a blessing, and for others, it makes it less valuable. Unlike GitHub Copilot, the software can also be hosted locally for additional security for enterprises.
Another option is AWS CodeWisperer. It was announced on 24 June 2022. It is a part of the AWS Toolkit by Amazon Web Services. It has gotten a lot of the same response from users as Tabnine. But unlike Copilot and Tabnine, it is free.
Future
Github Copilot X was announced on March 22, 2023. It is meant to extend what an AI assistant can do. They say, “We are not only adopting OpenAI’s new GPT-4 model, but are introducing chat and voice for Copilot, and bringing Copilot to pull requests, the command line, and docs to answer questions on your projects.”
This is only what we know is coming. Who knows what other features they are working on?
Conclusion
GitHub Copilot is a great tool to help developers code faster and better. It is meant to be an extra pair of eyes to proofread and help write code. One must be sure of what it is suggesting and know what one accepts. Copilot is an excellent tool for doing repetitive tasks as well as creating unit tests.
The most significant disadvantage of Copilot is that users are getting dependent on it. There are also some significant privacy concerns to take into account. This may be a big concern, especially for businesses. Therefore Tabnine may be a better option for companies and users concerned about privacy.
The future of GitHub Copilot will be enjoyable to follow as Copilot X has been announced, and all the changes and new features coming are going to extend AI assistants’ helpfulness to developers.
References
https://github.com/features/copilot
https://docs.github.com/en/copilot
https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/
https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/
https://www.tabnine.com/pricing
https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ https://aws.amazon.com/codewhisperer/faqs/