Will AI coding like ChatGPT revolutionise software development?
Victor Tuson Palau, Chief Technology Officer at Ebury, explores how one of the most transformational new trends could affect the tech world.
Today, it’s hard to go on any social media platform, and not come across an AI generated work of art or student assignment. But beyond these novelty uses of technology, there are real practical applications in the tech and software development industry.
GitHub, for example, is the lead source management solution in the industry, and it was acquired by Microsoft in 2018. In late October 2021, GitHub launched Copilot, advertising it as your “Pair Programming” companion.
Pair programming is a software development technique in which two programmers work together at one workstation to produce higher quality software. The function of Copilot is that it replaces one of the two developers, therefore halving software production costs.
Essentially, GitHub Copilot is able to write simple code upon request, by turning natural language prompts into coding suggestions across dozens of languages.
OpenAI’s ChatGPT can also be used to generate simple code structures, to review code and tell you what its function is.
This almost sounds too good to be true – coding software that has the potential be the next revolution in lowering the cost of software development and outstrip alternatives like no-code solutions.
That said, maybe it is too idealistic. The code undoubtedly works but whose code is it? Both OpenAI and ChatGPT admit that their algorithms are trained on publicly available code that they don’t own. Even ChatGPT has concerns about it:
Open source projects have made collaboration possible at a scale not seen before in any industry, however, open source can be Free as in Beer (you don’t have to pay for it) but not necessarily Free as in Speech (you can do whatever you want with it).
Most open source code is licensed, and different licences allow you to use the code under different conditions, but crucially, they do not transfer ownership or allow unrestricted use of its Intellectual Property to the user.
The key question is how much these algorithms are inspired by others' code or are they just copying it? Of course, OpenAI and Microsoft claim that this is “Fair Use” – a doctrine in United States law that permits limited use of copyrighted material without having to first acquire permission from the copyright holder.
The problem arises, however, when not everyone agrees with this reasoning, and a Class-Action lawsuit has already been filed against them.
Sounds familiar? If it does it might be because this is the same argument that Google used against Oracle’s Lawsuit over the usage of Java APIs in Google’s Android Mobile operating system.
Google ended up winning the argument in 2021 but you do not want to be at the wrong end of this lawsuit when this new court case is settled.
So does that mean that you should not use AI to improve your software practices? No, there is a lot to gain from artificial software developers!
First of all, it is a great educational tool. If you are looking for examples of implementation of algorithms, comparing technologies or even getting started with a language, talking to an AI can save a lot of research time. The main thing to avoid is copying and pasting code into your product.
It can also be very useful to explain code that you don't understand, or even to write comments and high-level documentation. However, before you feed the code to the AI, make sure you have the copyright owner's permission, since it can be considered a form of distribution.
A final word of advice, if you do decide to use AI generated code in your product, make sure you fully understand the code. As I mentioned before, the models are trained using real code generated by human developers. Code that contains bugs can lead to some nasty surprises for developers that deploy it when they don't fully understand it in their production systems.
The views and opinions expressed are not necessarily those of AltFi.