Icon Unrolling Rotations

 

Icon Animation Blend Spaces without Triangulation

 

Icon Quaternion Weighted Average

 

Icon BVHView

 

Icon Dead Blending Node in Unreal Engine

 

Icon Propagating Velocities through Animation Systems

 

Icon Cubic Interpolation of Quaternions

 

Icon Dead Blending

 

Icon Perfect Tracking with Springs

 

Icon Creating Looping Animations from Motion Capture

 

Icon My Favourite Things

 

Icon Inertialization Transition Cost

 

Icon Scalar Velocity

 

Icon Tags, Ranges and Masks

 

Icon Fitting Code Driven Displacement

 

Icon atoi and Trillions of Whales

 

Icon SuperTrack: Motion Tracking for Physically Simulated Characters using Supervised Learning

 

Icon Joint Limits

 

Icon Code vs Data Driven Displacement

 

Icon Exponential Map, Angle Axis, and Angular Velocity

 

Icon Encoding Events for Neural Networks

 

Icon Visualizing Rotation Spaces

 

Icon Spring-It-On: The Game Developer's Spring-Roll-Call

 

Icon Interviewing Advice from the Other Side of the Table

 

Icon Saguaro

 

Icon Learned Motion Matching

 

Icon Why Can't I Reproduce Their Results?

 

Icon Latinendian vs Arabendian

 

Icon Machine Learning, Kolmogorov Complexity, and Squishy Bunnies

 

Icon Subspace Neural Physics: Fast Data-Driven Interactive Simulation

 

Icon Software for Rent

 

Icon Naraleian Caterpillars

 

Icon The Scientific Method is a Virus

 

Icon Local Minima, Saddle Points, and Plateaus

 

Icon Robust Solving of Optical Motion Capture Data by Denoising

 

Icon Simple Concurrency in Python

 

Icon The Software Thief

 

Icon ASCII : A Love Letter

 

Icon My Neural Network isn't working! What should I do?

 

Icon Phase-Functioned Neural Networks for Character Control

 

Icon 17 Line Markov Chain

 

Icon 14 Character Random Number Generator

 

Icon Simple Two Joint IK

 

Icon Generating Icons with Pixel Sorting

 

Icon Neural Network Ambient Occlusion

 

Icon Three Short Stories about the East Coast Main Line

 

Icon The New Alphabet

 

Icon "The Color Munifni Exists"

 

Icon A Deep Learning Framework For Character Motion Synthesis and Editing

 

Icon The Halting Problem and The Moral Arbitrator

 

Icon The Witness

 

Icon Four Seasons Crisp Omelette

 

Icon At the Bottom of the Elevator

 

Icon Tracing Functions in Python

 

Icon Still Things and Moving Things

 

Icon water.cpp

 

Icon Making Poetry in Piet

 

Icon Learning Motion Manifolds with Convolutional Autoencoders

 

Icon Learning an Inverse Rig Mapping for Character Animation

 

Icon Infinity Doesn't Exist

 

Icon Polyconf

 

Icon Raleigh

 

Icon The Skagerrak

 

Icon Printing a Stack Trace with MinGW

 

Icon The Border Pines

 

Icon You could have invented Parser Combinators

 

Icon Ready for the Fight

 

Icon Earthbound

 

Icon Turing Drawings

 

Icon Lost Child Announcement

 

Icon Shelter

 

Icon Data Science, how hard can it be?

 

Icon Denki Furo

 

Icon In Defence of the Unitype

 

Icon Maya Velocity Node

 

Icon Sandy Denny

 

Icon What type of Machine is the C Preprocessor?

 

Icon Which AI is more human?

 

Icon Gone Home

 

Icon Thoughts on Japan

 

Icon Can Computers Think?

 

Icon Counting Sheep & Infinity

 

Icon How Nature Builds Computers

 

Icon Painkillers

 

Icon Correct Box Sphere Intersection

 

Icon Avoiding Shader Conditionals

 

Icon Writing Portable OpenGL

 

Icon The Only Cable Car in Ireland

 

Icon Is the C Preprocessor Turing Complete?

 

Icon The aesthetics of code

 

Icon Issues with SDL on iOS and Android

 

Icon How I learned to stop worrying and love statistics

 

Icon PyMark

 

Icon AutoC Tools

 

Icon Scripting xNormal with Python

 

