The better-than-open-source pledge

The choice of the license (free, open, or other) under which a piece of software is released is up to its copyright owner. But there is nothing that prevents a licensee to go beyond what was asked by the licensor.

A long time ago I was involved in discussions with a device vendor and my main requirement, as the person who had to make it work with our software, was to get the firmware source code under a license that would permit us to modify it and to install it in the devices that will be used by our customers. That seems the most obvious thing in the world: If there is a bug in the firmware, I want to be able to fix it immediately and under my own responsibility. Even if I was clear that the license I wanted would not permit any form of redistribution outside the devices that would have been paid for, this request was rejected. I never knew the real reasons but in my experience there is two main reasons companies refuse to share their code source: They do not own it in the first place, or they are ashamed of showing the source code to other developers.

Anyway, I still firmly believe that it should be illegal to sell a device without the source code under the kind of very restrictive license described above (an emulator should also be provided by the vendor, but that will be a discussion for another post). Now that I am working on my own device(see the Nephelion Project for more details), I plan to put my money where my mouth is and release all the source code under such licensing terms, so my future customers can do with it exactly what I want to do with the devices I buy. The closest license I could find is the AGPL3, so this is what I will be using.

As a producer of software, I highly value my own work, so if on the one hand I want my customers to be able to fix bugs and customize the software to their needs, on the other hand I still want some kind of payment for my work on the software. The AGPL3 license provides this as a form of “pay it forward” by forcing anybody that modified my software, for any reason, to publicly release these modifications under the same licensing terms.

Open Source licenses (as opposed to Free Software license) do not force this sharing. This is why consumers of software like these licenses – as consumers of software, we undervalue them because we do not want to spend any money or effort on it – or let investors know that we did not really write any new software.

What I think is wrong with this is that I should not ask others to release their modifications to my software and at the same time do not release my own modifications to software I use. As I said at the beginning, the license is the choice of the copyright owner, and only the copyright owner, and I am not saying that they should change this choice. But there is absolutely nothing that prevents me to treat a software released under an open source license as if it was released under a free software license, i.e. to publicly publish my modifications even if there is nothing in the license that force me to do so.

And this is why I pledge that, for any software that I will release under any FOSS license, I will treat all the modifications I made to all the dependent software used by that software as if they were licensed under the AGPL3 license, and release them publicly under a license that is compatible with the license of the dependent software.