Open Source DRM

It should be easy to publish digital creations without a publisher

March 1, 2021


So I've always wanted to write a book but I have no formal training in writing and no connections to any publishing companies so I've already come to the conclusion that if I were ever to do this I'd probably have to self publish because if we learn from J K Rowling's story it is quite difficult to have a traditional publisher publish your book if you come to them in any unconventional way. I'm okay with the idea of self publishing as well, currently there are a handful of companies that will print your books on demand. Sure this is probably much less cost effective than printing in mass, but for someone in my position it makes more sense to go that route rather than to pay to have a thousand books printed only to sell a hundred. I'd be happy to pay these printers to print books for me.

But what about digital copies of books? You can write a book and have it sold on Amazon as an ebook for kindles and stuff, but when you sell there Amazon takes a cut. I have my own server, I have the capability to distribute a simple file like that through this website in a simple way, and things like PayPal exist so that it is possible for people to pay me directly rather than having to go through some third party. Why should I have to give Amazon a cut of these purchases when I could easily handle the delivery of files myself? The answer is DRM.

Digital rights management is how copyrighted files are protected from being illegally copied and distributed. Copy protection has always been something that companies have been trying to have included with their products but of course back when physical media was the norm it was less needed because physical media is much harder to copy. Nobody would actually spend the time to make a copy of a physical book, and a copy of a VHS tape is always of inferior quality to the original it has always been impractical to copy analog media. But we now are in the age of digital media, CDz and DVDs made it easy for anyone with a computer to make reliable copies of media to distribute among friends and put on the internet, because at the end of the day every piece of media is just a computer file. This hurts publishers but many consumers persist in digital piracy.

Now of course Cds are long gone and it is rare for anyone to use a DVD these days, (many young kids probably don't even know what a DVD is) today nearly all the media we consume is streamed. Streaming is great for these companies because they're not the ones paying for their wasteful use of bandwidth and you can't copy something from a streaming service without them knowing you did it. When you buy a digital copy of a movie on Amazon Prime is it really yours? No, you have to be logged into Amazon whenever you want to watch it, most of the time you will probably be streaming it anyways and even if you did download it onto your device you'd only be able to watch it using the Amazon Prime app since it would be stored in some obscure hidden folder and encrypted by Amazon. Streaming is the ultimate DRM software. You can't loan it to a friend for a weekend, you can't sell it when you don't want it anymore, and you can't watch it without Amazon's permission.

The problem with middlemen

Well I guess that last point isn't quite correct, you legally cannot consume any sort of content without permission from the copyright holder, but in most of cases Amazon or Google or Apple or whatever other company is not the copyright holder, they are just middlemen who handle the distribution of digital media and the digital rights management.

If you have a basic understanding of economics you should understand that eliminating the middleman is good for everybody. A few months ago a friend of mine told me that a game I was interested in buying was 20% off, so I logged onto Steam* (the largest digital distributor of PC games) and saw that it wasn't on sale there, I told that to my friend who then said that it was on sale on the developer's website so I went there and bought it there 20% off. At the time I did not appreciate how smart it was for the developers to do that. Steam takes a 30% cut of all sales that take place on their platform, had I bought the game on Steam at full price the game's developers would have only gotten 70% of the money I paid. I instead bought the game at 80% price directly from the developer so even though I paid less money the developers ended up with more money since they didn't have to share any of it with a company that had nothing to do with actually developing the game.

It is always good to eliminate middlemen. When I was on a mission in the Philippines all of the shops we bought food from got their eggs from local chicken farmers, most of the shopkeepers were also very nice people and would tell us the supplier of their eggs if we asked them. Once we knew the supplier we'd switch to buying eggs from there because we could buy them at the prices the shops did. We saved two to five pesos per egg doing this. You should seek to do this too in any situation where it is practical, even if the supplier charges the same amount for a product that a shop would it is better to buy from them because 100% of what you paid would be going to the people who actually made the product.

My proposal

So how do we eliminate the middleman when it comes to buying and selling digital media? As I stated above the middlemen in these cases are responsible for two things distribution of the media and digital rights management. The distribution of media is easy, everything is just a computer file, everyone with an email account is capable of sending a file to someone (although that would not be the best way of doing it). Digital rights management is the thing that the average person currently does not have the ability to do. This is why we need to have a free and open source piece of DRM software.

Anyone who is fully engulfed in the free and open source software movement would have probably gagged at such a proposal, in fact the title of this article is total clickbait for these people since the philosophy behind that movement and the concept of DRM are mutually exclusive. But like all man-made philosophies this one has its flaws. While it can easily be argued that any software that is to be used as a tool should be open source, this argument does not translate over to the arts. There are plenty of companies that will commission software developers to modify a piece of software to better fit their needs, but good art these days is not made by commission. We do not live in the Renaissance, patrons are not approaching artists to do work for them, artists are approaching common folk asking for patronage. Richard Stallman is not a prophet, he was right about some things but wrong on a lot of others.

What I envision is a single application that would have the ability to validate a user's ownership of digital media files that they purchase.

How it would work

This program would follow the Unix Philosophy and only have one use, validating ownership. Every user would have an account somewhere (these accounts would probably best be handled similarly to accounts for federated social media sites where users can chose what host their account would be registered in or have the choice to host their own instance to host their account for ultimate privacy) that would have a record of all the digital media they owned. Whenever a user purchases a digital book, movie, or album they would be able to download an encrypted file containing whatever media they purchased. The user's account would also be added to a list of accounts who own that piece of media that would be kept on a server ran by the copyright holder.

When the user would want to view the media that they purchased the DRM program would send a simple query to the server of the copyright holder to validate that that user does own that media. In terms of internet bandwidth conservation this is far superior to streaming because the media isn't being redownloaded every time it is viewed, this is completely viable for people with terrible internet speeds. Once it has been validated that you own the media then your file will be temporarily decrypted so that you can open it with whatever program you choose (granted this program doesn't let you make a decrypted copy of the file). Once you close your chosen program the file would again be encrypted and the DRM software would have to validate it again the next time you wanted to open it.