Icon Six Myths About Ray Tracing

 

Icon The Web Giants Will Fall

 

Icon PyAutoC

 

Icon The Pirate Song

 

Icon Dear Esther

 

Icon Unsharp Anti Aliasing

 

Icon The First Boy

 

Icon Parallel programming isn't hard, optimisation is.

 

Icon Skyrim

 

Icon Recognizing a language is solving a problem

 

Icon Could an animal learn to program?

 

Icon RAGE

 

Icon Pure Depth SSAO

 

Icon Synchronized in Python

 

Icon 3d Printing

 

Icon Real Time Graphics is Virtual Reality

 

Icon Painting Style Renderer

 

Icon A very hard problem

 

Icon Indie Development vs Modding

 

Icon Corange

 

Icon 3ds Max PLY Exporter

 

Icon A Case for the Technical Artist

 

Icon Enums

 

Icon Scorpions have won evolution

 

Icon Dirt and Ashes

 

Icon Lazy Python

 

Icon Subdivision Modelling

 

Icon The Owl

 

Icon Mouse Traps

 

Icon Updated Art Reel

 

Icon Tech Reel

 

Icon Graphics Aren't the Enemy

 

Icon On Being A Games Artist

 

Icon The Bluebird

 

Icon Everything2

 

Icon Duck Engine

 

Icon Boarding Preview

 

Icon Sailing Preview

 

Icon Exodus Village Flyover

 

Icon Art Reel

 

Icon LOL I DREW THIS DRAGON

 

Icon One Cat Just Leads To Another

Software for Rent

Created on May 25, 2019, 6:11 p.m.

However rich or poor, pretty much everybody in the world has at least two products they can always sell - their time, and their body. Providing you are not too ill, or too old, or too malnourished, if there is work as a manual laborer of some sort you should be able to do it.

For example, I could take a position as a pig farmer at a pig farm, and while I might not be of that much use at first, I should still be capable of contributing something to the value of the farm - by dedicating my time and body to basic menial jobs that always need to be done.

It would be natural therefore, to see the money I get paid as a kind of compensation for the value I add to my employer's business. And, I would hope that as I improved as a pig farmer, and added more and more value to the farm I worked for, my salary would improve accordingly.

In some cases this might be true, and some farm owners who respect this kind of exchange may pay me in this way - but most likely I will find that this is not the case - and that my wage remains roughly the same even if I start adding a lot more value to the farm. It might even start to decline!

The simple reason is this: since manual labor is work anyone can do, there will almost always be someone willing to do the same work as me, for less. There may even be two people willing to work at half my salary. Even if I'm a good worker, the farmer could hire both in replacement of me, and no matter how good I really am, at some point it may simply be physically impossible for me to produce an equivalent amount of work in the same amount of time.

The only thing I can do to protect myself against this is to find a specific task which my experience or natural talents allows me to do particularly well - a task which even two people working at half the wage could not replicate. On these sorts of tasks my income is more secure, because now the value of my job is tied not to the labor I do, but to me personally. In short, my compensation is based not on the value I add, but on how easily I can be replaced.

At first thinking in these terms seems odd, but in many ways it is a much better way to understand this exchange - it allows us to form much better intuitions for how work correlates to wages and makes previously difficult to explain phenomenon obvious. This frame of thinking is a rental view of economics and it works like this:

Rather than saying the employer pays the employee for the value they add to the farm, we instead say that the employee rents themselves to the employer, not for their work, but for the control of their "resources" - in this case, their body, their time, and any of their unique skills.

This is the key idea behind a rental view of the world - that an individual's income will always most closely reflect the desirability of the resources they have to rent - and as you probably guessed, your body and time are not the only things you might have to rent.


But first, to see how it works in more detail, let us return to our pig farming example:

If wages are tied to our desirability to be rented then, as previously noted, the clever thing isn't to work harder, but to acquire rent-able assets. I could, for example, save up money to purchase something else that can be rented other than my time and body - something that not everyone else has to offer.

What about a pig? With my own pigs I could become an employer myself - and pay other people to look after them. In fact, I may never have to work with my pigs myself - never have to feed them or clean them out - never have to add value to them, yet, for every porkchop I sell I can take a cut because they are mine. Or to put it in different terms - I am renting my pigs to my employees - they are using them to producing things - and in exchange I reserve the right to sell what they produce.

