Who owns software written by software?

About a year ago, I was at a presentation of a number of start-ups at the Brussels Enterprise Agency. One of the enterpreneurs presenting his very cool software product then said something that really amazed me.

“One of the advantages of our application is that it is built automatically, through other software. So, there are no bugs.”

It sounded wonderful. Software without bugs, because written automatically.

Then I discovered they are not alone. An increasing number of software providers don’t write their software, but have other software writing their software. And an increasing number of providers allow their clients to use their products to “write” their own applications (some examples I came across are Iceberg, at www.geticeberg.com and Altova at www.altova.com).

But the users don’t actually “write” the new applications, they just instruct the original software to write it.

This begs the question: who owns software written by software?

I have written a full legal article on this, which is due to appear next week – I’ll keep you informed on that, so that, if you’re interested, you can read the full legal reasoning.

On this blog, I’m going to take a slightly lighter approach, focusing more on the business side of things.

First, let’s see what we mean by “software written by software”.

Is this like compilers or tools? Yes and no.

The software I will be talking about (let’s call it “Writing Software”) does more than compiling. When you use a compiler, you convert source code into object code. The compiler doesn’t actually “write” code (although it “creates” code), it translates source code into object code.

Writing Software does more. It actually produces the source code, on the basis of instructions given by its user. The user does not, however, write source code. The user instructions are much more generic. They consist of, e.g., when you want to build an ERM application, identifying “objects”, or “fields”. Then, the user will define relations between these objects or fields, typically from a drop down, or other restricted list. Finally, the user can design an algorithm within the Writing Software.

Then, he pushes “write program” and hey presto, a new software application is born.

So, who owns this new software application?

Is it the user?

Is it the owner/licensor of the Writing Software?

Is it the licensee of the Writing Software?

Is it nobody?

Or is it the Writing Software itself?

Why is this question important?

Because all business models around software are, at least partly, based on ownership of the code.

Whenever you “buy” software, you buy a license to use it,  based on the ownership (directly or indirectly) in that software, of the seller of the license (who may or may not be the original licensor).

So, if it is unclear who owns software applications, a whole new interesting area of debate and questions arises.

I will deal with these questions in the next couple of days.

In the mean time, I’ll just leave you with the observation that the question “who owns software written by software” is a very narrow one. I’ll talk later about much broader implications: who owns the proceeds of artificial intelligence.

Watch this space.

Joren De Wachter