GitHub Copilot: An Indispensable game changer

Copilot is the artificial intelligence tool designed to save developers hundreds of hours. Already used by over 1.2 million programmers, Copilot has become indispensable for the industry, but do the means justify the ends?

The company

GitHub is a global platform used to build, scale, and deliver software. It is used by over 94 million people and 90 of the Fortune 100 companies. GitHub has over 330 million repositories, with as many as 28 million being public.

GitHub Copilot uses AI to suggest lines of code to programmers in programming applications like Visual Studio Code. Similar to the predictive text feature on most smartphones, GitHub Copilot suggests several options for what the next line of code could be. Developers choose the most appropriate solution for their use case, saving valuable time. Copilot is an add-on to programming applications, making onboarding as simple as downloading Grammarly.

Copilot autocompleting a js constant

GitHub Copilot was created using OpenAI’s Codex API. The system can translate natural language into over twelve programming languages. Codex is a descendant of GPT-3 and was trained using billions of lines of code from public databases such as Stack Overflow. Copilot can take 3X more contextual information than GPT-3 when performing any task. Instead of having programmers search and copy existing code, they can type what they are looking for, and GitHub Copilot will come up with suggestions. 

How Copilot works

GitHub Copilot can help rookie developers produce higher-quality code at a faster rate. According to GitHub, Copilot halves development time by having as much as 40% of users’ code being automatically generated. The solution is a no-brainer for any organization relying on software engineers, costing only $10 per month or $100 per year. It is no surprise that Copilot already helps over 1.2 million software engineers all over the world. Companies implementing Copilot on their software engineering workforces have increased output at a fraction of the cost of hiring real humans. Copilot is to software what the electric saw was to logging.

Challenges

Although copying and pasting content is called plagiarism in numerous industries, the programming industry has embraced open code. Relinquishing copyrights for code by publishing it in open code platforms is a common practice in software engineering. This helps engineers discover better ways to program and develop solutions without having to reinvent the wheel. The open-source community values the nature of community-driven support for free. Copilot’s AI was trained using code donated by this community but is now charging for the product. This dilemma has the open code community divided and is a risk for Copilot’s existence.

Copilot is not invincible and has clear limitations to its use. First, the number of lines of code the model is fed is directly correlated to its usability. For example, Copilot excels at suggesting code on Python versus Ruby. Secondly, too often, code suggestions are not fundamentally different and only vary minimally among themselves. Lastly, Copilot is a black box, suggesting lines of code that do work but have components that should not be included. These components do not explicitly affect the functionality of the code and might seem cosmetic. In a scarier scenario, perhaps Copilot is building something that we can’t comprehend, and the code humans consider superfluous actually has a purpose we don’t understand.

Unnecessary code?

Opportunities

Regardless, Copilot has multiple opportunities for growth. Copilot could use its code suggestion capabilities and expand to lighter users, such as people trying to navigate the world of Excel formulas. Even though these formulas should be simple enough for the majority of the population to understand, people fail to use their full potential. Instead of people having to learn by heart how an INDEX MATCH function works they could type: “Find C4 in Table 1”. The complexity of combining Excel formulas is minimal, but the market is huge. 

The solution could also be used to generate suggestions on low-code/no-code environments. These types of tools connect using APIs to automate workflows. Most of the workflows can be copied and pasted (such as code snippets from Stack Overflow) instead of being built from the ground up. 

Low-code diagram connecting different apps

The best opportunity for Copilot is its user base. New airplane pilots learn how to fly by sitting next to experienced operators. GitHub’s Copilot currently seats next to 1.2 million of the world’s best programmers. Quietly shadowing their ways of working and coding. This live input will create a better Copilot and deliver more value to developers. This data collection component might also be the reason for the low price of $10 p.m. for a solution that saves 50% of the time of developers making $10k p.m.

Black box 

OpenAI created Codex (Copilot) out of the goodwill of millions of coders that relinquished monetary gains by renouncing their copyrights on their code. At the same time, it has granted the exclusive right to monetize Codex to GitHub. OpenAI has also changed from non-profit to “limited profit.” These are exploitative measures taking advantage of open-source code and years of goodwill. Understandably, the developer community is angered and might choose to stop Copilot.

Finally, the fear of having computers coding computers or robots building robots has been exploited by western culture to make a plethora of movies. Whether good or bad, these movies have influenced public opinion towards negativity towards AI. The fears of being replaced by algorithms, annihilated by an AI, or similar are misplaced. The Copilot supports the pilot (coder) in creating beautiful solutions in the same way that oil paint helps artists create masterpieces.

For what are great tools without creativity?

Image created with generative AI tool Craiyon using the words: robot helping human artist paint.

Sources

  1. https://github.com/features/copilot
  2. https://www.wsj.com/articles/ai-powered-coding-assistant-aims-to-help-not-replace-developers-11656113433
  3. https://openai.com/blog/openai-codex/
  4. https://www.ciodive.com/news/github-copilot-microsoft-software-developer/628587/
  5. https://www.bleepingcomputer.com/news/security/microsoft-sued-for-open-source-piracy-through-github-copilot/
  6. https://www.washingtonpost.com/business/creative-ai-is-generating-some-messy-problems/2022/11/28/be2b2efc-6ee2-11ed-867c-8ec695e4afcd_story.html
  7. https://www.theverge.com/2022/11/9/23449175/hey-github-voice-copilot-code-programming-system

Previous:

Blue River Technology – innovation in farming that would make even the Egyptians jealous

Next:

Designs.ai: A.I. & Creative Contents

Student comments on GitHub Copilot: An Indispensable game changer

  1. Thanks for this interesting post! This is a clever use of AI and certainly creates value for programmers in many ways. I have a few developer friends who use this and they are impressed (and a bit scared) by CoPilot’s ability to get things right. They are worried that their jobs as programmers will be eliminated someday! I find your comments on challenges and opportunities very helpful. There is indeed some legal gray area surrounding CoPilot that the company might need to deal with at some point, and there are clearly limitations regarding what the AI can do, but this is already a good starting point and quite revolutionary!

    p.s. Love the Craiyon picture.

  2. Thanks for the great post, Daniel. I heard about CoPilot and the controversy around exploiting open source developers and their code to train and optimize the tool. This tension is genuinely concerning, and it will be interesting to see how Microsoft responds to the developers. A part of me is also keen to see if developers would actually leave the platform in masses in activism, or if GitHub’s utility and value add to developers nullifies the effects of current backlash. Do enough developers care enough to make a stand and exit that will discourage CoPilot’s exploitative strategy?

Leave a comment