Pigs, of course, are not the only rent-able resource, and the exchange is much more clear when it comes to renting property.

Just like with pigs, owning a property is about owning the rights to an exclusive resource. It means I have a contract backed up by the government which says I alone have the right to charge people for living in a property, and I alone have the right to block people I don't want on the property from going there. The money I earn in rent is not coming from any direct economic value that is produced from this property (the property by itself does not produce pork chops or grow apples), but from the exclusivity of the contract (people have no option but to pay me if they wish to live in the property).

And once you start to see the world with this perspective, many much more interesting and subtle forms of rent start to appear:

Consider a toaster factory - if each worker in a toaster factory produces 100 toasters a day, and each toaster retails at £30, then total market value each employee produces every day (even after subtracting the cost of the raw materials) may be hundreds or thousands of times greater than their take home pay for the day. Where does this discrepancy come from? Rent of course. The factory workers are implicitly paying back the vast majority of the value they produce in rent - a cut is taken as rent to the factory owner who owns the exclusive contract for people to produce things inside his building, and a cut is taken in rent to the business owner who controls the rights of who can use his toaster-building machines to build toasters, and there is rent to the middlemen, for their contacts and ability to acquire the raw materials needed to produce the toasters in the first place. Not that any of these intermediate things are not jobs in themselves - certainly it takes some work to maintain a factory, or find valuable contacts - but the work is only a small part of what is being paid for - the exclusivity is just as important.

One way to see this is to imagine a parallel universe where these factory workers just walk out the factory at the end of the day with the toasters they've made and flog them at the market, earning hundreds more pounds daily than they normally would. Or to imagine a world where the factory simply exists with no owner, free for anyone to use. In these worlds nothing is lost on rent, but at the same time they are too idealized - if stealing were suddenly allowed society would quickly collapse. Instead, everyone pays a special kind of rent to prevent this - rent to the state in the form of tax, providing the exclusive right to enforce the law and prevent people from walking home with things they've produced while under employment of someone else - to maintain order.

And the more you think about rent, the weirder things become...

Why, for example, could someone not produce a drink identical to Coca Cola, and sell it at a lower price? The simple reason is that Coca Cola have exclusive rights to their brand and their recipe. No such cheaper product could legally exist. And, this difference in price between the cost of Coca Cola and the lower price it could potential be sold at by a copycat - this is the rental fee for consuming the Coca Cola brand. This is the premium we pay to ensure that companies retain exclusive rights to the brands, logos, trademarks they produce.

Knowledge and experience, too, are things that can be rented. In many cases a good education can be purchased - and seen like an investment similar to any other, which pays dividends when the purchaser can charge more rent (or ask for a higher salary) for their exclusive knowledge or skills later in life. Having unique and difficult to obtain knowledge, experience, or skills is one of the most lucrative things you can rent, because it isn't something someone else can simply drop money on to acquire - it takes hard work, intelligence, time, and a fair amount of luck too.

Rent also lays bare many issues of balance and unfairness in a new and clear light - a racist hiring manager is not just screwing over certain candidates - they are costing the company they work for money too - their prejudices mean effectively paying additional rent toward candidates which they have a bias towards. It is as if to them skin color were a kind of lucky talisman you could purchase along with the employee which would magically bring better results. From the other candidates' standpoints things are even more unjust - to them they see other applicants born with something that can be rented for a premium, which they themselves were simply born without.

In a rental view of the world the formula for success (or money at least) is simple - have a rental income that exceeds the expenses you yourself pay in rent to others. And while in some ways, this might seem like just a basic re-phrasing of the law of supply and demand, it actually brings a much more subtle and nuanced take to the same concept.

Consider for example a millionaire with a vast inherited wealth who makes most of their income from pre-packaged investments. Is this person using supply and demand to make their money? Well, not really... although you could argue that their wealth is in demand, and the profit they make is from supplying it, this view misses so many key aspects to the interaction: the fact that such vast wealth is, and always will be in demand. Or the fact that this is not an open market - it cannot be entered by anyone in the same way that a green grocer can switch from selling apples to bananas if they notice their customers' tastes change, and finally the lack of agency on the side of the investor - the investor personally is not trying to adjust their business strategy to make sure they are aligned with what is required in the world - their behavior is not in line with adding value to the economy. With a rental view all of these subtle issues become clear and the situation is easy to explain - the millionaire is simply renting their wealth to an investment company.