Offline use

The first question you should ask about this sort of system would be, "What happens if I want to do this when I'm not connected to the internet?" This question is something I ask about every program I use so this was not something I neglected when thinking this up. All the decryption keys will be held by the DRM software on your device, when it sends that query to the copyright holder's server it is not asking for the decryption key, it is asking for permission to use that decryption key. I don't think it is necessary to send that query every time the user wants to open one of these files, instead I think the program should only have to do this once for each file every 30 days or so. If this were to be the case the user would only have to connect to the internet once every 30 days.

Handling things this way would also protect the privacy of users. If the ownership of these files had to be validated every time they were used then the individual copyright holders of these pieces of media would be able to know how frequently you personally viewed their content. If it only has to be validated once a month they would not be able to tell if you viewed it only once in the month or one hundred times throughout the month.

Sharing and selling

I mentioned before that services like Amazon Prime don't allow you to lend, sell or give things to friends. If you bought a digital copy of the Princess Bride that movie is eternally bound to your Amazon account, you can't give it to someone else like you would be able to if you had a DVD copy. It would be great if licenses for digital media could be transferable between friends, or if there were some feature that would allow you to let a friend use your license for a set period of time either defined by the copyright holder or by you the user. A user would simply have to find the correct encrypted file to give them and their DRM software could handle the decryption with your permission.

Users should also have the ability to give their copy of a piece of digital media over to another person like they would if it were a physical object. In this case the user would loose access to that piece of media but the same is true when you give an object to somebody else. If this were possible then you could sell the digital media you have purchased, as far as I know this is not possible for anyone to do (well legally at least). Do you really own something that you aren't allowed to sell.

End of copyright

Another question that should be asked is whether or not the files should remain encrypted forever. I don't think so. The moment the copyright ends on any piece of digital media I think it should be available to everyone. If the kind of DRM software I am proposing ever comes to be it should permanently decrypt any of the files it governs so that users may be free to use, modify, and share it just like any other normal file on their computer. I also think that if a copyright holder wishes they can forfeit their copyright through this system which would have the same effect as the copyright coming to a conclusion would.

The end goal

Of course this proposal is not perfect, it has its flaws and there are still questions left to be answered but that doesn't mean they can't be. The ultimate goal here is to eliminate the need for middlemen and other third parties when it comes to purchasing digital media. If a system like this existed creators would not have to share a cut of their sales with companies like Amazon who had nothing to do with the creation of their product. How much more willing are you to buy a piece of art if you know that 100% of your purchase will be going to compensate the artist for their work? How much more art would be out there if artists did not have to jump through the hoops of third parties in order to get their art to the public? How is it that more people aren't talking about this sort of idea to empower creatives?

If it is possible for an individual to produce digital content without outside help, why are they forced to sell it with outside help?


* Steam is an example where the middleman provides a service that the supplier can't easily give the consumer by themselves. There are good reasons for video game developers to publish on Steam rather than self-publish. As I hope should be clear this is not the case with third-party publishers of any other form of digital media.