I have been writing software professionally for 32 years. I must have written several millions of lines of production code in that time.
But I do not own the rights to any of the work product I have made. It all belongs to someone else. That is the way.
The question is how can one go about making great software product, still earn a satisfactory living, and yet retain the rights on that work product and create a revenue steam off it?
I do not know the answer. This post is to open a discussion on the topic.
Aside: I was not sure whether to even publish this piece. It’s esoteric, not that interesting, has no real meat, teaches no lessons, and contains no useable conclusion. Which is all the more reason not to publish. Is it to really open a discussion on this topic, or to show we writers all have bad hair days and can get lost in our own whining. Or maybe it is self-serving. Maybe by reading the piece you will find some hidden valuable insights in it that I am unaware of. I doubt it though. My advice: go do something else. You have been warned.
How it does work
If you have no excess money, like most of us, the deck is fully stacked against us developers having any code rights. Modern business models ensure that coders can never own their code:
- As a Standard Employee: Employment contracts state that the work product of the employee belongs to the company, all of it. Even if that product was the employee’s idea, or if it was made outside work hours or has nothing to do with the employer’s business, as long as the employee is engaged and being paid, it belongs to the company. It’s how most software development is crafted today.
- As an Independent Contractor: Under US law, the designer owns the rights to all designs, plans and drawings that they produce, unless they are employed (see above) or under contract to hand the designs and product over, which is, unfortunately, always the remaining case. The remaining software development work is done by contractors to companies who thereby own the work product created.
- As an Equity Partner in a Startup: This is the dream for some, but the person with the idea and the people with the money will own the business, which in turn will own the rights and the code. And just to get their share, the developer will still need some money to cover their living costs while sweating the build until exit.
- As an Apprentice or even Journeyman: Even in the Guild days, it was the same. Apprentices learned their craft under Masters, and spent years as Journeymen honing their skills, maybe taking on their own Apprentices and projects. But it’s the Masters who taught them and funded them and so it’s the Masters who own the work product.
Either way, the deal is simple, the developer gets paid for time and effort, and the rights, work product and ongoing revenues belong to the employer.
How it could work
Which leaves us developers only a few ways to keep some level of rights and possibly gain some ongoing income from our own work:
- Self fund it: Write it when unemployed (so no-one can claim it belongs to them) and then either patent it (which is expensive) or better open source it with a license that only allows its use in Open Source. Any commercial use requires folks to license it from you. But that means the developer needs to be able to support themselves while writing it, and probably for a lot longer time if no commercial users admit to (or get caught) using it without a paid license.
- Start our own company: Invest your savings and build a business where the you, the developer, owns the company, and thus the work product, and can license it to clients. But that means the developer needs money to invest.
Both need funding. But to make the money needed to do this, and build the skills needed, the developer needs to be employed, contracted, funded or apprenticed. Which means no code rights. It’s a Catch-22 situation.
How it might be workable
I believe there could be ways where a developer and an employer can make this work, but none of them make sense. I am not sure that any employer would be incentivized to even try any of them, including:
- Assigning the code rights to the developer in return for a perpetual free license. Most employers would not want the competition to have access to the same code, even though it would be completely useless to anyone else without the same business model, same infrastructure and same data the company already has. Ideally the developer takes the code in new directions and builds a business, and the employer (as a client) reaps the benefits for free, but why would they risk it.
- Allowing the developer to develop their own product on non-company time. Which means changing the employment contract to enable this. I suspect employers would worry that employees would rather work on personal projects than employer directives. Ideally the developer makes something the employer would want to license, but why would they risk it.
- Seed invest in a new company owned by the developer, and then subcontract them back for some work product. The developer makes their deliverables under the work contract, and has time to work on their own code otherwise. The investor gets the work they need done (under contract) and funds the developer to make their own product, in which the investor benefits from a share over time, but why would they risk it.
See, none make sense.
The only viable way I can think of is to find both a great idea and a very generous Angel investor to fund it and take a teeny share. Oh and unicorns, we may as well find them too. For someone who has only ever been employed, and never part of the VC ecosystem, knowing even where and how to start the search is impossible. Knowing which ideas are viable, how to pitch them, to whom, its overwhelming.
But the first step is to understand that this is what you (or in this post I) want to do. So here goes.
I would like to build product that investors and clients desire, in which I own the rights to and can make it available on the market to benefit from its capabilities. I would like this to produce enough revenue to support a team of people and an ecosystem of partners, and I would like it to grow and evolve to attract new users and use cases for it. And I would like the funding and freedom to do this.
And it seems I am not alone in this. I have spoken to many people in the past month who are looking to do the same. Some can fund, but need a viable ideas. Some have ideas, but investors are not interested. Those with cash are sick of the same pitches, and those with pitches seem unable to make any believable deliverable promises. Not my words, theirs!
And somewhere between these two groups is a developer, who does not build businesses or pitches ideas, but who can intelligently make any software product deliverable, and would like, just this once, to have the opportunity to maintain the rights to their work and reap the ongoing benefits from it.