Who Owns the Code in AI
What is AI and how is it created?
Artificial intelligence is no longer a creation of science fiction. It now exists in everyday life, from stock market trading to facial recognition in social media. Artificial Intelligence has become a staple in everyday life even without people noticing it. Artificial Intelligence takes the form of computer software taking in data and executing an algorithm to predict results that we use, from which route to take to which friend you can tag on a photo.
How are these created? Several tech companies have made open source platforms to use as a base to create Artificial Intelligence software. An example is Tensorflow, a library created by Google with tools which can be used to develop an Artificial Intelligence. Tensorflow allows the developer to focus more on the overall logic of the program as it can take care of specific details behind the scenes by using algorithms already embedded in it as a tool.[i] Developers can then further build upon these platforms using programming languages like Java, C++ or Python. Some developers choose to develop Artificial Intelligence from scratch using the aforementioned programming languages depending on which one would best suit the software’s purpose. After creating a software it then goes under “training” where its decision making skills will be refined in order to more closely resemble human decision making.
Theories on Code Ownership
More often than not several developers co-develop an Artificial Intelligence due to the sheer amount of effort needed in order to create something resembling human intelligence. This creates a situation wherein one development team handles the starting code of the Artificial Intelligence and another team handles the training process to refine the software. This raises the issue regarding the ownership of the resulting code. One software developer offer three theories as to code ownership, Strong Code Ownership, Weak Code Ownership and Collective Code Ownership.[ii]
Strong Code Ownership breaks up the code into several modules and each one is assigned to a developer. This theory restricts each developer to only act as owner of his module and cannot add onto or edit other modules in the same project.
Weak Code Ownership also breaks up the code into modules with assigned owners but developers are allowed to change the code of modules which they do not own. Developers are just tasked to keep an eye on their respective modules and changes done to them.
Collective Code Ownership does not divide the code into modules. The entire development team owns the entire code and anyone can make changes to it. This makes the entire development team the owner of the code.
Of the three theories, Collective Code Ownership offers the most benefits since it allows faster development as more people can directly develop the code and more people are responsible to maintain the overall quality of the resulting code.[iii] Especially in the case of Artificial Intelligence where there are distinct steps in the creation of the software, where the training team can go into the base code and tweak it to refine and finalize the software.
Application of Intellectual Property Law
With regard to the code of the Artificial Intelligence itself, Philippine law clearly categorizes it as Copyrightable works under the Intellectual Property Code of the Philippines.[iv]
Though some Artificial Intelligence software have been patented such as automatic animation of lip synchronization and facial expressions its patentability depends on how the software is packaged to make its patent eligible.[v]
Issues on Ownership in Relation to Participation in the AI’s Development
The creation of an Artificial intelligence software is not as straight forward as traditional software. For instance, in the case of Machine Learning Programs, these are further developed by the software itself. This results in a situation where some parts of the code are not written by a human author but by the software itself.
If only one team creates the code and at the same time develops it, there would be no issue as to the ownership of the Intellectual Property. This becomes an issue when there are different teams that create and train the code, as some Machine Learning software which automatically creates more lines of code which cannot be attributed to a human coder when it undergoes the training process. One argument is that it should depend on the agreement of the developers as to who would own the final code.[vi]
Another issue in relation to Intellectual Property is when, during the training process, a dataset owned by a third party is utilized by the development team. Training a Machine Learning AI requires feeding data into the program for it to further refine its decision making abilities. Similar to what was previously discussed there would be no issue in case the data used was in-house, however if data from third parties were used it may result in copyright infringement claims.[vii]
The ownership of Artificial Intelligence code can be straight forward as in the case when there is only one developer from start to finish. However in cases where there is a different team who trains the Artificial Intelligence and who uses a third party dataset in order to refine the software several issues arise as to which of them would own the code. This is further complicated by instances wherein parts of the code were written by the software itself.
The simplest way to determine who would own the code would be based on the agreement of the parties who develop the Artificial Intelligence. Keeping in mind that these programs are made by partnering technology companies who would like to utilize the code for whatever uses they see fit, it would be reasonable to assume that these companies have already reached an agreement as to who would own the code. However absent such an agreement, Collective Code Ownership will apply and result in a co-ownership of the code among the developers.
[iv] R.A. 8293 Sec. 172 (n)