Where is the invisible hand of the market in this case? If millionaires are so in demand, and rewarded so fruitfully for their investments, why hasn't the invisible hand made millionaires of us all? The answer is simple - most income is rental income, most markets are closed, and most investments are made without agency. Supply and demand is simply what is left behind after you factor out everything else.


Most rental systems are built around some kind of legal support - just as factory workers cannot steal from the factory they work in, and tenants cannot live rent-free inside property because they will be stopped by the police - most rent requires law to enforce it - the exact details of which vary to a huge extent based on the domain.

Software is no different - it is an asset which can be cloned or copied at a next to zero cost which means that it requires particularly special protection for it to retain its value. The most dominant form of which is software licenses, which prohibit what users and consumers can do with their software. Just as a person is not allowed to stay in a property without paying rent, a software user is (generally) not allowed to do many things with their software including making unauthorized copies to share with their friends. Both are measures to protect the value of the asset beyond its intrinsic value. A user of a particular software does not buy the program itself even if they get a physical copy - they pay a rental fee to be able to use it - and that is how it always will, and has to be.

And, as with the rental laws surrounding property, the rental laws surrounding software have a purpose - if property was a free-for-all the world would quickly descent into a combination of chaos and mob rule - if software copying and intellectual property laws were removed many software companies would collapse and users would suffer in the long term.

But there is something special about the legal framework surrounding software which puts it apart from other assets. Which is that as software developers, we have been given a strange blessing and responsibility - software licenses can be written by anyone, individually for different software, and can contain and almost arbitrary clauses which dictate their usage. We have been given the power to write the rental laws ourselves. This is a scary power - rental laws are an extremely important and delicate issue - and while essential for retaining fairness and value, rental laws which encourage rent seeking behavior too strongly can be both exceedingly damaging to the economy and introduce unprecedented levels of inequality and unhappiness in society.

The reason is simple - those which have access to large amounts of rent-able assets use their income to amass more rent-able assets, and once they reach a certain threshold, use their power and wealth to enact legal and societal change which reduces future access to the same rent-able assets they acquired, bolstering their own rental exclusivity, and further increasing the value of the assets they already own. This snowball effect can cause massive damage to an economy if the vast majority of money which changes hands is not to buy actual real, value adding products, but instead to satisfy thousands of what are essentially legal contacts. This money, which could have been used to stimulate real economic growth is wasted in the truest sense - hoarded into the hands of an elite few who need it the least and already hold the vast majority of rent-able assets.

You may think all this does not affect you - besides, most of us are employed - and rent our skills in exchange for giving up the freedom of writing the licenses for the software we develop. But we still must think about our rental relationship - who is really gaining from it? Is it ourselves? Or are we just like the factory workers in a toaster factory, producing hundreds of toasters a day and walking home with a paycheck that could barely purchase a single one. Are the toaster making factories and machines we pay rent for really worth it or are we being sold open spaces with a few bean-bags and an internet connection at a massive mark-up?

But the real core problem is simply that most of us are lost when it comes to software licensing - developing high quality software is a difficult enough problem - how can we know what is the correct license to use for our own software to ensure the rental rules we develop contribute to a better world? It seems like an impossible task.

And it is, which is why we need new software licenses - new radical yet practical ideas such as the original GPL license which can act as a rallying cry to the software development community - licenses which ensure a fair and just rental system and ensure inequality does not balloon and software based rental assets are not all acquired by an elite few to be exploited.

We could imagine, for example, forced expiration dates, bringing software into the public domain after a number of years in exactly the same way copyright expires. Or limitations on the usage of software for certain individuals or companies who have already shown excessive rent-seeking behavior. I don't claim that either of these would be good - but they are ideas - ideas which we desperately need more of in the domain of software licensing.

Because at the end of the day, when anyone is allowed to write the rental rules for software, leaving this decision up to powerful individuals who show rent seeking behavior is not just dangerous - it is stupid - and harmful for everyone. The rules of software rental are still a wild-west - and as developers we've been given the blessing and curse of deciding on them ourselves. While I don't have the answers, I believe we need to keep looking - and most of all let's not hand over this right to others who might use it against us - not quite yet.

github twitter rss