The Powerbase: The lack of developer interest played a big part in your rethinking of how you license your source code. You came up with a whole new way of licensing and monetizing your projects which you’ve deemed “Fairware”. Can you explain how Fairware works, and how it’s different than something like the basic donation model?
Virgil: Fairware is nothing more than an informal “social contract” between developers and users (at the licensing level, it’s your typical open source license). The contract is that developers produce open source software that users use, but these developers expect to be compensated for this development time. They choose an hourly rate (mine is 35$) and count every hour they spend developing the app. Each contribution from users is allocated to a developer time log. If all hours are compensated, nobody is expected to contribute anything.
For this social contract to work, users need real time information telling them how many hours have been invested and how much money the project has received. This is what I’ve done with http://open.hardcoded.net.
Additionally, the user needs to be aware of that social contract so there’s a reminder popping up at the app startup telling him about Fairware. This reminder is only active when there’s hours that still have to be compensated. Also a registration key is given to contributors so that they can disable reminders even when there are still hours to compensate (after all, they’ve already contributed).
With the typical donation model, such a contract is unclear and even if the user wanted to follow that contract, the information that is needed to do so is lacking.
The Powerbase: Do you really think one of the main reasons other open source projects struggle to get donations is simply because the end user is unsure as to an appropriate amount to donate, or where there donation will actually end up?
Virgil: Partly, but not exclusively. The main problem I think is that many, too many people see “open source” as a synonym for “free stuff” and that is why a clear contract is needed for donations to be sufficient. Open source projects that desire donations should make their contract clearer.
The Powerbase: If Fairware works based on paying the developer for the hours invested in an application, what happens when all the hours have been paid? Are projects that don’t see constant development, such as those who have already reached maturity, a good fit for this concept?
Virgil: When all development hours are compensated, nobody is asked to contribute and there’s no in-app Fairware reminder. Because Fairware is open source and thus is not about charging user for using the app, but rather to charge for development time, it doesn’t make sense to continue asking for money when all development time is compensated.
If a project has already reached a point where further investments in development time are expected to be trivial, it might indeed not be a good idea to adopt Fairware. However, even a mature app can require a significant amount of maintenance. The time that has to be invested in maintenance could be enough to warrant a conversion to Fairware.
The Powerbase: When your applications start up, they show a popup briefly explaining the Fairware concept. Do you ever worry this is too obtrusive and might put off users? Have their been complaints?
Virgil: This has actually been a problem in the first year of Fairware. People would download dupeGuru at a time when all hours were compensated, so they thought it was free (as in beer). Then, I would upload new timelogs so these same users would start to see the Fairware reminder. They would be confused and send me emails telling me to stop begging them for money. This situation was definitely problematic.
I eventually realized that many (if not most) people are absolutely not interested in reading about open source or intellectual property, they just want to use the app. They’re never going to read your social contract and they’re never going to care. At first I was a bit sad, but then I thought that hey, it’s to be expected. People don’t download dupeGuru to learn about open source, they do it to delete dupes. It’s unfair of me to force this contract on them.
Thus, I introduced “dual mode” Fairware. Users don’t care about the Fairware social contract? We can simply offer them an alternative contract, one that they’re familiar with, the closed source contract: You can try the app for free, but there are demo limitations unless you pay for the software.
That closed source contract is the initial mode the app is in. The demo reminder tells the usual demo notice stuff you’ll see in any closed source app, except it mentions Fairware with a button leading to more information. There, the user who bothers reading the text will learn that he can enable the classic Fairware mode by typing “fairware” in the registration dialog.
You know what? More than half of my contributions are of the “closed” type, and I’m OK with that. Whether they care or not, they still fund open source development and I don’t get confused emails anymore. I call that “having your cake and eating it too”.
The Powerbase: Overall, how has the experience been so far? Are you ready to claim Fairware a success?
Virgil: It was a rather smooth sailing. Before “dual mode”, revenues were slightly less than before when there were hours to pay and nothing (which is normal) when hours were paid off. What I didn’t expect is that during the period where dupeGuru was free as in beer (no reminders), I’ve got a lot of free publicity. The result of that is that when dual mode was introduced, I got such a big boost in contributions that revenues were significantly up compared to the closed source era. Now I’m stuck with a big surplus in the dupeGuru project and I’m not sure what to do with it.
At least in the type of software I produce (wide audience generic software not targeted at businesses), I’d definitely call that a success, especially since the “dual mode” thing.
Of course, it’s not magical either, so it’s not going to cause an unsuccessful software to become successful. That’s why dupeGuru was a good test because I already knew that it was successful. Now we know that a project can earn money despite being open source.